2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Алгоритм генерации непересекающихся многоугольников
Сообщение30.05.2010, 14:52 


25/04/09
6
Для создания тестов к другой геометрической задаче мне нужен алгоритм гереации огромного числа непересекающихся простых многоугольников (simple polygons) на ограниченной плоскости (экране). Например, чтобы по входным параметрам N, K генерировалось N многоугольников с K вершинами каждый, и чтобы они не накладывались один на другой. И желательно делать не только выпуклые многоугольники...
Никогда не встречал подобных алгоритмов и не знаю как подобраться к задаче. Делать перебором по типу "генерируем что-то, а потом проверяем не пересекает ли оно всё остальное" как-то не хочется.

 Профиль  
                  
 
 Re: Алгоритм генерации непересекающихся многоугольников
Сообщение30.05.2010, 15:56 
Заслуженный участник


04/05/09
4587
lonelyass в сообщении #325532 писал(а):
Делать перебором по типу "генерируем что-то, а потом проверяем не пересекает ли оно всё остальное" как-то не хочется.
Я думаю, ничего лучше нет. Надо только соптимизировать проверку пересечений.

 Профиль  
                  
 
 Re: Алгоритм генерации непересекающихся многоугольников
Сообщение01.06.2010, 02:52 
Заслуженный участник


26/07/09
1559
Алматы
Можно случайно поделить рабочую область на части, например рекурсивно деля её пополам или же строя диаграмму Вороного для случайно разбросанных точек...

Если необходимы в том числе и невыпуклые многоугольники, то некорые смежные из полученных областей следует случайным образом объединять, или, что тоже самое, случайно удалять некоторые отрезки...

Теперь достаточно каждый из полученных многоугольников слегка уменьшить (возможно со случайным коэффициентом масштабирования). А можно ещё что-нибудь с каждым многоугольником проделать, например поотсекать (поудалять) от него отдельные фрагменты... Примерно так...

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group