Со страницы XFillPolygon
для XFillPolygon
:
Если
shape
сложная, путь может пересекаться сам. Обратите внимание, что смежные совпадающие точки на пути не рассматриваются как самопересечение.Если
shape
выпуклая, для каждой пары точек внутри многоугольника отрезок, соединяющий их, не пересекает траекторию. Если это известно клиенту, указание выпуклости может повысить производительность. Если вы укажете Выпуклый путь, который не является выпуклым, графические результаты будут неопределенными.Если
shape
невыпуклая, путь не пересекается сам по себе, но форма не является полностью выпуклой. Если это известно клиенту, указание невыпуклых вместо сложных может повысить производительность. Если вы укажете Nonconvex для самопересекающегося пути, графические результаты будут неопределенными.
У меня проблемы с производительностью заполнения XFillPolygon
и, как подсказывает XFillPolygon
страница, первый шаг, который я хочу сделать, - указать правильную форму многоугольника. Я в настоящее время использую Комплекс, чтобы быть на безопасной стороне.
Существует ли эффективный алгоритм для определения того, является ли многоугольник (определяемый серией координат) выпуклым, невыпуклым или сложным?