Fichier gosper02.mp (figure 1) — Modifié le 1 Juillet 2011 à 07 h 05

gosper02.mp (figure 1)
Source
  1  La courbe de Gosper (2)
  2  %@GIAC:
  3  gosper(x,y,n):={
  4  local a,b,c,d,f,g;
  5  DispG();
  6  if (n==0) return print(segment(x,y));
  7  a:=x+(y-x)/sqrt(7)*exp(evalf(-i*acos(5*sqrt(7)/14)));
  8  c:=x+(a-x)*exp(evalf(i*pi/3));
  9  b:=c+a-x;
 10  d:=c+(a-x)*exp(evalf(2*i*pi/3));
 11  f:=d+2*(a-x);
 12  g:=(d+f)/2;
 13  gosper(x,a,n-1);
 14  gosper(b,a,n-1);
 15  gosper(c,b,n-1);
 16  gosper(c,d,n-1);
 17  gosper(d,g,n-1);
 18  gosper(g,f,n-1);
 19  gosper(y,f,n-1);
 20  };
 21  gosper(-2-2*i,2-2*i,3);
 22  %@STYLE:
 23  global: grille=0 c=(0.8,0.9,0.4) unite=1.5cm