Некорректное преобразование абриса в объект в Corel X3-X6

  • Автор темы Автор темы Cyrax
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Cyrax

Топикстартер
10 лет на форуме
Сообщения
588
Реакции
4
Прикрепил файл, в котором имееются 2 белые заливки. Первая заливка - сплошная, вторая имеет реверсный участок.
Можно ли алгоритмически выявить нижнюю заливку (у которой имеется реверсный участок) ?

При этом сравнивать число узлов и число фрагментов (subpath'ов) не следует, т.к. в общем случае число узлов и фрагментов у заливки с реверсом может быть больше, чем у заливки без реверсов, а может быть и меньше, чем у заливки без реверсов.
 

Вложения

Ответ: Программное выявление реверсной заливки

Что по-вашему, есть "реверсный участок"? Направление обхода субконтура против основного контура?
 
Ответ: Программное выявление реверсной заливки

Когда один из фрагментов пересекает другие фрагменты, то в месте пересечения их областей заполнения получаем "бублик". Вот такой бублик и имею ввиду.
А по поводу "направление обхода субконтура против основного контура" - как вы определяете основной контур ?

Похоже, причина там не в "бублике", а в инверсном направлении фрагмента.
 
Ответ: Программное выявление реверсной заливки

Что вы хотите получить в итоге? Потенциально опасные в плане заливки объекты? Так, тогда вам нужно искать не пересекающиеся субконтуры, а именно объекты с разными направлениями обхода субконтуров (как вы их называете "бублики") Эта тема уже обсуждалась и тут и на cdrpro. Без разницы, какой контур основной.
 
Ответ: Программное выявление реверсной заливки

Что вы хотите получить в итоге? Потенциально опасные в плане заливки объекты?
Вот здесь описана проблема: http://forum.rudtp.ru/showthread.php?t=53604&p=624759
В Corel X3 при преобразовании абрисов в объект некоторые полученные объекты-абрисы имеют сабжевые "провалы" в заливке. Это касается и абрисов кривых, и абрисов текста.

В вышеуказанной теме в качестве "методов" решения проблемы были указаны предварительное изменение направления кривой, предварительное присваивание наконечников, предварительный поворот объекта, отражение. Опытным путём убедился, что все эти операции помогают не во всех случаях.
Что касается изменения направления кривой, то если предварительно поменять направление кривой, то после преобразования абриса в объект "провал" в заливке может появиться уже в другом месте результирующего объекта-абриса.

Эта тема уже обсуждалась и тут и на cdrpro.
Только та ли самая проблема обсуждалась ?
По приведённой вами ссылке на cdrpro приведён пример логотипа. При комбинировании объектов в один объект наблюдается сплошная заливка. Проблема устраняется одним из следующих способов:
а) предварительное изменение направления внешней кривой
б) изменение способа заливки результрующего объекта с Winding на Alternate.

В моём же случае не помогает ни предварительное изменение направления кривой (как уже описал выше), ни манипуляции с типом заливки. Все объекты, абрис которых я преобразовываю в отдельный объект, имеют тип заливки Winding. После преобразования получаем 2 объекта (shape'а), каждый из которых тоже имеет тип заливки Winding. Изменение типа заливки на Alternete у результрующего объекта-абриса сабжевую проблему не решает.
Если же тип заливки поменять на Alternate у исходного объекта (до преобразования), то также получаем 2 объекта с типом заливки Winding. При этог "провал" в заливке также сохраняется. Если теперь преобразовать результирующий объект-заливку в Alternate, то проблема также сохраняется.
Т.е. никакие манипуляции с типами заливок не устраняют проблему при преобразовании абриса в объект.
 
Ответ: Программное выявление реверсной заливки

Вот хороший пример:
 

Вложения

Ответ: Программное выявление реверсной заливки

Ааа!!!
Так это вообще проблема другого рода - и направление контура и метод заливки тут ни при чем. Вам же прямо в теме сказали - это глюк X3 корела, в X4 и X5 все нормально.
 
Ответ: Программное выявление реверсной заливки

Это древний кореловский глюк. Сейчас, да, встречается намного реже. Поправили по-ходу. Кривая бьется в некоторых местах. В своё время забаненный Жест (Смук) выкладывал скрипт чтоб join-ить эти отрезки. Скрипт был закрытый, да и малоактуален теперь.
 
Ответ: Программное выявление реверсной заливки

И связан этот глюк вовсе не с контурами, а со свойством Angle в Calligraphy обводки. Поставьте там 0 - все будет конвертироваться превосходно. Я думаю, глюк этот сразу не пофиксили, потому как мало извращенцев задают букве обводку с овальным шейпом stretch 80% и углом в -61.3 градуса ;)
Кривая бьется в некоторых местах.
Не-не-не! Тут совсем другое! Это именно в шейпе дело. По моему даже в X3 поздними апдейтами пофиксили.
 
Ответ: Программное выявление реверсной заливки

Обратите внимание на приложенный пример - там обычная буква "a", все субконтура слитные и с нормальным направлением. А попробуйте задать обводке этот извращенческий шейп и посмотрите как она рассыпется при преобразовании в объект. Хотя в X5 все переводится нормально.
 
Ответ: Программное выявление реверсной заливки

Проблема вылазила без всякого изменения шейпа. Это абсолютно точно. И справлялись с ней ручным джоинтами.
 
Ответ: Программное выявление реверсной заливки

Это была ДРУГАЯ проблема ;)
 
Ответ: Программное выявление реверсной заливки

Если оно ходит как утка, плавает как утка и крякает как утка -- значит это утка.
 
Ответ: Программное выявление реверсной заливки

Вы пример откройте приложенный и проделайте все что я говорю. А то я вам Стругацких процитирую про Бабкина-Машкина. '))'
 
Ответ: Программное выявление реверсной заливки

Я древних версий не держу. Я даже сразу двух версий не держу. Я с этим глюком сталкивался много раз.
 
Ответ: Программное выявление реверсной заливки

Ну откройте пример своей версией и убедитесь что преобразуется нормально. '))'
А никаких дефектов в кривой там нет - повторяю, там стандартная буква "a"
 
Ответ: Программное выявление реверсной заливки

Я, честно говоря, не понимаю, о чём речь.
Старый глюк. Его пофиксили. Проявлялся без всякого изменения шейпа. Чего еще?
 
Ответ: Программное выявление реверсной заливки

Тот старый глюк, который пофиксили, никакого отношения к данному топику не имеет. Поверьте мне, это топикстартер все напутал и себе напридумывал. Я вообще не представляю, о чем вы вообще спорите если (с ваших же слов) вы проблему не видите и она у вас не воспроизводится???
 
Ответ: Программное выявление реверсной заливки

Тот глюк имеет прямое отношение к этой и этой теме
 
Статус
Закрыто для дальнейших ответов.