Français   Fractales.
la courbe de Sierpinski remplit un triangle. On la dessine quatre fois pour résussir à remplir un carré.

# Commande principale: demarrer 5
pour new
# set defaults, screen, pen et tortue
init ftd [400 400]
fcfg noir fcc vert levecrayon cachetortue
fin

pour initialise :order
donne "size 112 / puissance (rac 2) :order # donne size a global value
donne "d puissance 2 tronque (1+0.5*(:order+1))
donne "h puissance 2 tronque (1+0.5*(:order)) donne "h :h-1
donne "dist (:h*:size) + (:d * (:size / rac 2))
fin

pour peano :order :parity
si :order < 1 [stop] # ie si = 0
tournedroite :parity*90
peano :order-1 moins :parity avance :size
peano :order-1 :parity avance :size
peano :order-1 moins :parity
tournegauche :parity*90
fin

pour demarrer :order
new
initialise :order
fpos liste moins :dist/2 moins (:dist/2-(:size / rac 2))
fcc vert baissecrayon
repete 4 [sierpinski :order 1 tournedroite 45 avance :size tournedroite 45]
levecrayon origine fcc rougefonce baissecrayon remplis # remplis curve
fin

pour sierpinski :order :parity
si :order < 1 [avance :size stop] # ie si = 0
tournedroite :parity*45 sierpinski :order-1 moins :parity tournegauche :parity*45 avance :size
tournegauche :parity*45 sierpinski :order-1 moins :parity tournedroite :parity*45
fin



Une animation pour créer les courbes de Sierpinski d'ordre 0 à 10:

pour gox
new animation vrai
repetepour [order 0 10] [nettoie
initialise :order
fpos liste moins :dist/2 moins (:dist/2-(:size / rac 2))
fcc vert baissecrayon
repete 4 [sierpinski :order 1 tournedroite 45 avance :size tournedroite 45]
levecrayon origine fcc rougefonce baissecrayon remplis
rf attends 80 levecrayon origine]
fin
Tester le programme maintenant

Procédure à exécuter:
demarrer 5