Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > триангуляция полигона с дырами


Автор: Гость_Игорь 16.6.2005, 15:38
Люди, просьба поделиться опытом. Нужен алгоритм для триангуляции поверхности с полигонами у которых есть дырки, или непересекаемые ломанные линии внутри.

Есть отработанный алгоритм Делоне для поверхности из точек, есть Ухорезка для полигонов тоже хорошо работает, но не с дырками.

Заранее спасибо.

Автор: ChofCh 17.6.2005, 02:49
http://algolist.manual.ru/maths/geom/polygon/decompose_seidel.php

Автор: Гость_Игорь 17.6.2005, 12:25
Да, спасибо, я это пробовал, там готовая DLL.

Как правило почти всегда встречается либо частичное описание, либо готовая DLL.

но хочется не этого, а хочется либо открытый код, либо детальное описание алгоритма, чтоб реализовть можно было потому как собираюсь немного переделывать.

всёравно спасибо.

Автор: Earnest 18.6.2005, 08:06
Есть книга: "Вычислительная геометрия и компьютерная графика на C++", Майкл Ласло. Издательство BINOM. Книга у меня уже несколько лет, поэтому не знаю, можно ли ее сейчас найти.
По-моему, книга замечательная, содержит очень доступное описание многих геометрических алгоритмов.
В частности, там описывается несколько алгоритмов триангуляции полигона, например, путем расщепления произвольного полигона на т.н. монотонные части, затем триангуляция каждого по отдельности.

Автор: Guest 20.6.2005, 13:46
Можно посмотреть в CGAL
(в районе http://www.cgal.org/Manual/doc_html/cgal_manual/Partition_2/Chapter_main.html)
в Wild Magic (в районе http://www.geometrictools.com/SourceCode.html)
и в FastGEO (в районе http://www.partow.net/projects/fastgeo/index.html)
Да и насколько я помню, у Manoche-Seidel всегда были исходники на сайте.
Еще кажется триангуляция произвольных поверхностей была в книге Аммералла (в одном из 4-х его томов). Не уверен, что для такого случая у него были готовые исходники, но алгоритм был, т.к. я такую триангуляцию написал после прочтения его. К сожалению, дело было очень давно, лет 12 назад, и поэтому исходники не сохранились.



Автор: Гость_Игорь 21.6.2005, 12:01
да, срасибо,
вот, нашёл вроде подходящую
http://www.codeproject.com/cpp/hgrd.asp

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)