This shows you the differences between two versions of the page.
|
gp:laboratoare:05 [2026/03/27 19:53] maria_anca.balutoiu [Tasks] |
gp:laboratoare:05 [2026/04/01 11:48] (current) maria_anca.balutoiu [Fractal Noise] |
||
|---|---|---|---|
| Line 8: | Line 8: | ||
| * Octava 3+: detalii fine (stânci, denivelări mici) | * Octava 3+: detalii fine (stânci, denivelări mici) | ||
| - | Parametrii care controlează fBm sunt: | + | Parametrii care controlează Fractal Noise sunt: |
| * **Octave:** Numărul de straturi de zgomot | * **Octave:** Numărul de straturi de zgomot | ||
| * **Persistence:** Cât de repede scade amplitudinea | * **Persistence:** Cât de repede scade amplitudinea | ||
| Line 52: | Line 52: | ||
| | Taiga | 0.60 - 0.75 | > 0.40 | | | Taiga | 0.60 - 0.75 | > 0.40 | | ||
| | Zăpadă / Munte înalt | > 0.75 | - | | | Zăpadă / Munte înalt | > 0.75 | - | | ||
| + | |||
| <note important>Harta de elevație și harta de umiditate trebuie generate cu seed-uri diferite. Dacă se folosește același seed, cele două hărți vor fi identice, iar clasificarea biomilor va fi incorectă, deoarece fiecare punct va avea aceeași valoare de elevație și umiditate.</note> | <note important>Harta de elevație și harta de umiditate trebuie generate cu seed-uri diferite. Dacă se folosește același seed, cele două hărți vor fi identice, iar clasificarea biomilor va fi incorectă, deoarece fiecare punct va avea aceeași valoare de elevație și umiditate.</note> | ||
| Line 97: | Line 98: | ||
| - Generați culori diferite pentru fiecare biom, folosind tabelul Whittaker. | - Generați culori diferite pentru fiecare biom, folosind tabelul Whittaker. | ||
| - Construiți mesh-ul 3D atribuind fiecărui vertex înălțimea și culoarea corectă. | - Construiți mesh-ul 3D atribuind fiecărui vertex înălțimea și culoarea corectă. | ||
| - | - **Bonus 1.** Implementați algoritmul ''diamond - square''. | + | - **Bonus 1.** Implementați algoritmul ''Diamond Square'', pentru a genera un heightmap. |
| + | |||
| + | <note tip> | ||
| + | - **Inițializare.** Se crează un grid de zerouri. Cele 4 colțuri sunt setate la o valoare aleatoare dintr-un interval predefinit de posibile înălțimi. | ||
| + | - **Pasul Pătrat.** Se calculează punctul din mijloc al fiecărui pătrat, făcând media aritmetică ale celor 4 colțuri la care se adaugă o valoare aleatoare dintr-un interval predefinit. | ||
| + | - **Pasul Romb.** Se calculează punctul din mijloc al fiecărui diamant, făcând media aritmetică ale celor 4 colțuri ale rombului la care se adună o valoare aleatoare din intervalul predefinit de valori aleatoare. În cazul în care rombul este incomplet, se iau în calcul doar colțurile existente în calculul mediei aritmetice. | ||
| + | - **Recursivitate.** Intervalul predefinit de valori aleatoare se înjumătățește. Se reiau pașii pătrat și romb până se aleg calculează toate valorile din grid. | ||
| + | |||
| + | Resurse: [[https://www.youtube.com/watch?v=4GuAV1PnurU|https://www.youtube.com/watch?v=4GuAV1PnurU]] | ||
| + | </note> | ||