commit 99f5b1ae4423e7f2e9f01ef9e5a3e4c9bd28a964
parent 0f7cbe176e50991f6dc1d81df5f59662887e5321
Author: Georges Dupéron <jahvascriptmaniac+github@free.fr>
Date: Sat, 22 Oct 2011 10:27:15 +0200
Notes sur la génération de terrain.
Diffstat:
| A | terrain.md | | | 40 | ++++++++++++++++++++++++++++++++++++++++ |
1 file changed, 40 insertions(+), 0 deletions(-)
diff --git a/terrain.md b/terrain.md
@@ -0,0 +1,40 @@
+Liens
+-----
+
+* [Différents algos](http://www.sluniverse.com/php/vb/project-development/34994-automatically-generated-terrain-map.html) : Ridged Perlin Noise, Hills Algorithm, Craters, Erosion.
+* [Plein d'algos](http://planetgenesis.sourceforge.net/docs15/noise/noise.html#tileworley) dont plusieurs basés sur une sorte de voronoi donc à priori trop lents.
+
+Perlin noise
+------------
+
+Ridged Perlin Noise
+-------------------
+
+[Démo de Ridged Perlin Noise)(http://www.inear.se/2010/04/ridged-perlin-noise/)
+
+ // Fait des crêtes de montagnes ou vallées.
+ abs(perlinNoise());
+
+Hills Algorithm
+---------------
+
+Inverse de craters : on ajoute plein de cercles :
+
+ repeat 1000 times :
+ r=random();
+ cx=random();
+ cy=random();
+ terrain[x][y] += r**2 + ((x-cx)**2 – (y-cy)**2)
+
+Craters
+-------
+
+Soustraire des cercles (profondeur = f(distance au centre)) au terrain
+existant.
+Ou : générer un terrain nu, et soustraire plein de cercles aléatoirs.
+
+Erosion
+-------
+
+Modélisation correcte : trop lent. À la place, outil "courbes" de gimp.
+