Retour

Source : cerclecirconscritv1.mp

Animation flash


cerclecirconscritv1.mp
input geometriesyr16;
input outilssyr;
picture depart;
depart=image(
figure(0,0,11u,8u);
trace feuillet withcolor blanc;
pair A,B,C;
A=u*(3,2);
B-A=u*(5,1);
C=demidroite(A,rotation(B,A,43)) intersectionpoint demidroite(B,rotation(A,B,-76));
trace triangle(A,B,C);
nomme.llft(A);
nomme.lrt(B);
nomme.top(C);
fin;
);
_nfig:=0;
figure(0,0,11u,8u);
pair D;
D=4/5[A,C];
trace depart;
trace compas(A,D,1);
path cc;
cc=arccercle(rotation(D,A,-75),rotation(D,A,75),A);
fin;
vues:=5;
for vue=0 upto vues:
  figure(0,0,11u,8u);
  trace depart;
  trace compas(A,point((vue/vues)*length cc) of cc,1);
  if vue<>0:
    trace arccercle(point(0) of cc,point((vue/vues)*length cc) of cc,A);
  fi;
  fin;
endfor;
figure(0,0,11u,8u);
pair E;
E=4/5[C,A];
trace depart;
trace compas(C,E,1);
trace cc dashed evenly;
path cd;
cd=arccercle(rotation(E,C,-75),rotation(E,C,75),C);
fin;
for vue=0 upto vues:
  figure(0,0,11u,8u);
  trace depart;
  trace cc dashed evenly;
  trace compas(C,point((vue/vues)*length cd) of cd,1);
  if vue<>0:
    trace arccercle(point(0) of cd,point((vue/vues)*length cd) of cd,C);
  fi;
  fin;
endfor;
pair I,J;
I=cc intersectionpoint cd;
J=symetrie(I,A,C);
for vue=0 upto vues:
  figure(0,0,11u,8u);
  trace depart;
  trace cc dashed evenly;
  trace cd dashed evenly;
  trace coupdecompas(A,I,10);
  trace coupdecompas(A,J,10);
  trace regle(I,J,1);
  trace crayon(I,J,(vue/vues),1);
  trace segment(I,(vue/vues)[I,J]) withpen pencircle scaled 1.5bp withcolor jaune;
  fin;
endfor;
figure(0,0,11u,8u);
trace depart;
drawoptions(withcolor gris);
  trace cc dashed evenly;
  trace cd dashed evenly;
  trace coupdecompas(A,I,10);
  trace coupdecompas(A,J,10);
  trace coupdecompas(B,I,10);
  trace coupdecompas(B,J,10);
  drawoptions();
  trace droite(I,J) withcolor jaune;
  picture intermediaire;
  intermediaire=currentpicture;
  fin;
  figure(0,0,11u,8u);
  pair F;
  F=2/3[B,C];
  trace intermediaire;
  trace compas(B,F,1);
  fin;
  path ce;
  ce=arccercle(rotation(F,B,-75),rotation(F,B,75),B);
  for vue=0 upto vues:
    figure(0,0,11u,8u);
  trace intermediaire;
  trace compas(B,point((vue/vues)*length ce) of ce,1);
  if vue<>0:
    trace arccercle(point(0) of ce,point((vue/vues)*length ce) of ce,B);
  fi;
  fin;
endfor;
pair G;
G=2/3[C,B];
figure(0,0,11u,8u);
trace intermediaire;
trace ce dashed evenly;
trace compas(C,G,1);
fin;
path cf;
  cf=arccercle(rotation(G,C,-75),rotation(G,C,75),C);
  for vue=0 upto vues:
    figure(0,0,11u,8u);
    trace intermediaire;
    trace ce dashed evenly;
  trace compas(C,point((vue/vues)*length cf) of cf,1);
  if vue<>0:
    trace arccercle(point(0) of cf,point((vue/vues)*length cf) of cf,C);
  fi;
  fin;
endfor;
pair K,L;
K=ce intersectionpoint cf;
L=symetrie(K,B,C);
for vue=0 upto vues:
  figure(0,0,11u,8u);
  trace intermediaire;
  trace ce dashed evenly;
  trace cf dashed evenly;
  trace coupdecompas(B,K,10);
  trace coupdecompas(B,L,10);
  trace coupdecompas(C,L,10);
  trace coupdecompas(C,K,10);
  trace regle(K,L,1);
  trace crayon(K,L,(vue/vues),1);
  trace segment(K,(vue/vues)[K,L]) withpen pencircle scaled 1.5bp withcolor orange;
  fin;
endfor;
pair O;
O=droite(I,J) intersectionpoint droite(K,L);
for k=0 upto 4:
  figure(0,0,11u,8u);
  trace intermediaire;
  drawoptions(withcolor gris);
  trace ce dashed evenly;
  trace cf dashed evenly;
  trace coupdecompas(B,K,10);
  trace coupdecompas(B,L,10);
  trace coupdecompas(C,L,10);
  trace coupdecompas(C,K,10);
  drawoptions();
  trace droite(K,L) withcolor orange;
  if (k mod 2)=0:
    drawoptions(withcolor rouge);
    trace cercles(A,B,C);
    marque_p:="plein";
    pointe(O);
    drawarrow (O+u*(0,1.5))--O;
    drawoptions();
  fi;
  fin;
endfor;
end