Изменения

Перейти к: навигация, поиск

Straight skeleton

155 байт убрано, 17:29, 4 декабря 2014
Нет описания правки
== Алгоритм с изпользованием SLAV ==
Далее будет описан алгоритм, придуманный Petr Felkel, который строит <tex> \mathrm{straight}\ \mathrm{skeleton} </tex> за время <tex> \mathcal{O}(nm + n \log n)</tex>, или просто <tex> \mathcal{O}(n^2)</tex>, где <tex> n </tex> {{---}} общее число вершин в полигоне, <tex> m </tex> {{---}} число вогнутых вершин в полигоне. Немного модифицированный этот алгоритм используется в открытой библиотеке вычислительной геометрии CGAL<ref>[http://cmpdoc.felkcgal.cvut.czorg/~xobdrzallatest/publicationsStraight_skeleton_2/bachelorthesisindex.html CGAL 4.pdf Stepan Obdrazalek, "The Angular bisector network Implementation 5 {{---}} 2D Straight Skeleton and the CGAL library"Polygon Offsetting]</ref>. Однако этот алгоритм всё равно ещё достаточно медленный. В реальной жизни используют его модификации или более сложные алгоритмы.
Сначала алгоритм будет рассмотрен на простом случае {{---}} выпуклом многоугольнике, {{---}} а потом на невыпуклом многоугольнике.
* [http://www.dma.fi.upm.es/mabellanas/tfcs/skeleton/html/documentacion/straight%20skeletons%20implementation.pdf Petr Felkel, Stepan Obdrazalek, "Straight Skeleton Implementation"]
* [http://twak.blogspot.ru/2009/05/engineering-weighted-straight-skeleton.html Engineering a weighted straight skeleton algorithm]
* [https://code.google.com/p/campskeleton/ Визуализатор алгоритма]* [http://doc.cgal.org/latest/Straight_skeleton_2/index.html CGAL 4.5 {{---}} 2D Straight Skeleton and Polygon Offsetting]
[[Категория: Вычислительная геометрия]]
[[Категория: Скалярное произведение и мера]]
[[Категория: Структуры данных]]

Навигация