Retour

Source : aireparallelogramme.mp

Animation flash


aireparallelogramme.mp
input geometriesyr16;
u:=8mm;
path corpsg,corpsd,mobileg,mobiled;
pair A,B,C,D,H,J;
A=u*(1,1);
B=u*(7,2);
C=u*(9,6);
D=C shifted(A-B);
H=projection(B,C,D);
J=projection(B,A,D);
corpsg=A--B--H--D--cycle;
corpsd=D--J--B--C--cycle;
mobileg=B--C--H--cycle;
mobiled=A--J--B--cycle;
picture baseg,based,deplaceg,deplaced;
baseg=image(
  fill corpsg withcolor jaune;
  nomme.llft(A);
  nomme.lrt(B);
  nomme.top(D);
  );
based=image(
  fill corpsd withcolor jaune;
  nomme.urt(C);
  nomme.lrt(B);
  nomme.ulft(D);
  );
picture imaggauche[],imagdroite[];
figure(0,0,15cm,7cm);
draw feuillet withcolor blanc;
imaggauche1=image(
  fill B--C--H--cycle withcolor jaune;
  draw baseg;
  draw A--B--C--D--cycle;
  nomme.urt(C);
  trace cotationmil(A,B,-2mm,20,btex base etex);
  );
imagdroite1=image(
  fill mobiled withcolor jaune;
  draw based;
  draw A--B--C--D--cycle;
  nomme.llft(A);
  trace cotationmil(B,C,-2mm,20,btex base etex);
  );
draw imaggauche1;
draw imagdroite1 shifted(u*(9,0));
fin;
figure(0,0,15cm,7cm);
draw feuillet withcolor blanc;
imaggauche2=image(
  fill B--C--H--cycle withcolor jaune;
  draw baseg;
  draw corpsg;
  draw mobileg;
  draw codeperp(B,H,D,5);
  draw codeperp(H,B,A,5);
  draw A--B--C--D--cycle;
  nomme.urt(C);
  trace cotationmil(A,B,-2mm,20,btex base etex);
  trace cotationmil(H,B,2mm,30,btex hauteur etex);
  );
imagdroite2=image(
  fill mobiled withcolor jaune;
  draw based;
  draw corpsd;
  draw mobiled;
  draw codeperp(B,J,D,5);
  draw codeperp(J,B,C,5);
  draw A--B--C--D--cycle;
  nomme.llft(A);
  trace cotationmil(B,C,-2mm,20,btex base etex);
  trace cotationmil(J,B,-2mm,30,btex hauteur etex);
  );
draw imaggauche2;
draw imagdroite2 shifted(u*(9,0));
fin;
vues=10;
for vue=1 upto vues:
  imaggauche[2+vue]=image(
    fill (mobileg shifted((vue/vues)*(A-B))) withcolor jaune;
    fill mobileg withcolor(vue/vues)[jaune,white];
    draw baseg;
    draw corpsg;
    draw mobileg dashed evenly;
    draw mobileg shifted((vue/vues)*(A-B));
    draw codeperp(B,H,D,5);
    draw codeperp(H,B,A,5);
    draw codeperp(B,H,C,5) shifted((vue/vues)*(A-B));
    nomme.urt(C);
    trace cotationmil(A,B,-2mm,20,btex base etex);
    trace cotationmil(H,B,2mm,30,btex hauteur etex);
    );
  imagdroite[2+vue]=image(
    fill (mobiled shifted((vue/vues)*(C-B))) withcolor jaune;
    fill mobiled withcolor(vue/vues)[jaune,white];
    draw based;
    draw corpsd;
    draw mobiled dashed evenly;
    draw mobiled shifted((vue/vues)*(C-B));
    draw codeperp(B,J,D,5);
    draw codeperp(J,B,C,5);
    draw codeperp(B,J,A,5) shifted((vue/vues)*(C-B));
    nomme.llft(A);
    trace cotationmil(B,C,-2mm,20,btex base etex);
    trace cotationmil(J,B,-2mm,30,btex hauteur etex);
    );
  figure(0,0,15cm,7cm);
  draw feuillet withcolor blanc;
  draw imaggauche[2+vue];
  draw imagdroite[2+vue] shifted(u*(9,0));
  fin;
endfor;
end