#### 10.2.24 Proj3D

• Proj3D( < 3Dpoint list > ).
• Description: that function Proj3D calculate and returns the list of the projections of the 3Dpoints on the plane passing through the origin and normal to the vector Normal() with coordinates $\left(sin\left(\phi \right)cos\left(\theta \right),sin\left(\phi \right)sin\left(\theta \right),cos\left(\phi \right)\right)$ [oriented towards the observer]. The 3Dpoints list may contain the constant jump, it will be copied in the result.

 \begin{texgraph}[name=coord,export=pgf]   view(-3.5,4.5,-3,4), view3D(-3.5,3.5,-3.5,3.5,-3.5,3.5), size(7.5), Marges(0,0,0,0),   A:=M(3,3,3), Width:=8, Arrows:=1, Axes3D(0,0,0),   LabelDot3D(Origin, "$O$","NO",1),   Arc3D(px(A),Origin,pxy(A),1.5,1), Arc3D(pz(A),Origin,A,1.5,1),   Arrows:=0, LineStyle:=userdash,   Ligne3D([px(A),pxy(A),py(A), jump, A, pxy(A),Origin],0),   Arrows:=1, LineStyle:=solid, Ligne3D([Origin ,A],0),   LabelDot3D(A,"$\vec{n}$", "NE"),   Label(0.1228-1.0377*i,"$\theta$"),   Label(0.3509+1.3396*i,"$\varphi$")   \end{texgraph}

Space Coordinates

• There are two types of projection: orthographic and central. The mode is changed using the command ModelView.
• orthographic projection: orthogonal projection on the plane passing through the origin and normal to the vector Normal() (that plane corresponds to the screen plane). That means the observer is at the infinity. This projection has the advantage of being linear, and conserving the barycenters, we can then draw a BéZIER curve in the space using the function Bezier of the plane: if A, B and C are three space points then a graphic element Courbe/Bezier can be created with the command Proj3D([A,C,B]) and we will see the drawing of the projection of the Bézier curve of ends A and B with C as a control point.
• central projection: the observer is at certain point $C$ of the space (other than the origin), the vector Normal() corresponds then to the vector $\stackrel{\to }{OC}$ normalized. The projection is always performed on the plane $P$ passing through the origin and normal to the vector Normal(), the following manner: the projection of a point $M$ is the intersection of the line $\left(CM\right)$ with the plane $P$. If the distance is too short, the display is not always correct. The commands dedicated to this projection mode are PosCam and DistCam.
• Exemple(s): representation of a plane curve in the space:

 \begin{texgraph}[name=Proj3D, export=pgf]   ModelView(central), view(-6,6,-6,6),   view3D(-5,5,-4,4,-4,4),   Marges(0,0,0,0), size(7.5),   L:= for z in Get(Cartesienne(sin(x)),0)       do [z,0] od,   Arrows:=1, Axes3D(0,0,0),   Arrows:=0, Width:=8,   Color:=red, Ligne( Proj3D(L), 0)   \end{texgraph}

Proj3D