Как сгенерить карту, тобто землю, воду, леса, поля и т.д.
- From
- Boris Rudakov (2:5054/9.4)
- To
- Alexander Moroz (2:4635/44.44)
- Date
- 2000-02-27T12:52:13Z
- Area
- RU.ALGORITHMS
Hello Alexander!
24 Feb 00 16:07, Alexander Moroz wrote to Boris Rudakov:
AM> Привет Boris!
AM> 23 Фев 00 10:22, Boris Rudakov -> Sergey Andrianov:
AT>>>> Алгоритм подскажите, может есть какой !
SA>>> Насколько я понимаю, карта - это двумерный массив, ячейки
SA>>> которого могут принимать одно из заданного набора значений
SA>>> (земля, вода, леса, поля...). Сначала следует задать
SA>>> процентное соотношение между землей, водой... Затем при помощи
SA>>> датчика случайных чисел вычислить для каждой точки
SA>>> соответствующий ей тип ландшафта.
BR>> Слишком грубый алгоритм.
AM> трёхмерный массив будет сглаживать даный алгоритм...
Все-равно грубо. Чем больше я думаю, тем тверже прихожу к мнению что ландшафты (да и вообще многие естественные образования) надо генерировать фрактальными шумовыми функциями. Лучшее что сейчас есть - Perlin Noise (не зря же Кен огреб за нее столько наград, включая Оскара) и разные вариации на ее базе.
Очень рекоммендую сходить к нему на сайт http://mrl.nyu.edu/perlin
а так же на http://freespace.virgin.net/hugo.elias/models/m_perlin.htm - достаточно исчерпывающее объяснение алгоритма.
И очень рекоммендую ознакомиться с алгоритмами, используемыми в процедурных текстурах, например в 3DStudioMAX SDK и POVray (идет в исходниках - www.povray.org) всякие там Agate, Granit и иже - много интересных идей получишь.
AM> -+- Alex Fr0st aKa 2:4635/44.44, e-mail: Fr0$T@chat.ru, ICQ: 64697711
Boris Rudakov, Тостующий пьет до дна !
BBR
--- Be happy: BBR is looking at you !
* Origin: АлкАголь малыми дозами безвреден в любых количествах (2:5054/9.4)