Я пытаюсь разработать метод генерации случайных 2D выпуклых многоугольников. Он должен иметь следующие свойства:
- координаты должны быть целыми числами;
- многоугольник должен лежать внутри квадрата с углами (0, 0) и (C, C), где C задано:
- многоугольник должен иметь число вершин, близких к заданному числу N.
Например, генерируем случайные полигоны, которые имеют 10 вершин и лежат внутри квадрата [0..100] x [0..100].
Что затрудняет эту задачу, так это то, что координаты должны быть целыми числами.
Подход, который я пытался, заключался в том, чтобы создать случайный набор точек в данном квадрате и вычислить выпуклую оболочку этих точек. Но результирующая выпуклая оболочка имеет очень мало вершин по сравнению с N.
Любые идеи?