Показать сообщение отдельно
  #2  
Старый 06.01.2016, 18:37
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну, если многоугольник выпуклый, то можно расчитать радиус (и координаты центра) вписанной в него окружности и, таким образом, гарантированно сгенерировать точку внутри многоугольника. Для невыпуклого многоугольника такой вариант тоже прошел бы, но там сложнее найти эту окружность.

А в общем случае да, надо генерить точку и проверять ее на принадлежность многоугольнику. Т.О. получится лучшее покрытие по площади. Единственное, можно ограничить координаты генерации от Xmin до Xmax и Ymin до Ymax.
Ответить с цитированием