diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/pst-solides3d/doc/par-surfaces.tex')
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-solides3d/doc/par-surfaces.tex | 218 |
1 files changed, 218 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-solides3d/doc/par-surfaces.tex b/Master/texmf-dist/doc/generic/pst-solides3d/doc/par-surfaces.tex new file mode 100644 index 00000000000..6965749e9c3 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-solides3d/doc/par-surfaces.tex @@ -0,0 +1,218 @@ +\section{Présentation} + +Cette commande prend la forme suivante : +\begin{verbatim} +\psSurface[options](xmin,ymin)(xmax,ymax){equation de la surface z=f(x,y)} +\end{verbatim} +avec comme options possibles les mêmes que dans le cas des solides +avec quelques options spécifiques : +\begin{itemize} + \item Le maillage de la surface est défini par le paramètre + \verb+[ngrid=n1 n2]+, qui possède quelques particularités : + +\psframebox[fillstyle=solid,fillcolor=yellow,linestyle=none]{% +\begin{minipage}{1\linewidth} + \begin{itemize} + \item Si \texttt{n1} et/ou \texttt{n2 } sont entiers, ce(s) + nombre(s) représente(nt) le nombre de mailles suivant $Ox$ et/ou + $Oy$. + \item Si \texttt{n1} et/ou \texttt{n2 } sont décimaux, ce(s) + nombre(s) représente(nt) le pas d'incrémentation suivant $Ox$ + et/ou $Oy$. + \item Si \texttt{[ngrid=n]} ne possède qu'un seul paramètre, alors + le nombre de mailles ou, suivant le cas, le pas d'incrémentation + sera identique sur les deux axes. + \end{itemize} +\end{minipage} + } + \item \textbf{\textdbend{} \texttt{[algebraic]} : cette option + permet d'écrire la fonction en notation algébrique, \texttt{pstricks.pro} contient maintenant le code \texttt{AlgToPs} + de Dominique Rodriguez qui le permet et qui auparavant était inclus dans \texttt{pstricks-add.pro}. Cette version de \texttt{pstricks} + est fournie avec \texttt{pst-solides3d}. Le cas échéant, il faudra inclure le package \texttt{pstricks-add} dans le préambule de votre document.} + \item \texttt{[grid]} : par défaut le maillage est activé, si + l'option \texttt{[grid]} est écrite, alors le maillage est désactivé~! + \item \texttt{[axesboxed]} : cette option permet de tracer un + quadrillage 3D de façon semi-automatique, car il convient de placer + à la main les bornes de $z$, par défaut cette option est désactivée : + \begin{itemize} + \item \texttt{[Zmin]} ; + \item \texttt{[Zmax]} ; + \item \texttt{[QZ]} : permet de décaler verticalement le repère + de la valeur \texttt{[QZ=valeur]} ; + \item \texttt{[spotX]} : permet de placer, si le choix fait par + défaut n'est pas satisfaisant, les valeurs des graduations sur l'axe + des $x$ autour de l'extrémité de la graduation. + Cette valeur est celle que l'on indique à la commande \verb+\uput[angle](x,y){donnée}+ ; + \item \texttt{[spotY]} : idem ; + \item \texttt{[spotZ]} : idem. + \end{itemize} +\end{itemize} +Si l'option \Cadre{[axesboxed]} ne vous donne pas satisfaction il est +possible d'adapter la commande suivante, qui convient au premier +exemple : +\begin{gbar} +\small +\begin{verbatim} +\psSolid[object=parallelepiped,a=8,b=8,c=8,action=draw](0,0,0) +\multido{\ix=-4+1}{9}{% + \psPoint(\ix\space,4,-4){X1} + \psPoint(\ix\space,4.2,-4){X2} + \psline(X1)(X2)\uput[dr](X1){\ix}} +\multido{\iy=-4+1}{9}{% + \psPoint(4,\iy\space,-4){Y1} + \psPoint(4.2,\iy\space,-4){Y2} + \psline(Y1)(Y2)\uput[dl](Y1){\iy}} +\multido{\iz=-4+1}{9}{% + \psPoint(4,-4,\iz\space){Z1} + \psPoint(4,-4.2,\iz\space){Z2} + \psline(Z1)(Z2)\uput[l](Z1){\iz}} +\end{verbatim} +\end{gbar} +%L'option \Cadre{[hue=0 1]} permet de remplir les facettes avec des dégradés +%de couleur. +\section{Exemple 1 : selle de cheval} +\begin{LTXexample}[pos=t,numbersep=1em] +\psset{unit=0.75} +\psset{viewpoint=50 40 30 rtp2xyz,Decran=50} +\psset{lightsrc=viewpoint} +\begin{pspicture}(-6,-7)(7,7) +\psSurface[ngrid=.25 .25,incolor=yellow, + linewidth=0.5\pslinewidth,axesboxed, + algebraic,hue=0 1](-4,-4)(4,4){% + ((y^2)-(x^2))/4 } +\end{pspicture} +\end{LTXexample} +%\newpage +\section{Exemple 2 : selle de cheval sans maillage} + +Les lignes du maillage sont supprimées en écrivant dans les options : +\verb+grid+. +\begin{LTXexample}[pos=t,numbersep=1em] +\psset{unit=0.75} +\psset{lightsrc=30 30 25} +\psset{viewpoint=50 40 30 rtp2xyz,Decran=50} +\begin{pspicture}(-6,-8)(7,8) +\psSurface[fillcolor=red!50,ngrid=.25 .25, + incolor=yellow,linewidth=0.5\pslinewidth, + grid,axesboxed](-4,-4)(4,4){% + y dup mul x dup mul sub 4 div } +\end{pspicture} +\end{LTXexample} + +%\newpage + +\section{Exemple 3 : paraboloïde} + +\begin{LTXexample}[pos=t,numbersep=1em] +\psset{unit=0.75} +\psset{lightsrc=30 -10 10,linewidth=0.5\pslinewidth} +\psset{viewpoint=50 40 30 rtp2xyz,Decran=50} +\begin{pspicture}(-6,-4)(7,12) +\psSolid[object=grille,base=-4 4 -4 4,action=draw]% +\psSurface[ + fillcolor=cyan!50, + intersectionplan={[0 0 1 -5]}, + intersectioncolor=(bleu), + intersectionlinewidth=3, + intersectiontype=0, + ngrid=.25 .25,incolor=yellow, + axesboxed,Zmin=0,Zmax=8,QZ=4](-4,-4)(4,4){% + y dup mul x dup mul add 4 div } +\end{pspicture} +\end{LTXexample} + +%\newpage + +\section{Exemple 4} +\begin{LTXexample}[pos=t,numbersep=1em] +\psset{unit=0.75} +\psset{lightsrc=30 -10 10} +\psset{viewpoint=50 20 30 rtp2xyz,Decran=70} +\begin{pspicture}(-7,-8)(7,8) +\psSurface[ngrid=.2 .2,algebraic,axesboxed,Zmin=-1,Zmax=1, + linewidth=0.5\pslinewidth,spotX=r,spotY=d,spotZ=l, + hue=0 1](-5,-5)(5,5){% + sin((x^2+y^2)/3) } +\end{pspicture} +\end{LTXexample} + +%\newpage + +\section{Exemple 5} +Dans cet exemple, on montre comment colorier les facettes chacune avec +une teinte différente en utilisant directement le code +\texttt{postscript}. +\begin{LTXexample}[pos=t,numbersep=1em] +\psset{unit=0.5} +\psset{lightsrc=30 -10 10} +\psset{viewpoint=100 20 20 rtp2xyz,Decran=80} +\begin{pspicture}(-6,-12)(7,14) +\psSurface[ngrid=0.4 0.4,algebraic,axesboxed,Zmin=-2,Zmax=10,QZ=4, + linewidth=0.25\pslinewidth, + fcol=0 1 4225 + {/iF ED iF [iF 4225 div 0.75 1] (sethsbcolor) astr2str} for + ](-13,-13)(13,13){% + 10*sin(sqrt((x^2+y^2)))/(sqrt(x^2+y^2)) } +\end{pspicture} +\end{LTXexample} + +%\newpage + +\section{Exemple 6 : paraboloïde hyperbolique d'équation $z = xy$} + +Dans cet exemple, on combine le tracé de la surface et celui des +contours de l'intersection du paraboloïde avec les plans $z=4$ et +$z=-4$. +Pour cela on utilise \verb+\psSolid[object=courbe]+. +\begin{verbatim} +\defFunction{F}(t){t}{4 t div 4 min}{4} +\psSolid[object=courbe,range=1 4, + linecolor=red,linewidth=2\pslinewidth, + function=F] +\end{verbatim} +On notera l'utilisation de deux fonctions \texttt{min} et +\texttt{max}, qui permettent à partir d'un couple de valeurs, +d'extraire la plus petite ou la plus grande. +\begin{center} +\psset{unit=0.75} +\psset{viewpoint=50 20 30 rtp2xyz,Decran=50} +\psset{lightsrc=viewpoint,linewidth=0.5\pslinewidth} +\begin{pspicture}(-6,-7)(7,7) +\psSolid[object=datfile,file=paraboloid,hue=0 1 0.5 1,incolor=yellow] +\gridIIID[Zmin=-4,Zmax=4,spotX=r](-4,4)(-4,4) +\defFunction{F}(t){t}{4 t div 4 min}{4} +\psSolid[object=courbe,range=1 4,r=0, + linecolor=red,linewidth=2\pslinewidth, + function=F] +\defFunction{G}(t){t}{4 t div -4 max}{4} +\psSolid[object=courbe,range=-1 -4,r=0, + linecolor=red,linewidth=2\pslinewidth, + function=G] +\defFunction{H}(t){t neg}{4 t div -4 max}{-4} +\psSolid[object=courbe,range=-1 -4,r=0, + linecolor=red,linewidth=2\pslinewidth, + function=H] +\end{pspicture} +\end{center} +\begin{gbar} + \begin{verbatim} +\psSurface[hue=0 1,ngrid=.2 .5,incolor=yellow,axesboxed, + Zmin=-4,Zmax=4,spotX=r](-4,-4)(4,4){x y mul 4 min -4 max} +\end{verbatim} +\end{gbar} +%\newpage + +\section{Exemple 8 : surface d'équation $z = xy(x^2+y^2)$} + +\begin{LTXexample}[pos=t,numbersep=1em] +\psset{unit=0.5} +\psset{lightsrc=10 12 20,linewidth=0.5\pslinewidth} +\psset{viewpoint=30 50 60 rtp2xyz,Decran=50} +\begin{pspicture}(-10,-10)(10,10) +\psSurface[ + fillcolor=cyan!50,algebraic,axesboxed, + ngrid=.25 .25,incolor=yellow,hue=0 1, + Zmin=-3,Zmax=3](-3,-3)(3,3){% + x*y*(x^2-y^2)*0.1} +\end{pspicture} +\end{LTXexample} |