next up previous contents index
suivant: Quelques dessins doublement récursifs monter: Récursivité ayant plusieurs appels précédent: Le tapis carré   Table des matières   Index

Une courbe de Péano

Ces programmes se trouvent dans examples/recur/peano.cxx.
On trace la diagonale AC d'un carré ABCD.
Puis puis on partage les cotés de ce carrés en trois partie égales. On obtient ainsi 9 carrés.
On remplace alors la diagonale du carré précédent par les diagonales des 9 carrés de façon à avoir une ligne continue allant de A à C. On recommence le même processus avec les 9 carrés de façon à avoir une ligne continue allant de A à C, et ainsi de suite.....on s'arrête quand les segments à dessiner deviennent trop petits.
On a choisit comme paramètre les affixes des points A et B et d'utiliser la profondeur comme test d'arrêt.
On tape dans un éditeur de programme (que l'on ouvre avec Alt+p), puis on valide avec OK : ou on utilise la commande :
read("peano.cas") car ce progrmme se trouve dans le fichier peano.cas.
 
//arc qui remplit le carre de cote x,y 
peano(x,y,n):={
local u,v;
DispG();
if (n==0) {segment(x,y+3*v);return 0;}
u:=(y-x)/3;
v:=i*u;
peano(x,x+u,n-1);
peano(x+u+v,x+u,n-1);
peano(x+2*u,y,n-1);
peano(y+v,y+2*v,n-1);
peano(x+2*(u+v),x+u+2*v,n-1);
peano(x+(u+v),x+u+2*v,n-1);
peano(x+2*v,x+2*v+u,n-1);
peano(x+3*v+u,x+u+2*v,n-1);
peano(x+2*(u+v),y+2*v,n-1);
};
On tape par exemple :
peano(-i,3-i,3)
Vous pouvez voir les différentes étapes de la construction en faisant successivement n = 1, 2, 3, 4 en utilisant le bouton stop si le tracé est trop long.


next up previous contents index
suivant: Quelques dessins doublement récursifs monter: Récursivité ayant plusieurs appels précédent: Le tapis carré   Table des matières   Index
Documentation de giac écrite par Renée De Graeve