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