j'essaie de représenter la section d'un cube par un plan en 3D. Pour l'instant, ma figure ressemble à cela :
Code : Tout sélectionner
settings.render=0;
settings.outformat='pdf';
settings.tex="pdflatex";
settings.prc=true;
size(15cm,0);
import solids;
import three;
import math;
currentprojection = orthographic(50,50,25);
nslice=4*nslice;
real a=5, l=0.5;
triple pA=(-a,-a,-a), pB=(a,-a,-a), pC=(a,a,-a), pD=(-a,a,-a), pE=(-a,-a,a), pF=(a,-a,a), pG=(a,a,a), pH=(-a,a,a);
draw(pA--pB--pC--pD--pH--pE--pF--pG--pC);
draw(pD--pA--pE);
draw(pB--pF);
draw(pC--pG--pH);
triple pI=1/2*(pA+pB), pJ=1/2*(pF+pG), pK=1/2*(pA+pE), pL=1/2*(pC+pG), pM=1/2*(pG+pH), pN=1/2*(pD+pH), pP=1/2*(pF+pB), pQ=1/2*(pE+pH);
triple vectAH=pH-pA, vectAJ=pJ-pA, vectHJ=pJ-pH, vectmid=1/2*(vectAH+vectAJ);
triple pt1=pA+(l+0.5)*vectHJ-l*vectmid, pt2=pA-(l+0.5)*vectHJ-l*vectmid, pt3=pH-l*vectHJ+l*vectmid, pt4=pJ+l*vectHJ+l*vectmid;
path3 planAHJ=pt1--pt2--pt3--pt4--cycle;
//path3 planAHJ=plane(2*vectAH,2*vectAJ,pA);
draw(surface(planAHJ),red+opacity(0.2));
path3 faceABCD=pA--pB--pC--pD--cycle;
path3 faceABFE=pA--pB--pF--pE--cycle;
path3 faceBCGF=pB--pC--pG--pF--cycle;
path3 faceADHE=pA--pD--pH--pE--cycle;
path3 faceEFGH=pE--pF--pG--pH--cycle;
path3 faceCDHG=pC--pD--pH--pG--cycle;
draw(surface(faceABCD),blue+opacity(0.25));
draw(surface(faceABFE),blue+opacity(0.25));
draw(surface(faceBCGF),blue+opacity(0.25));
draw(surface(faceADHE),blue+opacity(0.25));
draw(surface(faceEFGH),blue+opacity(0.25));
draw(surface(faceCDHG),blue+opacity(0.25));
dot(Label("$A$",align=SW),pA);
dot(Label("$B$",align=SE),pB);
dot(Label("$C$",align=SE),pC);
dot(Label("$D$",align=NW),pD);
dot(Label("$E$",align=SW),pE);
dot(Label("$F$",align=SE),pF);
dot(Label("$G$",align=NE),pG);
dot(Label("$H$",align=NW),pH);
dot(Label("$I$",align=S),pI);
dot(Label("$J$",align=SE),pJ);
dot(Label("$K$",align=W),pK);
dot(Label("$L$",align=E),pL);
dot(Label("$M$",align=N),pM);
dot(Label("$N$",align=W),pN);
dot(Label("$P$",align=E),pP);
dot(Label("$Q$",align=NW),pQ);
Autre question : comment arriver à avoir dès le départ une vue en 3D correcte (que mettre comme nombres dans currentprojection = orthographic(50,50,25) ) ?
Merci.