1 \section{Tracer une ligne brisée
}
3 Cette commande est adaptée de la macro
\verb+
\pstThreeDLine+ du package
\texttt{pst-
3dplot
} de H.Voss
\footnote{\url{http://tug.ctan.org/tex-archive/graphics/pstricks/contrib/pst-
3dplot
}.
}
5 On l'utilise :
\psframebox[fillstyle=solid,fillcolor=yellow,linecolor=yellow
]{\texttt{$
\backslash$psLineIIID
[options
](x0,y0,z0)(x1,y1,z1)
\ldots(xn,yn,zn)
}},
6 avec les options suivantes possibles :
8 \item \texttt{linecolor=couleur
} ;
9 \item \texttt{doubleline=true
} ;
10 \item \texttt{linearc=valeur
}.
12 On ne peut pas flécher les extrémités d'une ligne.
14 \psset{viewpoint=
50 20 30 rtp2xyz,Decran=
50}
15 \begin{LTXexample
}[width=
6.5cm
]
16 \begin{pspicture
}(-
3,-
4)(
4,
4)
18 \psSolid[object=cube,a=
4,action=draw*,fillcolor=magenta!
20]%
19 \psLineIIID[linecolor=blue,linewidth=
0.1,linearc=
0.5,doubleline=true
](-
2,-
2,-
2)(
2,
2,
2)(
2,
2,-
2)(
2,-
2,
0)
20 \psPoint(
2,-
2,
0)
{A
}\psPoint(-
2,-
2,-
2)
{B
}
21 \psPoint(
2,
2,
2)
{C
}\psPoint(
2,
2,-
2)
{D
}
22 \psdot[dotsize=
0.2](A)
\psdot[dotsize=
0.2](B)
23 \psdot[dotsize=
0.2](C)
\psdot[dotsize=
0.2](D)
24 \psLineIIID[linecolor=green
](-
2,-
2,-
2)(
2,
2,
2)(
2,
2,-
2)(
2,-
2,
0)
25 \psPolygonIIID[linecolor=red,fillstyle=vlines,linearc=
0.5,linewidth=
0.1](-
2,-
2,
2)(-
2,
2,
2)(
2,
2,
2)(
2,-
2,
2)
26 \axesIIID(
2,
2,
2)(
4,
4,
4)
30 %% \section{Tracer une ligne brisée}
32 %% Cette commande est adaptée de la macro \verb+\pstThreeDLine+ du package \texttt{pst-3dplot} de H.Voss\footnote{\url{http://tug.ctan.org/tex-archive/graphics/pstricks/contrib/pst-3dplot}.}
34 %% On l'utilise : \psframebox[fillstyle=solid,fillcolor=yellow,linecolor=yellow]{\texttt{$\backslash$psLineIIID[options](x0,y0,z0)(x1,y1,z1)\ldots(xn,yn,zn)}},
35 %% avec les options suivantes possibles :
37 %% \item \texttt{linecolor=couleur} ;
38 %% \item \texttt{doubleline=true} ;
39 %% \item \texttt{linearc=valeur}.
41 %% On ne peut pas flécher les extrémités d'une ligne.
43 %% \psset{viewpoint=50 20 30 rtp2xyz,Decran=50}
44 %% \begin{LTXexample}[width=6.5cm]
45 %% \begin{pspicture}(-3,-4)(4,4)
46 %% \psframe(-3,-4)(4,4)
47 %% \psSolid[object=cube,a=4,action=draw*,fillcolor=magenta!20]%
48 %% \psLineIIID[linecolor=blue,linewidth=0.1,linearc=0.5,doubleline=true](-2,-2,-2)(2,2,2)(2,2,-2)(2,-2,0)
49 %% \psPoint(2,-2,0){A}\psPoint(-2,-2,-2){B}
50 %% \psPoint(2,2,2){C}\psPoint(2,2,-2){D}
51 %% \psdot[dotsize=0.2](A)\psdot[dotsize=0.2](B)
52 %% \psdot[dotsize=0.2](C)\psdot[dotsize=0.2](D)
53 %% \psLineIIID[linecolor=green](-2,-2,-2)(2,2,2)(2,2,-2)(2,-2,0)
54 %% \psPolygonIIID[linecolor=red,fillstyle=vlines,linearc=0.5,linewidth=0.1](-2,-2,2)(-2,2,2)(2,2,2)(2,-2,2)
55 %% \axesIIID(2,2,2)(4,4,4)
59 %% \section{Tracer un polygone}
60 %% On utilise : \psframebox[fillstyle=solid,fillcolor=yellow,linecolor=yellow]{\texttt{$\backslash$psPolygonIIID[options](x0,y0,z0)(x1,y1,z1)\ldots(xn,yn,zn)}},
61 %% avec les options suivantes possibles :
63 %% \item \texttt{linecolor=couleur} ;
64 %% \item \texttt{doubleline=true} ;
65 %% \item \texttt{linearc=valeur} ;
66 %% \item \texttt{fillstyle=solid} ;
67 %% \item \texttt{fillstyle=vlines} ou \texttt{fillstyle=hlines} ou \texttt{fillstyle=crosshatch}.
71 %% \section{Transformer un point et le mémoriser}
72 %% Soit un point initial $A(x,y,z)$. On fait subir à ce point des rotations autour des axes $Ox$, $Oy$ et $Oz$ d'angles respectifs :
73 %% \texttt{[RotX=valeurX,RotX=valeurY,RotX=valeurZ]}, dans cet ordre, puis on opère une translation de vecteur $(v_x,v_y,v_z)$. Le problème a été de récupérer les
74 %% coordonnées du point final $A'(x',y',z')$.
76 %% La commande \psframebox[fillstyle=solid,fillcolor=yellow,linecolor=yellow]{\texttt{$\backslash$psTransformPoint[RotX=valeurX,RotX=valeurY,RotX=valeurZ](x y z)(vx,vy,vz)\{A'\}}}
77 %% permet de stocker dans le n\oe{}ud $A'$, les coordonnées du point transformé.
79 %% Dans l'exemple suivant $A(2,2,2)$ est l'un des sommets du cube initial, dont le centre est placé à l'origine du repère.
82 %% \psSolid[object=cube,a=4,action=draw*,linecolor=red]%
85 %% Ce cube subit différentes transformations :
88 %% \psSolid[object=cube,a=4,action=draw*,RotX=-30,RotY=60,RotZ=-60](7.5,11.25,10)%
91 %% Pour obtenir l'image de $A$, on applique la commande suivante :
94 %% \psTransformPoint[RotX=-30,RotY=60,RotZ=-60](2 2 2)(7.5,11.25,10){A'}
97 %% Ce qui permet, par exemple, de nommer ces points et de dessiner le vecteur $\overrightarrow{AA'}$.
99 %% \begin{pspicture}(-2,-4)(6,6)
100 %% \psframe(-2,-4)(6,6)
102 %% %\psSolid[object=cube,a=4,action=draw,linecolor=red,fontsize=40,numfaces=all]%
103 %% \psSolid[object=cube,a=4,action=draw*,linecolor=red]%
104 %% \psPoint(2,2,2){A}\psdot(A)
105 %% %\psSolid[object=cube,a=4,action=draw,RotX=-30,RotY=60,RotZ=-60,fontsize=40,numfaces=all](7.5,11.25,10)%
106 %% \psSolid[object=cube,a=4,action=draw*,RotX=-30,RotY=60,RotZ=-60](7.5,11.25,10)%
107 %% \psTransformPoint[RotX=-30,RotY=60,RotZ=-60](2 2 2)(7.5,11.25,10){A'}
108 %% \psdot(A')\psline[linecolor=blue,arrowsize=0.3]{{o-v}}(A)(A')
109 %% \uput[u](A'){$A'$}\uput[u](A){$A$}
110 %% \psset{solidmemory}
111 %% \psSolid[object=cube,a=4,
113 %% action=none](0,0,0)
114 %% \psset{fontsize=100,
118 %% \psProjection[object=texte,linecolor=red,text=A]%
119 %% \psset{fontsize=100,
123 %% \psProjection[object=texte,linecolor=red,text=B]%
124 %% \psset{fontsize=100,
128 %% \psProjection[object=texte,linecolor=red,text=E]%
130 %% \psset{solidmemory}
131 %% \psSolid[object=cube,a=4,RotX=-30,RotY=60,RotZ=-60,
133 %% action=none](7.5,11.25,10)
134 %% \psset{fontsize=100,
138 %% \psProjection[object=texte,text=A]%
139 %% \psset{fontsize=100,
143 %% \psProjection[object=texte,text=B]%
144 %% \psset{fontsize=100,
148 %% \psProjection[object=texte,text=C]%
149 %% \axesIIID(2,2,2)(10,10,8)