В поле WxH хочется создать N-угольник случайной формы. Без «дырок», без «островов», без взаимопересечений граней.
- Первая мысль: просто накидать случайных точек и соединить в порядке генерации. Часто получаются взаимопересечения.
- Вторая мысль: поделить поле на N равных секторов из центра. Очередную точку создавать в своём секторе. Получатся кривые колёса. Но ни одной формы, например, толстой буквы «С». Да и пересечения иногда возникают.
- Интуиция подсказывает, что нужно накидать случайных точек, построить триангуляцию Делоне, и выпилить некоторые из граней, так, чтобы не потерять связность и не насоздавать островов и озёр.
Наверное, в разработке игр это типовая задача при создании карт уровней. Как там создают фигуры непростой случайной формы с отсутствием дырок-островов?
Хочется, чтобы имела шанс появиться, например, такая форма:
Полезные ссылки из комментариев @myjcom