Retour

Source : Symetriqueangledroit.mp

Animation flash


Symetriqueangledroit.mp
input geometriesyr16;
vues:=20;
pair A,B,E,F,C,D,M[],N[];
A=u*(1,2);
B=u*(4,3);
E=u*(2.5,5);
C=u*(5,1);
D=u*(6,6);
path dd,de,df;
dd=1.25[A,B]--1.25[B,A];
figure(0,0,11u,8u);
  de=perpendiculaire(A,B,E);
  F=de intersectionpoint dd;
  df=1.25[F,E]--1.5[E,F];
  path d;
  d=droite(C,D);
  for k=1 upto 10:
    M[k]=point(k*length dd/10) of dd;
    M[k+10]=point(k*length df/10) of df;
  endfor;
  for k=1 upto 20:
    N[k]=symetrie(M[k],C,D);
  endfor;
fin;
marque_p:="plein";
_nfig:=0;
for k=1 upto vues:
  figure(0,0,11u,8u);
  trace feuillet withcolor blanc;
  trace dd;
  trace de;
  trace codeperp(E,F,A,8);
  trace d;
  label.rt(btex $(d)$ etex,C);
  for j=1 upto (k-1):
    pointe(M[j],N[j]);
  endfor;
  drawoptions(withcolor rouge);
  pointe(M[k],N[k]);
  drawoptions();
  trace perpendiculaire(C,D,M[k]) dashed evenly;
  trace codeperp(M[k],iso(M[k],N[k]),C,8);
  trace coupdecompas(iso(M[k],N[k]),M[k],10);
  trace coupdecompas(iso(M[k],N[k]),N[k],10);
  trace codesegments(M[k],iso(M[k],N[k]),iso(M[k],N[k]),N[k],2);
fin;
endfor;
end
  N[k]=symetrie(M[k],C,D);
 
  trace an;
  marque_p:="croix";
  pointe(A,B,E);
  marque_p:="plein";
  for j=0 upto (k-1):
    pointe(M[j],N[j]);
  endfor;
  drawoptions(withcolor rouge);
  pointe(M[k],N[k]);
  drawoptions();
  trace perpendiculaire(C,D,M[k]) dashed evenly;
  trace codeperp(M[k],iso(M[k],N[k]),C,8);
  trace coupdecompas(iso(M[k],N[k]),M[k],10);
  trace coupdecompas(iso(M[k],N[k]),N[k],10);
  trace codesegments(M[k],iso(M[k],N[k]),iso(M[k],N[k]),N[k],2);
  marque_p:="non";
  nomme.llft(A);
  nomme.ulft(B);
  nomme.bot(E);
  fin;
endfor;
end