Как сгенерить карту, тобто землю, воду, леса, поля и т.д.

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)