je sais que ce n'est pas la rubrique programmation mais vu que j'ai l'impression que peu de gens la visite , je tente ma chance quand même
j'ai besoin d'écrire un algorithme sur maple permettant de tracer le triangle de sierpinski à une N eme étape
j'ai pensé à un algorithme qui translate les triangles
une photo expliqueras mieux ce que j'ai dans la tete
je trace ainsi un triangle à chaque étape , puis quand j'arrive dans ce cas la à la 4 eme étape , je translate le triangle tourné vers le haut qui contient le triangle tourné vers le bas d'un vecteur a et b
ensuite je translate le nouveau triangle obtenu contenu dans le cercle vert contenant les triangles crées.
mon plus gros problème , est que je n'arrive pas à translater un triangle contenant 3 triangles , je ne sais pas comment faire ou créée un objet composé de plusieurs triangles
voila comment j'ai commencé
restart; withplots; with(geometry);
point(A, xa, ya); point(B, xb, yb); point(C, xc, yc); xa := 1; ya := 0; xb := -1; yb := 0; xc := 0; yc := 3^.5,
triangle(T1, [A, B, C]);
draw({T1}, axes = none);
point(A1, xa1, ya1); point(B1, xb1, yb1); point(C1, xc1, yc1); xa1 := (xb+xc)*1/2; ya1 := (yb+yc)*1/2; xc1 := (xb+xa)*1/2; yc1 := (yb+ya)*1/2; xb1 := (xa+xc)*1/2; yb1 := (ya+yc)*1/2;
triangle(T2, [A1, B1, C1]);
draw({T2, T1}, axes = none);
point(c2, xc2, yc2); point(a2, xa2, ya2); point(k, xk, yk); xa2 := (xb1+xc1)*1/2; ya2 := (yb1+yc1)*1/2; xc2 := (xa+xc1)*1/2; yc2 := (yc1+ya)*1/2; xk := (xa+xb1)*1/2; yk := (ya+yb1)*1/2;
triangle(T3, [c2, a2, k]); draw([T1, T2, T3], axes = none);
dsegment(dsg,a2,k):
translation(Atra,A,dsg);
translation(AC1tra, T3, dsegment(dsg, A, C1)); translation(AB1tra, T3, dsegment(dsg2, A, B1));
h := {A1, T3, C1, B}; triangle(T3, [c2, a2, k]); draw([T1, T2, T3, AC1tra, AB1tra], axes = none);
on obtient bien un triangle, mais cette façon de le tracer ne peux pas fonctionner une étape plus loin car je ne fait que translater le petit triangle tourné vers le bas .
merci pour votre aide
