Geometriesyr16 - Exemple 10

exemple.mp [ source brut ]

 %@Auteur: Didier Aldebert
 
 input geometriesyr16;
 
 typerepre:="persp";
 
Conversion au format PDF de exemple.1
 figureespace(-10u,-10u,10u,10u);
 Initialisation(5,30,25,57);
 color A,B,C,D,E,F,G,H,W,X,Y,Z,O,e,o,g,f,h,I,p,J,q;
 trace Cube(A,B,C,D,H,E,F,G);
 W=A+2*(A-B)+4*(A-D);
 X-W=6*(B-A);
 Y-X=8*(C-B);
 Z-W=Y-X;
 O=A+1.3(A-B)+1.2(D-A)+(0,0,2);
 I=0.5[A,E];
 J=0.5[F,E];
 e=IntersectionPlanDroite(W,X,Y,O,E);
 g=IntersectionPlanDroite(W,X,Y,O,G);
 f=IntersectionPlanDroite(W,X,Y,O,F);
 h=IntersectionPlanDroite(W,X,Y,O,H);
 p=IntersectionPlanDroite(W,X,Y,O,I);
 q=IntersectionPlanDroite(W,X,Y,O,J);
 o=ProjectionsurPlan(O,W,X,Y);
 trace polygone(W,X,Y,Z);
 trace segment (O,o);
 trace segment(e-1.2(o-e),o+0.3(o-e));
 trace segment(f-0.4(o-f),o+0.3(o-f));
 trace segment(g-0.3(o-g),o+0.3(o-g));
 trace segment(h-1.2(o-h),o+0.3(o-h));
 drawoptions(withcolor red);
 pickup pencircle scaled 2bp;
 trace polygone(e,f,g,h);
 trace segment(e,A);
 trace segment(f,B);
 trace segment(g,C);
 trace segment(h,D);
 pickup defaultpen;
 drawoptions(withcolor blue);
 trace segment(O,e);
 trace demidroite(e,symetrie(E,e)) cutafter segment(W,X) dashed evenly;
 trace segment(e,e+1.2(e-E)) cutbefore segment(W,X);
 trace segment(O,g);
 trace demidroite(g,symetrie(G,g)) cutafter segment(X,Y) dashed evenly;
 trace segment(g,g+1.2(g-G)) cutbefore segment(X,Y);
 trace segment(O,f);
 trace demidroite(f,symetrie(F,f)) cutafter segment(X,Y) dashed evenly;
 trace segment(f,f+0.7(f-F)) cutbefore segment(X,Y);
 trace segment(O,H);
 trace segment(H,IntersectionPlanDroite(B,F,C,O,H)) dashed evenly;
 trace segment(IntersectionPlanDroite(B,F,C,O,H),h);
 trace demidroite(h,symetrie(H,h)) cutafter segment(X,Y) dashed evenly;
 trace segment(h,h+1.8(h-H)) cutbefore segment(X,Y);
 trace segment(O,p);
 trace demidroite(p,symetrie(O,p)) cutafter segment(W,X) dashed evenly;
 trace segment(p,p+0.8(p-O)) cutbefore segment(W,X);
 trace segment(O,q);
 trace demidroite(q,symetrie(O,q)) cutafter segment(X,Y) dashed evenly;
 trace segment(q,q+0.4(q-O)) cutbefore segment(X,Y);
 drawoptions();
 
 marque_p:="plein";
 nomme.top(O);
 
 marque_p:="rien";
 nomme.llft(e);
 nomme.urt(g);
 nomme.llft(f);
 nomme.urt(h);
 nomme.llft(A);
 nomme.llft(B);
 nomme.urt(C);
 nomme.ulft(D);
 nomme.llft(E);
 nomme.llft(F);
 nomme.urt(G);
 nomme.urt(H);
 
 dotlabel.urt(btex $\omega$ etex,Projette(o));
 dotlabel.llft(btex $i$ etex,Projette(p));
 dotlabel.llft(btex $j$ etex,Projette(q));
 dotlabel.llft(btex $I$ etex,Projette(I));
 dotlabel.urt(btex $J$ etex,Projette(J));
 finespace;
 end