www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

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:
Aterrain.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. +