Les deux plans xOy Horizontal et xOz Frontal sont superposés sur l'épure.
Un point M dans l'espace est ainsi représenté par deux points liés m et m' sur l'épure.
m est la projection sur le plan horizontal, représenté avec l'axe Ox vers le bas, soit une vue de dessus.
m' sur le plan frontal, représenté avec l'axe Oz vers le haut, soit une vue de face.
L'applet ci-contre montre ainsi un cube, que l'on peut faire tourner autour de son axe vertical.
L'épure (m,m') du point M est draggable (les deux points m et m'), et l'applet affiche les coordonnées
(x, y, z) de M.
Celles-ci sont obtenues à partir des coordonnées écran de m et m' :
{xym} Coordinates (m,coord,0,0,'')[hidden]; {xym!} Coordinates (m!,coord,0,0,'')[hidden]; {xM} Calculate (0,0,'','#A2!')(xym)[hidden]; {yM} Calculate (0,0,'','#A1')(xym)[hidden]; {zM} Calculate (0,0,'','#A2')(xym!)[hidden]; |
Les valeurs sont ensuite concaténées par un ConcatText pour l'affichage au format "(x, y, z)"
On notera que lorsque m est au dessus de la ligne de terre yy', x est négatif
(le point est derrière le plan frontal)
De même si m' est au dessous de la ligne de terre, z est négatif, M au dessous du plan horizontal.
Nous n'en dirons pas plus sur le sujet (changements de plan, rotations, rabattement, intersections de plan etc. en géométrie descriptive) nous en verrons des exemples au fur et à mesure.
Considérons ainsi une projection sur le plan frontal, parallèlement à la droite OM, de notre cube ABCDEFGH.
Il s'agit de construire les intersections avec le plan frontal des parallèles à OM passant par
les sommets du cube.
L'épure d'une telle parallèle est formée de deux droites : une parallèle à om passant par a et
une parallèle à om' passant par a'.
L'intersection de cette droite avec le plan frontal est obtenue immédiatement :
la parallèle en a coupe la ligne de terre en a" et on renvoie a" en A sur la parallèle en a'.
Une droite "de bout" (perpendiculaire au plan frontal) est ainsi projetée en une parallèle à om' :
direction des fuyantes.
Elle est réduite dans le rapport k = AD/ad = om'/mm"
Ce rapport peut être quelconque, mais généralement entre 0.3 et 0.7,
sinon aspect "étrange".
Une parallèle au plan frontal est projetée "en vraie grandeur".
On peut donc construire directement, à translation près, la perspective en gardant inchangées les distances parallèlement au plan frontal de projection, et en reportant les distances "en profondeur" dans la direction des fuyantes, et dans le rapport k.
En plaçant le plan de projection en ABFE, on peut effectuer directement la construction de D par :
{D1} Rotation/MeasuredAngle (B,A,alpha)[hidden]; {D} Dilation/MarkedRatio (D1,A,k); |
{ face avant } {A ... } {B ... } {E} Rotation/MeasuredAngle (B,A, pi/2); {F} VectorTranslation (B,A,E)]; { face arrière } {D1} Rotation/MeasuredAngle (B,A,alpha)[hidden]; {D} Dilation/MarkedRatio (D1,A,k); {C} VectorTranslation (D,A,B); {G} VectorTranslation (C,A,E); {H} VectorTranslation (D,A,E); { arêtes } {AB} Segment (A,B)[red,thick,layer(2)]; { ... } |
On peut obtenir immédiatement des découpes et intersections sur la vue en perspective
L'applet propose d'inscrire un octaèdre dans le cube en construisant directement les milieux des faces :
{U} Dilation (A,C, 0.5); {P} Dilation (A,F, 0.5); { ... } {UP} Segment (U,P); {...} |
La construction directe de cercles est possible par des méthodes projectives (tracé d'une conique)
Ainsi un cercle inscrit sur la face BCGF est-il défini comme conique (ellipse) tangente aux côtés en leur milieu.
Ou bien par projection directe du cercle en face avant :
{ cercle sur la face avant} {Kp} Circle (P,Mab); { cercle sur la face latérale } {t} Point on object (Kp, 0)[hidden]; {tx} Parallel (xx,t)[hidden]; {Xt} Intersect (tx,bf)[hidden]; {xm} Parallel (OM,Xt)[hidden]; {tc} Parallel (ac,t)[hidden]; {Tc} Intersect (tc,xm)[hidden]; {ell} Locus (Tc,t,Kp, 200); |
kX = √cos²(ω) + sin²(ω)sin²(α)
kY = √sin²(ω) + cos²(ω)sin²(α) kZ = |cos(α)| OZ,OX = π/2 + arctan(sin(α)tan(ω))
|
x' = x.cos(ω) - y.sin(ω)
y' = -x.sin(ω)sin(α) - y.cos(ω)sin(α) + z.cos(α) |
L'applet définit la projection OX, OY des axes (points rouges), et en déduit par les formules ci-dessus les
angles α et ω, puis
les rapports kX, kY, kZ.
Elle construit alors le cube unité sur ces axes.
Une vue en vraie grandeur d'une face du cube est affichée en vert.
Les constructions directe sur la vue en perspective se font comme pour la perspective cavalière.
Ici le cercle inscrit est reporté en copiant les coordonnées (x, y) d'un point courant
du repère en vraie grandeur vers le repère affine formé par les côtés du cube en projection :
{ point en vraie grandeur } {M} Point on object (Kw, 1)[green]; {xyM} Coordinates (M,coord,0,0,'')[hidden]; {xM} Calculate (0,0,'','#A1')(xyM)[hidden]; {yM} Calculate (0,0,'','#A2')(xyM)[hidden]; { report sur le repère ZB,ZA } {Xm} Dilation/MarkedRatio (B,Z,xM)[hidden]; {Ym} Dilation/MarkedRatio (A,Z,yM)[hidden]; {Msup} VectorTranslation (Xm,Z,Ym)[yellow]; {Ksup} Locus (Msup,M,Kw, 200); |
Le choix des axes projetés OX OY est libre dans certaines limites, sous peine de voire disparaître la projection,
ou d'obtenir une déformation irréaliste.
Un renforcement de l'illusion de relief est obtenu ici en traçant en trait fin des arêtes "arrière" du cube,
mais ceci est une question de point de vue, et un choix différent des axes donne une vue irréaliste.