Initialisation du projet pst-solides3d.git (SVN revision 142)
[pst-solides3d.git] / doc / .svn / text-base / par-surfacesparametrees.tex.svn-base
1 \section{Les surfaces paramétrées}
2 \subsection{Méthode}
3 Les surfaces paramétrées écrites sous la forme $[x(u,v),y(u,v),z(u,v)]$
4 seront gérées grâce à la commande \verb+\psSolid+ par l'option 
5 \Cadre{object=surfaceparametree} et définies soit en \textit{notation
6 polonaise inverse} (\texttt{RPN}, \textit{Reverse Polish Notation})~: 
7
8 {\red
9 \begin{verbatim}
10 \defFunction{shell}(u,v){1.2 v exp u Sin dup mul v Cos mul mul}% x(u,v)
11                         {1.2 v exp u Sin dup mul v Sin mul mul}% y(u,v)
12                         {1.2 v exp u Sin u Cos mul mul}        %z(u,v)
13 \end{verbatim}
14 }
15 soit en \textit{notation algébrique} :
16 {\red
17 \begin{verbatim}
18 \defFunction[algebraic]{shell}(u,v){1.2^v*(sin(u)^2*cos(v))}% x(u,v)
19                                    {1.2^v*(sin(u)^2*sin(v))}% y(u,v)
20                                    {1.2^v*(sin(u)*cos(u))}  %z(u,v)
21 \end{verbatim}
22 }
23 Les plages de valeurs pour $u$ et $v$ sont définies dans l'option
24 \Cadre{range=$\mathtt{u_{min}}$ $\mathtt{u_{max}}$ $\mathtt{v_{min}}$
25 $\mathtt{v_{max}}$}.  %$
26
27 Le tracé de la fonction est activé par
28 \Cadre{function=nom\_de\_la\_fonction}, ce nom a été précisé lorsque les
29 équations paramétriques ont été écrites :
30 \verb+\defFunction{nom_de_la_fonction}...+
31
32 Tout autre choix que $u$ et $v$ est acceptable. Rappelons que l'argument de
33 \Cadre{Sin} et \Cadre{Cos} doit être en radians et celui de \Cadre{sin} et
34 \Cadre{cos} en degrés si vous utilisez la \textit{RPN}. En notation
35 algébrique, l'argument est en radians.
36
37
38 \subsection{Exemple 1 : dessin d'un coquillage}
39 \newcommand\quadrillage{%
40 \psset{linecolor={[cmyk]{1,0,1,0.5}}}\green
41 \multido{\ix=-4+1}{9}{%
42     \psPoint(\ix\space,4,-3){X1}
43     \psPoint(\ix\space,4 .2 add,-3){X2}
44     \psline(X1)(X2)
45     \uput[-120](X1){\small\ix}}
46 \multido{\iy=-4+1}{9}{%
47     \psPoint(-4,\iy\space,-3){Y1}
48     \psPoint(-4 .2 sub,\iy\space,-3){Y2}
49     \psline(Y1)(Y2)
50     \uput[0](Y1){\small\iy}}
51 \multido{\iz=-3+1}{7}{%
52     \psPoint(4,4,\iz\space){Z1}
53     \psPoint(4,4 .2 add,\iz\space){Z2}
54     \psline(Z1)(Z2)
55     \uput[l](Z1){\small\iz}}
56 \psPoint(0,4 0.5 add,-3){X0}
57 \uput[-120](X0){$x$}
58     \psPoint(-4 .5 sub,0,-3){Y0}
59 \uput[0](Y0){$y$}}
60 \begin{LTXexample}[width=7.8cm]
61 \psset{unit=0.75}
62 \begin{pspicture}(-5.5,-6)(4.5,4)
63 \psframe*(-5.5,-6)(4.5,4)
64 \psset[pst-solides3d]{viewpoint=20 120 30 rtp2xyz,
65   Decran=15,lightsrc=-10 15 10}
66 % Parametric Surfaces
67 \psSolid[object=grille,base=-4 4 -4 4,
68   action=draw*,linecolor={[cmyk]{1,0,1,0.5}}]
69   (0,0,-3)
70 \defFunction{shell}(u,v)
71   {1.2 v exp u Sin dup mul v Cos mul mul}
72   {1.2 v exp u Sin dup mul v Sin mul mul}
73   {1.2 v exp u Sin u Cos mul mul}
74 \psSolid[object=surfaceparametree,
75   linecolor={[cmyk]{1,0,1,0.5}},
76   base=0 pi pi 4 div neg 5 pi mul 2 div,
77   fillcolor=yellow!50,incolor=green!50,
78   function=shell,linewidth=0.5\pslinewidth,ngrid=25]%
79 \psSolid[object=parallelepiped,a=8,b=8,c=6,
80   action=draw,linecolor={[cmyk]{1,0,1,0.5}}]%
81 \quadrillage
82 \end{pspicture}
83 \end{LTXexample}
84
85 \begin{LTXexample}[width=7.8cm]
86 \psset{unit=0.75}
87 \begin{pspicture}(-5,-4)(5,6)
88 \psframe*(-5,-4)(5,6)
89 \psset[pst-solides3d]{viewpoint=20 20 -10 rtp2xyz,
90   Decran=15,lightsrc=5 10 2}
91 % Parametric Surfaces
92 \psSolid[object=grille,base=-4 4 -4 4,
93   action=draw*,linecolor=red](0,0,-3)
94 \defFunction[algebraic]{shell}(u,v)
95   {1.21^v*(sin(u)*cos(u))}
96   {1.21^v*(sin(u)^2*sin(v))}
97   {1.21^v*(sin(u)^2*cos(v))}
98 %% \defFunction{shell}(u,v)
99 %%    {1.2 v exp u Sin u Cos mul mul}
100 %%    {1.2 v exp u Sin dup mul v Sin mul mul}
101 %%    {1.2 v exp u Sin dup mul v Cos mul mul}
102 \psSolid[object=surfaceparametree,
103    linecolor={[cmyk]{1,0,1,0.5}},
104    base=0 pi pi 4 div neg 5 pi mul 2 div,
105    fillcolor=green!50,incolor=yellow!50,
106    function=shell,linewidth=0.5\pslinewidth,
107    ngrid=25]%
108 \white%
109 \gridIIID[Zmin=-3,Zmax=4,linecolor=white,
110   QZ=0.5](-4,4)(-4,4)
111 \end{pspicture}
112 \end{LTXexample}
113
114
115
116 \subsection{Exemple 2 : une hélice tubulaire}
117 \begin{LTXexample}[width=5.5cm]
118 \psset{unit=0.75}
119 \begin{pspicture}(-3,-4)(3,6)
120 \psset[pst-solides3d]{viewpoint=20 10 2,Decran=20,
121   lightsrc=20 10 10}
122 % Parametric Surfaces
123 \defFunction{helix}(u,v)
124   {1 .4 v Cos mul sub u Cos mul 2 mul}
125   {1 .4 v Cos mul sub u Sin mul 2 mul}
126   {.4 v Sin mul u .3 mul add}
127 \psSolid[object=surfaceparametree,linewidth=0.5\pslinewidth,
128   base=-10 10 0 6.28,fillcolor=yellow!50,incolor=green!50,
129   function=helix,
130   ngrid=60 0.4]%
131 \gridIIID[Zmin=-3,Zmax=3](-2,2)(-2,2)
132 \end{pspicture}
133 \end{LTXexample}
134
135
136 \subsection{Exemple 3 : un cône}
137 \begin{LTXexample}[width=10cm]
138 \psset{unit=0.5}
139 \begin{pspicture}(-9,-7)(10,12)
140 \psframe*(-9,-7)(10,12)
141 \psset[pst-solides3d]{
142   viewpoint=20 5 10,
143   Decran=50,lightsrc=20 10 5}
144 \psSolid[
145   object=grille,base=-2 2 -2 2,
146   linecolor=white](0,0,-2)
147 % Parametric Surfaces
148 \defFunction{cone}(u,v)
149   {u v Cos mul}{u v Sin mul}{u}
150 \psSolid[object=surfaceparametree,
151    base=-2 2 0 2 pi mul,
152    fillcolor=yellow!50,
153    incolor=green!50,function=cone,
154    linewidth=0.5\pslinewidth,
155    ngrid=25 40]%
156 \psset{linecolor=white}\white
157 \gridIIID[Zmin=-2,Zmax=2]
158   (-2,2)(-2,2)
159 \end{pspicture}
160 \end{LTXexample}
161
162
163 \subsection{Un site}
164 Vous trouverez sur le site :
165
166 \centerline{\url{http://k3dsurf.sourceforge.net/}}
167
168 un excellent logiciel pour représenter les surfaces avec de nombreux
169 exemples de surfaces paramétrées et autres.

Licence Creative Commons Les fichiers de Syracuse sont mis à disposition (sauf mention contraire) selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.