summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/pst-solides3d/doc/par-surfaces.tex
diff options
context:
space:
mode:
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.tex218
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}