prologues:=2;
input constantes;
input geometriepoint;
picture anim[],anims[],ensemble;
path piece[],pieces[];
vues:=5;
%Animation gauche
beginfig(1-1);
affixe.B(u*(6,11));
affixe.C(u*(12,11));
affixe.A(u*(8,13));
affixe.D(z.A rotatedabout(z.B,90));
affixe.E(z.B rotatedabout(z.A,-90));
affixe.F(z.C rotatedabout(z.A,90));
affixe.G(z.A rotatedabout(z.C,-90));
affixe.I(z.B rotatedabout(z.C,90));
affixe.J(z.C rotatedabout(z.B,-90));
affixe.K(projet(C,E,D));
affixe.L(projet(B,F,G));
affixe.M(projet(A,I,J));
affixe.N(projet(C,A,B));
affixe.O(projet(B,A,C));
affixe.P(projet(A,B,C));
affixe.H((z.C--z.K) intersectionpoint (z.B--z.L));
draw triangle(A,B,C);
draw demidroite(E,K,1.25) dashed evenly;
draw demidroite(F,L,1.25) dashed evenly;
draw demidroite(A,O,1.5) dashed evenly;
draw demidroite(A,N,1.5) dashed evenly;
draw demidroite(A,H,1.5) dashed evenly;
draw z.B--z.D--z.E--z.A--z.F--z.G--z.C--z.I--z.J--cycle;
draw codeperp(A,P,B,5);
draw codeperp(A,M,I,5);
draw codeperp(B,O,C,5);
draw codeperp(B,L,G,5);
draw codeperp(C,N,A,5);
draw codeperp(C,K,D,5);
draw codeperp(A,E,D,5);
draw codeperp(E,D,B,5);
draw codeperp(D,B,A,5);
draw codesegments(B,A,A,E,2);
draw codeperp(B,J,I,5);
draw codeperp(J,I,C,5);
draw codeperp(I,C,B,5);
draw codesegments(C,B,B,J,3);
draw codeperp(C,G,F,5);
draw codeperp(G,F,A,5);
draw codeperp(F,A,C,5);
draw codesegments(A,C,C,G,4);
draw segment(A,M);
draw segment(C,K);
draw segment(B,L);
label.llft(btex $B$ etex,z.B);
label.lrt(btex $C$ etex,z.C);
label.top(btex $E$ etex,z.E);
label.llft(btex $D$ etex,z.D);
label.top(btex $F$ etex,z.F);
label.rt(btex $G$ etex,z.G);
label.lrt(btex $I$ etex,z.I);
label.llft(btex $J$ etex,z.J);
label.ulft(btex $K$ etex,z.K);croix(K);
label.urt(btex $L$ etex,z.L);croix(L);
label.bot(btex $M$ etex,z.M);
label.lrt(btex $P$ etex,z.P);
labeloffset:=6bp;
label.rt(btex $H$ etex,z.H);
label.top(btex $N$ etex,z.N);croix(N);
labeloffset:=9bp;
label.ulft(btex $A$ etex,z.A shifted(0.2u,0));
label.bot(btex $O$ etex,z.O);croix(O);
labeloffset:=3bp;
ensemble=currentpicture;
currentpicture:=nullpicture;
for vue=0 upto vues:
piece[vue]=z.B--z.D--(z.K shifted((vue/vues)*(z.C-z.N)))--(z.N shifted((vue/vues)*(z.C-z.N)))--cycle;
pieces[vue]=z.C--z.G--(z.L shifted((vue/vues)*(z.B-z.O)))--(z.O shifted((vue/vues)*(z.B-z.O)))--cycle;
fill piece[vue] withcolor jaune;
draw piece[vue];
anim[vue]=currentpicture;
currentpicture:=nullpicture;
fill pieces[vue] withcolor vert;
draw pieces[vue];
anims[vue]=currentpicture;
currentpicture:=nullpicture;
endfor
for vue=1 upto vues:
piece[vues+vue]=z.J--z.B--(z.A shifted((vue/vues)*(z.P-z.A)))--((z.A shifted (z.J-z.B)) shifted((vue/vues)*(z.P-z.A)))--cycle;
pieces[vues+vue]=z.I--z.C--(z.A shifted((vue/vues)*(z.P-z.A)))--((z.A shifted (z.J-z.B)) shifted((vue/vues)*(z.P-z.A)))--cycle;
fill piece[vues+vue] withcolor jaune;
draw piece[vues+vue];
anim[vues+vue]=currentpicture;
currentpicture:=nullpicture;
fill pieces[vues+vue] withcolor vert;
draw pieces[vues+vue];
anims[vues+vue]=currentpicture;
currentpicture:=nullpicture;
endfor
draw ensemble;
endfig;
for vue=0 upto vues:
beginfig(1+vue);
draw anim[vue];
draw ensemble;
endfig;
endfor;
for vue=1 upto vues:
beginfig(7+vue-1);
affixe.A(u*(8,13));
affixe.B(u*(6,11));
affixe.C(u*(12,11));
affixe.D(z.A rotatedabout(z.B,90));
draw anim[5] rotatedabout(z.B,(vue/vues)*(-90));
affixe.Z.[vue](z.D rotatedabout(z.B,(vue/vues)*(-90)));
affixe.Y.[vue](z.C rotatedabout(z.B,(vue/vues)*(-90)));
draw arccercle(Z.[vue],D,B) dashed evenly;
draw arccercle(Y.[vue],C,B) dashed evenly;
draw ensemble;
endfig;
endfor
for vue=1 upto vues:
beginfig(12+vue-1);
draw anim[vues+vue];
draw ensemble;
endfig;
endfor;
%Animation droite
for vue=0 upto vues:
beginfig(vue+18-1);
fill piece[10] withcolor jaune;
draw anims[vue];
draw ensemble;
endfig;
endfor;
for vue=1 upto vues:
beginfig(23+vue-1);
fill piece[10] withcolor jaune;
affixe.A(u*(8,13));
affixe.B(u*(6,11));
affixe.C(u*(12,11));
affixe.G(z.A rotatedabout(z.C,-90));
draw anims[5] rotatedabout(z.C,(vue/vues)*(90));
affixe.X.[vue](z.G rotatedabout(z.C,(vue/vues)*(90)));
affixe.W.[vue](z.B rotatedabout(z.C,(vue/vues)*(90)));
draw arccercle(G,X.[vue],C) dashed evenly;
draw arccercle(B,W.[vue],C) dashed evenly;
draw ensemble;
endfig;
endfor
for vue=1 upto vues:
beginfig(28+vue-1);
fill piece[10] withcolor jaune;
draw anims[vues+vue];
draw ensemble;
endfig;
endfor;
end
|