🏔️ Teren proceduralny
Szum wartościowy typu fraktalny ruch Browna (fBm) generuje nieskończone mapy wysokości z kolorami biomów, cieniowaniem zboczy i opcjonalną erozją wodną. Przesuwaj, przybliżaj, animuj, eksportuj PNG.
Podobne symulacje
O generowaniu terenu proceduralnego
Ta symulacja buduje nieskończony krajobraz za pomocą fraktalnego ruchu Browna (fBm): sumowanych jest kilka oktaw gładkiego szumu wartościowego, z których każda ma wyższą częstotliwość i mniejszą amplitudę niż poprzednia. Zaszyfrowany (seedowany) hash liczb całkowitych umieszcza pseudolosowe wysokości na siatce, które są interpolowane funkcją smoothstep w ciągłą mapę wysokości. Połączony sygnał jest normalizowany do zakresu 0–1 i renderowany jako mapa widziana z góry, z kolorem i cieniowaniem zboczy.
Suwaki sterują szumem: Skala ustala rozmiar bazowych cech terenu, Oktawy — ile warstw szumu jest sumowanych, Trwałość (Persistence) — jak szybko zanika amplituda, a Częstość (Lacunarity) — jak szybko rośnie częstotliwość. Poziom morza wyznacza próg między wodą a lądem, a opcjonalny przebieg erozji wodnej oparty na kroplach żłobi doliny. Ta sama matematyka napędza teren w grach takich jak Minecraft i No Man's Sky i stanowi podstawę syntetycznych krajobrazów w filmie i systemach GIS.
Najczęściej zadawane pytania
Czym jest proceduralne generowanie terenu?
To tworzenie krajobrazów za pomocą algorytmu, a nie ręcznie. Zamiast przechowywać stałą mapę, matematyczna funkcja szumu zwraca wysokość dla dowolnych współrzędnych, dzięki czemu z jednej liczby-ziarna (seed) można wygenerować niekończący się, powtarzalny świat. Ta strona rysuje tę wysokość jako mapę widzianą z góry, w kolorach odpowiadających wysokości.
Czym jest fraktalny ruch Browna (fBm)?
fBm sumuje kilka warstw szumu zwanych oktawami. Każda oktawa jest próbkowana z wyższą częstotliwością i dodawana z mniejszą amplitudą, więc pierwsze oktawy tworzą rozległe góry i doliny, a kolejne dodają drobną chropowatość. Rezultatem jest naturalny, samopodobny wygląd, jaki prawdziwy teren ma w różnych skalach.
Czy naprawdę wykorzystywany jest szum Perlina?
Strona jest tematycznie związana z szumem Perlina, ale kod implementuje szum wartościowy: hash przypisuje losową wysokość każdemu punktowi siatki o współrzędnych całkowitych, a te wartości są interpolowane. Prawdziwy szum Perlina interpoluje zamiast tego gradienty. Oba dają podobne krajobrazy fBm; szum wartościowy jest prostszy i nieco bardziej „kanciasty” w charakterze.
Co robią Oktawy, Trwałość i Częstość?
Oktawy (1–10) to liczba nałożonych na siebie warstw szumu. Trwałość (0,1–1,0) to współczynnik, o jaki amplituda maleje w każdej oktawie, kontrolujący chropowatość względem gładkości. Częstość (1,0–3,0) to współczynnik, o jaki rośnie częstotliwość w każdej oktawie, kontrolujący ilość drobnych detali. Wartości domyślne to 7, 0,50 i 2,0.
Jak działa suwak Poziom morza?
Poziom morza (0–60%) to próg na znormalizowanej wysokości. Każda komórka poniżej niego jest malowana jako woda, z ciemniejszym błękitem przy niższych wysokościach, a panel podaje wynikowe procenty Wody, Lądu i Gór. Podniesienie suwaka zatapia mapę; obniżenie odsłania więcej wybrzeża i równin.
Czym są trzy tryby koloru?
Biomy mapują pasma wysokości na głęboki ocean, płycizny, piaszczyste wybrzeże, trawę, las, skaliste wyżyny i ośnieżone szczyty. Gradient wysokości cieniuje wyłącznie na podstawie wysokości. Cieniowanie zboczy pokazuje komórki w odcieniach szarości w zależności od stromości lokalnego gradientu, uwypuklając klify i grzbiety. Wszystkie tryby otrzymują też subtelne cieniowanie zboczy, z wyjątkiem wody.
Jak działa opcja erozji wodnej?
Każdy przebieg erozji uwalnia około 500 wirtualnych kropli wody w losowych punktach. Kropla spływa w dół wzdłuż lokalnego gradientu przez maksymalnie 80 kroków, zbierając osad tam, gdzie ma wolną pojemność, i osadzając go tam, gdzie zwalnia, stopniowo żłobiąc doliny i wygładzając zbocza. Więcej przebiegów daje głębsze, bardziej rzeczne żłobienie.
Co robi przycisk Animuj?
Animuj powoli przesuwa poziome przesunięcie dodawane do współrzędnych szumu w każdej klatce, więc krajobraz wydaje się przewijać w sposób ciągły przy zachowaniu tego samego ziarna. To szybki sposób na podgląd nieskończonej natury terenu bez przeciągania. Ponowne kliknięcie zatrzymuje ruch.
Czy teren jest fizycznie dokładny?
To przekonujące przybliżenie, a nie model geologiczny. fBm oddaje fraktalną chropowatość prawdziwego terenu, a erozja kroplowa naśladuje transport wody, ale nie ma tu tektoniki, klimatu ani warstwowania skał. Jest przeznaczony do wizualnego realizmu i nauczania idei, a nie do prognoz na poziomie badań geodezyjnych.
Dlaczego każde nowe ziarno wygląda zupełnie inaczej?
Ziarno to losowa liczba całkowita podawana do hasha, który generuje siatkę szumu. Zmiana go przesuwa każdą losową wartość wysokości, więc cały krajobraz jest budowany od nowa. To samo ziarno z tymi samymi ustawieniami zawsze odtworzy identyczną mapę, dlatego proceduralne światy są zarazem nieskończone i powtarzalne.
Czy mogę zapisać wygenerowany krajobraz?
Tak. Przycisk Zapisz PNG eksportuje bieżące płótno jako obraz nazwany po aktywnym ziarnie, uchwycając dokładnie to, co widzisz, wraz z wybranym trybem koloru, poziomem morza i erozją. Możesz też przeciągać, aby przesuwać widok, i przewijać, aby przybliżyć wybrany obszar przed eksportem.
Fraktalny ruch Browna (fBm) z warstwowego szumu Perlina generuje nieskończone mapy wysokości z kolorami biomów, realistycznym cieniowaniem zboczy i opcjonalną erozją wodną. Przesuwaj, przybliżaj i eksploruj niekończące się krajobrazy.
🔬 Co pokazuje symulacja
Wiele oktaw szumu wartościowego jest sumowanych z malejącą amplitudą i rosnącą częstotliwością. Rezultatem jest naturalnie wyglądająca mapa wysokości z dużymi formami terenu i drobnymi detalami.
🎮 Jak korzystać
Przesuwaj widok terenu. Dostosuj liczbę oktaw, trwałość i częstość. Włącz erozję wodną, aby wyrzeźbić realistyczne doliny rzeczne. Eksportuj jako PNG.
💡 Czy wiesz, że?
Szum Perlina został wynaleziony przez Kena Perlina w 1983 roku na potrzeby filmu Tron. Zdobył Nagrodę Akademii Filmowej za osiągnięcia techniczne. Używa go każda gra wideo z proceduralnym terenem — od Minecrafta po No Man's Sky.