Retour

Source : composymetries.mp

Animation flash


composymetries.mp
prologues:=2;
%Choix
verbatimtex
%&latex
\documentclass[12pt]{article}
\usepackage[frenchb]{babel}
\usepackage[latin1]{inputenc}
\begin{document}
etex
%
input geometriesyr16;
vues=10;
pair O,O',A,B,C;
O=u*(3,3.5);
O'=u*(6,4.5);
A=u*(0.5,1);
B=u*(4.5,0.5);
C=u*(3,2.5);
path cc;
cc=triangle(A,B,C);
picture piece,fond,titre;
fond=image(
  marque_p:="croix";
  nomme.top(O);
  nomme.top(O');
  marque_p:="non";
  );
piece=image(
  fill cc withcolor jaune;
  trace cc;
  );
figure(0,0,11u,8u);
draw feuillet withcolor blanc;
draw fond;
draw piece;
fin;
for vue=1 upto vues:
  figure(0,0,11u,8u);
  draw feuillet withcolor blanc;
  draw piece;
  draw fond;
  draw rotation(piece,O,(vue/vues)*180);
  trace rotation(A,O,(vue/vues)*180)--O dashed evenly;
  trace rotation(B,O,(vue/vues)*180)--O dashed evenly;
  trace rotation(C,O,(vue/vues)*180)--O dashed evenly;
  fin;
endfor;
figure(0,0,11u,8u);
draw feuillet withcolor blanc;
draw piece;
draw fond;
draw symetrie(piece,O);
fin;
for vue=1 upto vues:
  figure(0,0,11u,8u);
  draw feuillet withcolor blanc;
  draw piece;
  fill symetrie(cc,O) withcolor(vue/vues)[jaune,white];
  draw fond;
  draw rotation(symetrie(piece,O),O',(vue/vues)*180);
  trace rotation(symetrie(A,O),O',(vue/vues)*180)--O' dashed evenly;
  trace rotation(symetrie(B,O),O',(vue/vues)*180)--O' dashed evenly;
  trace rotation(symetrie(C,O),O',(vue/vues)*180)--O' dashed evenly;
  fin;
endfor;
figure(0,0,11u,8u);
draw feuillet withcolor blanc;
draw piece;
draw fond;
draw piece shifted(2(O'-O));
fin;
figure(0,0,11u,8u);
draw feuillet withcolor blanc;
draw piece;
draw fond;
draw piece shifted(2(O'-O));
drawarrow O--O' withpen pencircle scaled2bp withcolor violet;
fin;
vues:=5;
for vue=1 upto vues:
  figure(0,0,11u,8u);
  draw feuillet withcolor blanc;
  draw piece;
  draw fond;
  draw piece shifted(2(O'-O));
  drawarrow O--O' withpen pencircle scaled2bp withcolor violet;
  draw piece shifted((vue/vues)*(O'-O));
  drawarrow C--(C shifted((vue/vues)*(O'-O)));
  fin;
endfor;
for vue=1 upto vues:
  figure(0,0,11u,8u);
  draw feuillet withcolor blanc;
  draw piece;
  draw fond;
  draw piece shifted(2(O'-O));
  drawarrow O--O' withpen pencircle scaled2bp withcolor violet;
  draw piece shifted(O'-O+(vue/vues)*(O'-O));
  drawarrow C--(C shifted(O'-O));
  drawarrow C--(C shifted(O'-O+(vue/vues)*(O'-O)));
  fin;
endfor;
figure(0,0,11u,8u);
  draw feuillet withcolor blanc;
  draw piece;
  draw fond;
  draw piece shifted(2(O'-O));
  drawarrow O--O' withpen pencircle scaled2bp withcolor violet;
  draw piece shifted(2*(O'-O));
  drawarrow C--(C shifted(O'-O));
  drawarrow C--(C shifted(2*(O'-O)));
  fin;
end