![]() |
|
![]() ![]() ![]() |
|
<Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: нет Всего: 64 |
Возникла такая задачка - создавать фигуры со случаяными границами и с одинаковой площадью. И чтобы при этом вновь созданная фигура прилегала к каким либо уже существующим фигурам по их границам. Желательно, чтобы граница фигур не была угольной, т.е. была кривой линией. Подскажит плз с какой стороны начать копать. Заранее спасибо.
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
TaTaP |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 15.10.2002 Репутация: нет Всего: 1 |
Начнем с того, что на экране компьтера площадь любой фигуры >= 0 и если площадь измерять в пикселях - целая величина. Тогда если имеется какая-то максимальная величина площади фигуры, переводи эту величину в количество пикселей, которое займет на экране фигура. Потом бери точку на экране и начинай расползатся случайным образом в разные стороны от исходной точки, суммируя занимаемые пиксели. Как только наберешь нужное количество пикселей, то получишь фигуру одной плошади и случайной границей.
Недостатки: 1) при большой площади алгоритм займет нехилое время и 2) граница фигуры напрямую зависит от того, насколько "случаен" процесс расползания. Но это, так, решение, которое первое пришло в голову за минуту, нужно, конечно, его улучшать, но если очень надо, то пойдет... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |