← 🌿 Nature

🏔️ Terrain

Colour mode
Seed
Water %
Land %
Mountain %
Deep sea
Shallow
Coast
Grass
Forest
Mountain
Snow peak
Scroll to zoom · Drag to pan · Generate a new seed with ⚡

Про генерацію процедурного рельєфу

Ця симуляція будує нескінченний ландшафт на основі дробового броунівського руху (fBm): кілька октав плавного шуму значень підсумовуються, кожна з вищою частотою та меншою амплітудою, ніж попередня. Хеш із заданим зерном розміщує псевдовипадкові висоти на сітці, які потім інтерполюються за методом smoothstep у неперервну карту висот. Отриманий сигнал нормалізується до діапазону 0–1 і відображається як карта зверху вниз із кольоровим підсвічуванням і тінюванням схилів.

Повзунки керують шумом: Масштаб задає базовий розмір об'єктів, Октави — кількість шарів шуму, Стійкість — як швидко спадає амплітуда, а Лакунарність — як швидко зростає частота. Рівень моря відділяє воду від суші, а необов'язковий прохід гідравлічної ерозії на основі крапель вирізає долини. Та сама математика лежить в основі рельєфу в іграх на кшталт Minecraft і No Man's Sky, а також синтетичних ландшафтів у кіно та ГІС.

Поширені запитання

Що таке процедурна генерація рельєфу?

Це створення ландшафтів за допомогою алгоритму, а не вручну. Замість збереження фіксованої карти математична функція шуму повертає висоту для будь-якої координати, тому з одного числа-зерна можна отримати нескінченний і відтворюваний світ. Ця сторінка відображає таку висоту у вигляді карти з кольоровим кодуванням зверху вниз.

Що таке дробовий броунівський рух (fBm)?

fBm підсумовує кілька шарів шуму, що називаються октавами. Кожна октава дискретизується на вищій частоті та додається з меншою амплітудою, тому перші октави утворюють широкі гори й долини, а наступні додають дрібну шорсткість. Результат — природний, самоподібний вигляд, притаманний реальному рельєфу на різних масштабах.

Чи справді тут використовується шум Перліна?

Сторінка орієнтована на шум Перліна, але код реалізує шум значень: хеш призначає випадкову висоту кожній цілочисельній точці сітки, і ці значення інтерполюються. Справжній шум Перліна натомість інтерполює градієнти. Обидва підходи дають схожі fBm-ландшафти; шум значень простіший і має дещо більш «блоковий» характер.

За що відповідають Октави, Стійкість і Лакунарність?

Октави (1–10) — це кількість накладених шарів шуму. Стійкість (0,1–1,0) — коефіцієнт, на який амплітуда зменшується з кожною октавою, що визначає шорсткість чи гладкість. Лакунарність (1,0–3,0) — коефіцієнт зростання частоти кожної октави, що визначає ступінь деталізації. Стандартні значення: 7, 0,50 і 2,0.

Як працює регулятор рівня моря?

Рівень моря (0–60%) — це поріг нормалізованої висоти. Будь-яка клітинка нижче нього зафарбовується як вода, з глибшими відтінками синього на менших висотах, а панель відображає відсотки Води, Суші та Гір. Підняття повзунка затоплює карту; опускання відкриває більше узбережжя та рівнин.

Які є три режими кольорів?

Біоми відображають діапазони висот у глибокий океан, мілководдя, піщане узбережжя, луки, ліс, скелясте нагір'я та сніжні вершини. Градієнт висот затіняє суто за рівнем підйому. Тінювання схилів забарвлює клітинки сірим залежно від крутизни місцевого градієнта, підкреслюючи скелі та гребені. Усі режими також отримують тонке тінювання схилів, крім водних ділянок.

Як працює гідравлічна ерозія?

Кожен прохід ерозії випускає приблизно 500 віртуальних краплин води в довільних точках. Краплина тече вниз за місцевим градієнтом до 80 кроків, підхоплюючи осад там, де є вільна ємність, і відкладаючи його там, де сповільнюється, поступово вирізаючи долини та вирівнюючи схили. Більше проходів дає глибше, більш схоже на річкове, розмивання.

Що робить кнопка «Анімація»?

Анімація поступово збільшує горизонтальне зміщення, що додається до координат шуму з кожним кадром, тому ландшафт ніби безперервно прокручується, зберігаючи своє зерно. Це швидкий спосіб переглянути нескінченну природу рельєфу без перетягування. Повторне натискання зупиняє рух.

Чи є рельєф фізично точним?

Це переконлива апроксимація, а не геологічна модель. fBm відтворює фрактальну шорсткість реальної місцевості, а крапельна ерозія імітує перенесення ґрунту водою, але тектоніки, клімату та шаруватості порід немає. Симуляція призначена для візуального реалізму та знайомства з концепціями, а не для точних геодезичних прогнозів.

Чому кожне нове зерно дає абсолютно інший вигляд?

Зерно — це випадкове ціле число, що подається до хешу, який генерує сітку шуму. Його зміна переміщує кожне випадкове значення висоти, тому весь ландшафт будується з нуля. Те саме зерно з тими самими налаштуваннями завжди відтворює ідентичну карту, саме тому процедурні світи є одночасно нескінченними й відтворюваними.

Чи можна зберегти згенерований ландшафт?

Так. Кнопка «Зберегти PNG» експортує поточний полотно у вигляді зображення з іменем активного зерна, захоплюючи саме те, що ви бачите, включно з обраним режимом кольорів, рівнем моря та ерозією. Перед експортом можна також перетягнути карту та прокрутити коліщатко миші, щоб наблизитися до певної ділянки.

🏔️ Процедурний Рельєф — Шум Перліна

Генерує нескінченний тривимірний ландшафт у реальному часі за допомогою дробово-броунівського руху (fBm) на основі шуму Перліна. Змінюйте параметри і створюйте гори, острови, рівнини.

🔬 Що демонструє

Шум Перліна — плавна псевдовипадкова функція. Шари (октави) з різними частотами і амплітудами складаються для детальних форм рельєфу (fBm). Більше октав = детальніший і правдоподібніший рельєф.

🎮 Як використовувати

Регулюйте кількість октав, лакунарність і стійкість. Змінюйте «seed» для нових ландшафтів. Вмикайте кольорове кодування висоти і тіні для реалістичного вигляду.

💡 Чи знали ви?

NASA використовує той самий алгоритм fBm для генерації моделей поверхні планет. Hello Games (No Man's Sky) ним створює 18 квінтильйонів унікальних планет — з декількох математичних рівнянь.