Apprendre Maple Flocons de Van Koch

 
  Page d'accueilPage d'accueil   RechercherRechercher   Forum de discussionForum de discussion   ContactContact   SommaireSommaire 
  Cours MapleCours Maple   Travaux dirigésTravaux dirigés   Thèmes d'activitésThèmes d'activités   Thèmes d'activitésMaplets
Ecran MapleEcran Maple  TéléchargementTéléchargement  BibliographieBibliographie  LiensLiens  

 

 

Page d'accueil   Thèmes d'activités   << Thème précédent   Thème suivant >>


 

Flocons de Von Koch

Corrigé du thème

 

L'algorithme de Von Koch consiste , à partir d'un segment donné, à le diviser en 3 segments de

même longueur et à remplacer le segment central par les 2 côtés d'un triangle équilatéral construit

extérieurement à partir de ce segment central.

 

Ecrire une procédure Von_Koch( n :: nonnegint , xa,ya,xb,yb ) récursive qui, à partir du segment
initial dont les extrémités ont pour coordonnées (
xa, ya ) , ( xb, yb ) (ordre n = 0 ) , construit la séquence
des coordonnées des points constituant la figure d'ordre
n .

 

Exemple: on part du segment d'extrémités ( 0, 0 ),( 1, 0 ) (ordre n = 0 ) , et on construit les figures d'ordre n = 1 ,2,3,...

 

> plot([Von_Koch(0,0,0,1,0)],axes=none,scaling=constrained);

[Maple Plot]

> plot([Von_Koch(1,0,0,1,0)],axes=none,scaling=constrained);

[Maple Plot]

> plot([Von_Koch(2,0,0,1,0)],axes=none,scaling=constrained);

[Maple Plot]

> plot([Von_Koch(3,0,0,1,0)],axes=none,scaling=constrained);

[Maple Plot]

 


Corrigé:

Énoncé du thème

> Von_Koch:=proc(n::nonnegint,xa,ya,xb,yb)
local x1,y1,x2,y2,x3,y3;
if n=0 then [xa,ya],[xb,yb]
else
x1:=evalf((2*xa+xb)/3);y1:=evalf((2*ya+yb)/3);
x3:=evalf((xa+2*xb)/3);y3:=evalf((ya+2*yb)/3);
x2:=evalf(1/2*(x1+x3-sqrt(3)*(y3-y1)));
y2:=evalf(1/2*(y1+y3+sqrt(3)*(x3-x1)));
Von_Koch(n-1,xa,ya,x1,y1),Von_Koch(n-1,x1,y1,x2,y2),Von_Koch(n-1,x2,y2,x3,y3),Von_Koch(n-1,x3,y3,xb,yb);
end if
end proc;

 

Von_Koch := proc (n::nonnegint, xa, ya, xb, yb) loc...
Von_Koch := proc (n::nonnegint, xa, ya, xb, yb) loc...
Von_Koch := proc (n::nonnegint, xa, ya, xb, yb) loc...
Von_Koch := proc (n::nonnegint, xa, ya, xb, yb) loc...
Von_Koch := proc (n::nonnegint, xa, ya, xb, yb) loc...
Von_Koch := proc (n::nonnegint, xa, ya, xb, yb) loc...
Von_Koch := proc (n::nonnegint, xa, ya, xb, yb) loc...
Von_Koch := proc (n::nonnegint, xa, ya, xb, yb) loc...
Von_Koch := proc (n::nonnegint, xa, ya, xb, yb) loc...
Von_Koch := proc (n::nonnegint, xa, ya, xb, yb) loc...
Von_Koch := proc (n::nonnegint, xa, ya, xb, yb) loc...
Von_Koch := proc (n::nonnegint, xa, ya, xb, yb) loc...
Von_Koch := proc (n::nonnegint, xa, ya, xb, yb) loc...
Von_Koch := proc (n::nonnegint, xa, ya, xb, yb) loc...

> plot([Von_Koch(5,0,0,1,0)],axes=none,scaling=constrained);

[Maple Plot]

 

> plot({seq([Von_Koch(k,0,0,1,1)],k=0..5)},axes=none,scaling=constrained,color=black);

[Maple Plot]

 

 

 

 

haut de cette page


©  - Alain Le Stang - Navigation optimisée pour une résolution 1024 x 768.