- Сообщения
- 588
- Реакции
- 4
Есть операция преобразования абриса в объект. Задача заключается в обратном преобразовании объекта в абрис. На входе - замкнутые кривые, некоторые из которых по форме идентичны или почти идентичны толстой изогнутой линии. Вот такие кривые нужно преобразовать в абрис. Кривые, не похожие на линию, - не трогаем.
Решение в лоб - ручное (т.е. в смысле кодом) выявление параллельных рёбер, расстояний между ними, углов... Но это как-то трудоёмко. Пока не влез в дебри: может, есть способы попроще ?
При растрировании и трассировке получаем всегда объект, обводку здесь не получить.
Можно вычислить одну из сторон (последовательность рёбер) объекта, затем вдоль неё построить обводку, оставить половину её толщины, преобразовать в объект, найти пересечение с исходным объектом и сравнить площади (если почти равны, заменяем исходный объект этой полуобводкой-объектом). Этот вариант уже проще. Может, можно ещё проще ?
Решение в лоб - ручное (т.е. в смысле кодом) выявление параллельных рёбер, расстояний между ними, углов... Но это как-то трудоёмко. Пока не влез в дебри: может, есть способы попроще ?
При растрировании и трассировке получаем всегда объект, обводку здесь не получить.
Можно вычислить одну из сторон (последовательность рёбер) объекта, затем вдоль неё построить обводку, оставить половину её толщины, преобразовать в объект, найти пересечение с исходным объектом и сравнить площади (если почти равны, заменяем исходный объект этой полуобводкой-объектом). Этот вариант уже проще. Может, можно ещё проще ?