![]() |
|
![]() ![]() ![]() |
|
zim22 |
|
|||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: нет Всего: 69 |
Здравствуйте.
Я пишу игру и возникла необходимость расставлять облака на уровне. Облака друг на друга налазить не должны. Облака могут быть разных форм, но все они трактуются на уровне исходного кода как прямоугольники. На рисунке я привел два примера идеального расставления облаков (с точки зрения моего визуального восприятия). Синим цветом выделен экран, который виден пользователю, желтым цветом - область, в которую игрок попадет если переместится туда. Алгоритм должен иметь возможность принимать такие параметры: 1) Для верхнего рисунка кол-во облаков на экране = 8 минимальное расстояние между облаками = 5 см максимальное расстояние между облаками = 10 см 2) Для нижнего рисунка кол-во облаков на экране = 5 минимальное расстояние между облаками = 2 см максимальное расстояние между облаками = 10 см У меня сейчас есть алгоритм, который расставляет облака - но он слишком долго работает и расставляет их некрасиво. Если интересно - вот алгоритм (на примере для верхнего рисунка) 1) Рандомно поставить в прямоугольной области (размером синего цвета) одну точку 2) Отобразить в этой точке одно облако, если оно не пересекается с другими 3) Повторять пункт 1 пока не будет расставлено 8 облаков ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |