Cfdg est un logiciel et un langage basé sur un ensemble de règles, chacune permettent de développer un symbole en un ensemble de symboles, le plus souvent de façon récursive.
On peut trouver sur le site de cfdg une galerie de centaines de magnifiques images obtenues avec le logiciel, des tutoriels et une page de téléchargement pour Linux, Windows et Mac
Quelques essais
On part d'un triangle
startshape planet
rule planet{
TRIANGLE{ }
}
On rajoute un triangle
startshape planet
rule planet{
TRIANGLE{ }
TRIANGLE[ y 0.433 x -0.25 s 0.59 r 61 ]
}On part du premier triangle, on le translate de 0,433 vers le haut et de 0,25 vers la droite puis on multiplie ses dimensions par 0,59 et il subit une rotation de 61 degrés.
La figure obtenue sera le motif de base. On crée un processus récursif basé sur ce motif : On passe du nouveau triangle au suivant avec la même règle.
startshape planet
rule planet{
TRIANGLE{ }
planet{y 0.433 x -0.25 s 0.59 r 61 }
}
Prenons maintenant un motif plus complexe : on rajout, à chaque étape, à chaque nouveau triangle, trois triangles. Le code devient :
startshape planet
rule planet{
TRIANGLE{z 1 }
planet{y 0.433 x -0.25 s 0.59 r 61 }
planet{ x -0.25 y -0.433 s 0.58 r 60 }
planet{ y 0 x 0.5 s 0.61 r 59 }
}
startshape planet
background { h 40 sat 0.4 b 0.7 }
rule planet{
TRIANGLE{h 30 sat 0.9 b 0.2 }
planet{y 0.433 x -0.25 s 0.59 r 61 h 4 b 0.1 }
planet{x -0.25 y -0.433 s 0.58 r 60 h 10 }
planet{y 0 x 0.5 s 0.61 r 59 h 5 }
}h représente la teinte (nombre entre 0 et 360, sat la saturation et b la brillance (luminance ?). À chaque étape, la valeur de h augmente, ce qui fait que l'on passe du marron au vert
fait le 10 novembre 2008