Форум
Алгоритмы
Тема
Как правильно задавать вопросы
B
I
abc
U
X
3
X
3
H1
H2
H3
H4
H5
H6
Asm
C/C++
C#
Erlang
Haskell
IDL
Java
Lisp
MSIL
Nemerle
ObjC
OCaml
Pascal
Perl
PHP
Prolog
Python
Ruby
Rust
SQL
VB
Здравствуйте, watchmaker, Вы писали: W>Здравствуйте, Stanislav V. Zudin, Вы писали: SVZ>>Самопересечения, выходы вырезов за пределы родительского контура лучше прибивать еще на подходе. Они ни в какой алгоритм не укладываются. W>Это преувеличение, есть хорошие алгоритмы и для таких полигонов. A>>>Я понимаю, что ты взял решение из учебника, но вот такие нынче учебники SVZ>>В 80-х были те же [url=https://www.ozon.ru/context/detail/id/32131272/]учебники[/url] (кстати, рекомендую). W>А в моём учебнике была примерно такая картинка: W>[url=http://files.rsdn.org/96932/polygon_tesselation_winding.gif]Image: polygon_tesselation_winding.gif[/url] W>И там же объяснялось, что, в зависимости от предметной области, можно выбрать то или иное определение «внутренности контура». Ну то есть делать как удобно, и что нет единственного верного и универсального определения. SVZ>>Решение с лучом годное. Быстрое и работает с невыпуклыми полигонами. W>И при этом оно легко модифицируется в функцию, считающую весь [url=https://en.wikipedia.org/wiki/Nonzero-rule]winding number[/url], а не только остаток от его деления на 2. Тогда случай с самопересечением уже не предоставляет таких проблем — просто выбирай подходящее правило из вышеприведённой картинки и используй его.
Теги:
Введите теги разделенные пробелами. Обрамляйте в кавычки словосочетания с пробелами внутри, например:
"Visual Studio" .NET
Имя, пароль:
Загрузить
Нравится наш сайт?
Помогите его развитию!
Отключить смайлики
Получать ответы по e-mail
Проверить правописание
Параметры проверки …