diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/pst-solides3d/src/text/par-positionnersolide-en.tex')
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-solides3d/src/text/par-positionnersolide-en.tex | 305 |
1 files changed, 305 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-solides3d/src/text/par-positionnersolide-en.tex b/Master/texmf-dist/doc/generic/pst-solides3d/src/text/par-positionnersolide-en.tex new file mode 100644 index 00000000000..2e1a4086bda --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-solides3d/src/text/par-positionnersolide-en.tex @@ -0,0 +1,305 @@ +\section{Positioning a solid} + +\subsection{\Index{Translation}} + +The following command~ +\texttt{\Lcs{psSolid}[object=cube,+\textit{options}](x,y,z)} shifts the +centre of the cube to the point with the coordinates $\mathtt{(x,y,z)}$. + +The next example will copy the cube with edge length of 1 +\begin{pspicture}(-0.5,-0.5)(.5,.5) +\psset{Decran=40,viewpoint=50 35 35 rtp2xyz,a=1,lightsrc=50 30 20} +\psset{fillcolor=yellow,mode=3} +\psSolid[object=cube](0.5,0.5,0.5)% c1 +\end{pspicture} +to the points with the coordinates $\mathtt{(0.5,0.5,0.5)}$, + $\mathtt{(4.5,0.5,0.5)}$ etc. so that the copied cubes setup the vertices + of a new cube with the edge length 5. +\begin{center} +\begin{pspicture}(-4,-5)(5,5) +\psframe(-4,-5)(5,5) +%\psset{SphericalCoor,Decran=3,viewpoint=10 35 35,a=1,lightsrc=50 20 10} +\psset{Decran=40,viewpoint=50 35 35 rtp2xyz,a=1,lightsrc=50 30 20} +\psSolid[object=grille,base=0 6 0 6,fillcolor=gray!40]%% +\psSolid[object=grille,base=0 6 0 6,RotY=90,fillcolor=gray!30](0,0,6)% +\psSolid[object=grille,base=0 6 0 6,RotX=-90,fillcolor=gray!20](0,0,6)% +\psPoint(1,0.5,0.5){c11} +\psPoint(0.5,0.5,1){c12} +\psPoint(0.5,1,0.5){c13} +\psPoint(4.5,4.5,1){c21} +\psPoint(4,4.5,0.5){c22} +\psPoint(4.5,4,0.5){c23} +\psPoint(4,0.5,0.5){c41} +\psPoint(4.5,0.5,1){c42} +\psPoint(4.5,1,0.5){c43} +\psPoint(0.5,4,0.5){c51} +\psPoint(0.5,4.5,1){c52} +\psPoint(1,4.5,0.5){c53} +\psPoint(0.5,0.5,4){c61} +\psPoint(0.5,1,4.5){c62} +\psPoint(1,0.5,4.5){c63} +\psPoint(4,0.5,4.5){c71} +\psPoint(4.5,1,4.5){c72} +\psPoint(4.5,0.5,4){c73} +\axesIIID(1,1,1)(6,6,6) +{\psset{fillcolor=yellow,mode=3} +\psSolid[object=cube](0.5,0.5,0.5)% c1 +\psline[linestyle=dashed,linecolor=red,linewidth=1.5pt](c11)(c41) +\psline[linestyle=dashed,linecolor=red,linewidth=1.5pt](c12)(c61) +\psline[linestyle=dashed,linecolor=red,linewidth=1.5pt](c13)(c51) +\psSolid[object=cube](4.5,0.5,0.5) +\psSolid[object=cube](0.5,4.5,0.5) +\psSolid[object=cube](0.5,0.5,4.5) +\psSolid[object=cube](4.5,4.5,4.5) +\psSolid[object=cube](4.5,0.5,4.5) +\psSolid[object=cube](4.5,4.5,0.5) +\psSolid[object=cube](0.5,4.5,4.5)} +\psSolid[object=grille,base=0 5 0 5,action=draw,linecolor=blue!70,linewidth=1.2pt](0,0,5)% +\psSolid[object=grille,base=0 5 0 5,action=draw,linecolor=blue!70,RotY=90,linewidth=1.2pt](5,0,5)% +\psSolid[object=grille,base=0 5 0 5,action=draw,RotX=-90,linecolor=blue!70,linewidth=1.2pt](0,5,5)% +\end{pspicture} +\end{center} +\begin{verbatim} +\psset{fillcolor=yellow,mode=3} +\psSolid[object=cube](0.5,0.5,0.5) +\psSolid[object=cube](4.5,0.5,0.5) +\psSolid[object=cube](0.5,4.5,0.5) +\psSolid[object=cube](0.5,0.5,4.5) +\psSolid[object=cube](4.5,4.5,4.5) +\psSolid[object=cube](4.5,0.5,4.5) +\psSolid[object=cube](4.5,4.5,0.5) +\psSolid[object=cube](0.5,4.5,4.5) +\end{verbatim} + + +\subsection{Rotation} + +\subsection{Default sequence xyz} + +The \Index{rotation} is effected around the three axes $Ox$, $Oy$ and $Oz$. Let's take a cuboid as an example, +\begin{pspicture}(-1,-0.2)(1,.5) +\psset{Decran=40,viewpoint=50 35 35 rtp2xyz,a=2,b=3,c=1,lightsrc=50 30 30} +\psset{fillcolor=yellow,unit=0.5, + fcol= 0 (red) + 1 (Lavender) + 2 (SkyBlue) + 3 (LimeGreen) + 4 (OliveGreen) + 5 (Yellow) + 6 (Bittersweet)} +\psSolid[object=parallelepiped](0.5,0.5,0.5)% +\end{pspicture} +which will be rotated seperately around the axes $Ox$, $Oy$ and $Oz$. + +\begin{multicols}{4} +\psset{Decran=40,viewpoint=50 35 35 rtp2xyz,a=2,b=3,c=1} +\psset{unit=0.5, + fcol= 0 (red) + 1 (Lavender) + 2 (SkyBlue) + 3 (LimeGreen) + 4 (OliveGreen) + 5 (Yellow) + 6 (Bittersweet), + object=parallelepiped} +\setlength{\columnseprule}{1pt} +\centerline{ +\begin{pspicture}(-2.75,-2.5)(2.95,2.5) +\psframe(-2.75,-2.5)(2.95,2.5) +\psSolid%% +\axesIIID(1,1.5,1)(3,3,2) +\end{pspicture}} +\columnbreak +\centerline{ +\begin{pspicture}(-2.75,-2.5)(2.95,2.5) +\psframe(-2.75,-2.5)(2.95,2.5) +\psSolid[RotZ=60]%% +\psSolid[action=draw,linewidth=0.5\pslinewidth]%% +\axesIIID(1,1.5,1)(2,3,2) +\end{pspicture}} + +\centerline{\texttt{[RotZ=60]}} + +\columnbreak +\centerline{% +\begin{pspicture}(-2.75,-2.5)(2.95,2.5)) +\psframe(-2.75,-2.5)(2.95,2.5) +\psSolid[RotX=30]%% +\psSolid[action=draw,linewidth=0.5\pslinewidth]%% +\axesIIID(1,1.5,1)(2,3,2) +\end{pspicture}} + +\centerline{\texttt{[RotX=30]}} + +\columnbreak +\centerline{% +\begin{pspicture}(-2.75,-2.5)(2.95,2.5) +\psframe(-2.75,-2.5)(2.95,2.5) +\psSolid[RotY=45]%% +\psSolid[action=draw,linewidth=0.5\pslinewidth]%% +\axesIIID(1,1.5,1)(2,3,2) +\end{pspicture}} + +\centerline{\texttt{[RotY=-45]}} +\end{multicols} + + +\subsection{Rotations Sequence} + +\newpsstyle{sol}{fillstyle=crosshatch,hatchcolor=green,hatchwidth=0.25\pslinewidth,hatchsep=5\pslinewidth} +\makeatletter +\def\Die#1#2#3#4{ +\pstVerb{/posP \pst@solides@a\space 0.3 mul def + /rP \pst@solides@a\space 0.1 mul def + /dP \pst@solides@a\space 2 div neg def + /a_2 \pst@solides@a\space 2 div def}% +\psset{solidmemory} +%\psset{visibility=false} +\psSolid[action=draw**, + object=cube, +RotX=#2,RotY=#3,RotZ=#4,RotSequence=#1, + fontsize=15, + trunccoeff=.1, + trunc=all, +% fillcolor=yellow, + fcol=6 1 13 { (rouge) } for, + name=A + ](0,0,0)% +\psSolid[object=plan,action=none, + definition=solidface,args=A 0,name=P0] +\psset{plan=P0} +\psProjection[object=cercle,fillstyle=solid,fillcolor=black, + args=0 0 rP, + range=0 360] +\psSolid[object=plan,action=none, + definition=solidface,args=A 1,name=P1] +\psset{plan=P1} +\psProjection[object=cercle,fillstyle=solid,fillcolor=black, + args=0 0 rP, + range=0 360] +\psProjection[object=cercle,fillstyle=solid,fillcolor=black, + args=posP posP rP, + range=0 360] +\psProjection[object=cercle,fillstyle=solid,fillcolor=black, + args=posP neg posP neg rP, + range=0 360] +\psSolid[object=plan,action=none, + definition=solidface,args=A 2,name=P2] +\psset{plan=P2} +\psProjection[object=cercle,fillstyle=solid,fillcolor=black, + args=posP posP rP, + range=0 360] +\psProjection[object=cercle,fillstyle=solid,fillcolor=black, + args=posP neg posP neg rP, + range=0 360] +\psSolid[object=plan,action=none, + definition=solidface,args=A 3,name=P3] +\psset{plan=P3} +\psProjection[object=cercle,fillstyle=solid,fillcolor=black, + args=posP posP rP, + range=0 360] +\psProjection[object=cercle,fillstyle=solid,fillcolor=black, + args=posP posP neg rP, + range=0 360] +\psProjection[object=cercle,fillstyle=solid,fillcolor=black, + args=posP neg posP rP, + range=0 360] +\psProjection[object=cercle,fillstyle=solid,fillcolor=black, + args=posP neg posP neg rP, + range=0 360] +\psSolid[object=plan,action=none, + definition=solidface,args=A 4,name=P4] +\psset{plan=P4} +\psProjection[object=cercle,fillstyle=solid,fillcolor=black, + args=0 0 rP, + range=0 360] +\psProjection[object=cercle,fillstyle=solid,fillcolor=black, + args=posP posP rP, + range=0 360] +\psProjection[object=cercle,fillstyle=solid,fillcolor=black, + args=posP neg posP neg rP, + range=0 360] +\psProjection[object=cercle,fillstyle=solid,fillcolor=black, + args=posP posP neg rP, + range=0 360] +\psProjection[object=cercle,fillstyle=solid,fillcolor=black, + args=posP neg posP rP, + range=0 360] +\psSolid[object=plan,action=none, + definition=solidface,args=A 5,name=P5] +\psset{plan=P5} +\psProjection[object=cercle,fillstyle=solid,fillcolor=black, + args=0 posP rP, + range=0 360] +\psProjection[object=cercle,fillstyle=solid,fillcolor=black, + args=0 posP neg rP, + range=0 360] +\psProjection[object=cercle,fillstyle=solid,fillcolor=black, + args=posP posP rP, + range=0 360] +\psProjection[object=cercle,fillstyle=solid,fillcolor=black, + args=posP neg posP neg rP, + range=0 360] +\psProjection[object=cercle,fillstyle=solid,fillcolor=black, + args=posP posP neg rP, + range=0 360] +\psProjection[object=cercle,fillstyle=solid,fillcolor=black, + args=posP neg posP rP, + range=0 360] +\psSolid[object=vecteur, + args=4 0 0, + linecolor=green](a_2,0,0)% +\psSolid[object=vecteur, + args=0 4 0, + linecolor=red](0,a_2,0) +\psSolid[object=vecteur, + args=0 0 4, + linecolor=blue](0,0,a_2) +\rput(0,-2.5){\texttt{RotSequence=#1}} +} +\makeatother + +\begin{center} +\psset{viewpoint=50 60 25 rtp2xyz,Decran=25,lightsrc=viewpoint,a=4,solidmemory}% +\begin{pspicture}(-3,-3)(3,3) +\psframe(-3,-3)(3,3) +\Die{xyz}{0}{0}{0} +\rput(0,-2){\texttt{RotX=0,RotY=0,RotZ=0}} +\end{pspicture} + +\begin{pspicture}(-3,-3)(3,3) +\psframe(-3,-3)(3,3) +\Die{xyz}{90}{90}{90} +\rput(0,-2){\texttt{RotX=90,RotY=90,RotZ=90}} +\end{pspicture} +\begin{pspicture}(-3,-3)(3,3) +\psframe(-3,-3)(3,3) +\Die{xzy}{90}{90}{90} +\rput(0,-2){\texttt{RotX=90,RotY=90,RotZ=90}} +\end{pspicture} + +\begin{pspicture}(-3,-3)(3,3) +\psframe(-3,-3)(3,3) +\Die{yxz}{90}{90}{90} +\rput(0,-2){\texttt{RotX=90,RotY=90,RotZ=90}} +\end{pspicture} +\begin{pspicture}(-3,-3)(3,3) +\psframe(-3,-3)(3,3) +\Die{yzx}{90}{90}{90} +\rput(0,-2){\texttt{RotX=90,RotY=90,RotZ=90}} +\end{pspicture} + +\begin{pspicture}(-3,-3)(3,3) +\psframe(-3,-3)(3,3) +\Die{zxy}{90}{90}{90} +\rput(0,-2){\texttt{RotX=90,RotY=90,RotZ=90}} +\end{pspicture} +\begin{pspicture}(-3,-3)(3,3) +\psframe(-3,-3)(3,3) +\Die{zyx}{90}{90}{90} +\rput(0,-2){\texttt{RotX=90,RotY=90,RotZ=90}} +\end{pspicture} +\end{center} + + +\endinput |