Initialisation du projet pst-solides3d.git (SVN revision 142)
[pst-solides3d.git] / doc / par-definitionmaillage.tex
1 \section{Définition du maillage}
2
3 L'utilisateur peut spécifier le maillage du solide avec l'option
4 \Cadre{[ngrid]} dans la commande \verb+\psSolid+.
5
6 Pour les objets
7 \verb+cube+,
8 \verb+prisme+,
9 \verb+prismecreux+,
10 la syntaxe est \Cadre{[ngrid=$n_1$]} où $n_1$ représente le
11 nombre de mailles sur l'axe vertical.
12
13 Pour les objets
14 \verb+sphere+,
15 \verb+cylindre+,
16 \verb+cylindrecreux+,
17 \verb+cone+,
18 \verb+conecreux+,
19 \verb+tronccone+,
20 \verb+troncconecreux+,
21 \verb+tore+,
22 %%\verb+tore+,
23 la syntaxe est \hfill \break
24 \Cadre{[ngrid=$n_1$~$n_2$]} où $n_1$ est
25 entier supérieur ou égal à 1 (à $2$ pour \verb+tore+) représentant le
26 nombre de mailles sur l'axe vertical, et $n_2$ est un entier
27 représentant le nombre de divisions sur le cercle.
28
29 Pour les objets
30 \verb+grille+,
31 \verb+surface+,
32 \verb+surface*+,
33 \verb+surfaceparametree+,
34 la syntaxe est \Cadre{[ngrid=$n_1$~$n_2$]} où $n_1$ et $n_2$ peuvent
35 être réels ou entiers. Le nombre $n_1$ se rapporte à l'axe $Ox$ et
36 $n_2$ se rapporte à l'axe $Oy$.
37 Si $n_2$ est absent, on considère que $n_2 = n_1$.
38
39 Si $n_1$ est entier, il représente le nombre de mailles sur l'axe
40 $Ox$. S'il est réel, il représente le pas de maillage sur l'axe
41 $Ox$. Par exemple, le nombre codé \verb+1+ est entier, alors que celui
42 codé \verb+1.+ est réel (noter le point).
43
44
45 Voici quelques exemples~:
46
47 \subsection {La grille}
48
49 \begin{multicols}{2}
50 \psset{viewpoint=50 50 20 rtp2xyz,Decran=30}
51 \begin{pspicture}(-4.5,-1.5)(2.5,2.5)
52 \psframe(-3.5,-1.5)(2.5,2.5)
53 \psSolid[object=grille,
54 ngrid=1,
55 base=0 4 -3 3,
56 linecolor=gray](0,0,0)
57 \axesIIID(0,0,0)(3,3,3)
58 \end{pspicture}
59
60 \columnbreak
61
62 \begin{verbatim}
63 \psSolid[object=grille,
64 ngrid=1,
65 base=0 4 -3 3,
66 linecolor=gray](0,0,0)
67 \end{verbatim}
68 \end{multicols}
69
70 \begin{multicols}{2}
71 \psset{viewpoint=50 50 20 rtp2xyz,Decran=30}
72 \begin{pspicture}(-4.5,-1.5)(2.5,2.5)
73 \psframe(-3.5,-1.5)(2.5,2.5)
74 \psSolid[object=grille,
75 ngrid=1. 1,
76 base=0 4 -3 3,
77 linecolor=gray](0,0,0)
78 \axesIIID(0,0,0)(3,3,3)
79 \end{pspicture}
80
81 \columnbreak
82
83 \begin{verbatim}
84 \psSolid[object=grille,
85 ngrid=1. 1,
86 base=0 4 -3 3,
87 linecolor=gray](0,0,0)
88 \end{verbatim}
89 \end{multicols}
90
91 \subsection {Le cube}
92
93 \begin{center}
94 \psset{unit=0.5}
95 \begin{pspicture}(-7,-7)(7,7)
96 \psframe(-7,-7)(7,7)
97 \psset[pst-solides3d]{viewpoint=50 40 20,Decran=50,lightsrc=10 10 10}
98 \psSolid[a=8,object=cube,ngrid=4,fillcolor=yellow]%
99 %\psSolid[a=8,object=cube,linewidth=2pt,action=draw]%
100 \psPoint(0,0,0){O}
101 %\uput[r](O){$O$}
102 \psPoint(0,0,4){Ak}
103 \psPoint(0,0,8){Az}
104 \uput[u](Az){$z$}
105 \psPoint(4,0,0){Ai}
106 \psPoint(8,0,0){Ax}
107 \uput[u](Ax){$x$}
108 \psPoint(0,4,0){Aj}
109 \psPoint(0,8,0){Ay}
110 \uput[dr](Ay){$y$}
111 \psPoint(4,-4,0){A1}
112 \psPoint(4,4,0){A2}
113 \psPoint(-4,4,0){A3}
114 \psPoint(-4,-4,0){A4}
115 \uput[dr](Ay){$y$}
116 %\psline[linestyle=dashed](O)(Ai)
117 %\psline[linestyle=dashed](O)(Aj)
118 %\psline[linestyle=dashed](O)(Ak)
119 \psline[linecolor=green,arrowsize=2mm,arrowinset=0.2]{->}(Aj)(Ay)
120 \psline[linecolor=blue,arrowsize=2mm,arrowinset=0.2]{->}(Ai)(Ax)
121 \psline[linecolor=red,arrowsize=2mm,arrowinset=0.2]{->}(Ak)(Az)
122 \psdot[linecolor=green](Aj)
123 \psdot[linecolor=blue](Ai)
124 \psdot[linecolor=red](Ak)
125 \end{pspicture}
126 \hfill
127 \begin{pspicture}(-7,-7)(7,7)
128 \psframe(-7,-7)(7,7)
129 \psset[pst-solides3d]{viewpoint=50 45 10 rtp2xyz,Decran=40,lightsrc=30 45 0}
130 \psSolid[a=8,object=cube,ngrid=3,fcol=\colorfaces,RotY=45,RotX=30,RotZ=20]%
131 \end{pspicture}
132 \end{center}
133 \begin{multicols}{2}
134
135 Pour le premier exemple, le maillage des faces est fixé à $4\times4$
136 facettes/face et la commande est la suivante~:
137 \begin{verbatim}
138 \psSolid[a=8,object=cube,ngrid=4,
139 fillcolor=yellow]%
140 \end{verbatim}
141 Dans le deuxième exemple, le maillage des faces est fixé à $3\times3$
142 et les couleurs des facettes sont diverses. On utilise le package
143 \texttt{arrayjob} pour stocker les couleurs :
144 \begin{verbatim}
145 \newarray\colors
146 \readarray{colors}{%
147 Apricot&Aquamarine%
148 etc.}
149 \end{verbatim}
150 Puis la liste des couleurs à afficher est donnée par la commande :
151 \begin{verbatim}
152 \edef\colorfaces{}%
153 \multido{\i=0+1}{67}{%
154 \checkcolors(\i)
155 \xdef\colorfaces{%
156 \colorfaces\i\space(\cachedata)\space}
157 }
158 \end{verbatim}
159 On place l'option~:~\verb+fcol=\colorfaces+.
160 Le cube maillé est appelé par :
161 \begin{verbatim}
162 \psSolid[a=8,object=cube,ngrid=3,%
163 fcol=\colorfaces,
164 RotY=45,RotX=30,RotZ=20]%
165 \end{verbatim}
166 L'option \texttt{[grid]} permet, éventuellement, de ne pas
167 tracer les traits du quadrillage.
168 \end{multicols}
169
170 \newpage
171
172 \subsection {La sphère}
173
174 \begin{multicols}{2}
175 \setlength{\columnseprule}{1pt}
176 \psset{unit=0.5}
177 \centerline{
178 \begin{pspicture}(-5,-5)(5,5)
179 \psframe(-5,-5)(5,5)
180 \psset{Decran=35}
181 \psset{color1=cyan,color2=red}
182 \psSolid[
183 fcol=251 (OliveGreen) 232 (color1) 214 (color2),
184 object=sphere,
185 ngrid=16 18,
186 RotX=180,RotZ=30
187 ]%
188 \end{pspicture}}
189 %
190 \begin{verbatim}
191 \psset{color1=cyan,color2=red}
192 fcol=251 (OliveGreen) 232 (color1) 214 (color2),
193 object=sphere,
194 ngrid=16 18,
195 RotX=180,RotZ=30
196 ]%
197 \end{verbatim}
198 \columnbreak
199 \centerline{
200 \begin{pspicture}(-5,-5)(5,5)
201 \psframe(-5,-5)(5,5)
202 \psset{Decran=35}
203 \psset{color1=cyan,color2=red}
204 \psSolid[
205 action=draw*,
206 fcol=0 (OliveGreen) 2 (color1) 3 (color2),
207 object=sphere,
208 ngrid=4 4,
209 RotX=180,RotZ=30
210 ]%
211 \end{pspicture}}
212 \begin{verbatim}
213 \psset{color1=cyan,color2=red}
214 \psSolid[
215 action=draw*,
216 fcol=0 (OliveGreen) 2 (color1) 3 (color2),
217 object=sphere,
218 ngrid=4 4,
219 RotX=180,RotZ=30
220 ]%
221 \end{verbatim}
222 \end{multicols}
223
224 \subsection {Cylindres}
225 \begin{multicols}{2}
226 \psset{unit=0.5}
227 \setlength{\columnseprule}{1pt}
228 \centerline{
229 \begin{pspicture}(-5,-5)(5,5)
230 \psframe(-5,-5)(5,5)
231 \psset{Decran=20}
232 \psset{color1=cyan,color2=red}
233 \psSolid[
234 fcol=0 (OliveGreen) 2 (color1) 3 (color2),
235 h=5,r=2,
236 object=cylindrecreux,
237 ngrid=4 30,
238 RotZ=30
239 ](0,0,-2.5)
240 \end{pspicture}}
241 \columnbreak
242 \begin{verbatim}
243 \psset{color1=cyan,color2=red}
244 \psSolid[
245 fcol=0 (OliveGreen) 2 (color1) 3 (color2),
246 h=5,r=2,
247 object=cylindrecreux,
248 ngrid=4 30,
249 RotZ=30
250 ](0,0,-2.5)
251 \end{verbatim}
252 \end{multicols}
253 %
254 \begin{multicols}{2}
255 \psset{unit=0.5}
256 \setlength{\columnseprule}{1pt}
257 \centerline{
258 \begin{pspicture}(-5,-5)(5,5)
259 \psframe(-5,-5)(5,5)
260 \psset{Decran=20}
261 \psset{color1=cyan,color2=red}
262 \psSolid[
263 action=draw*,
264 fcol=0 (OliveGreen) 2 (color1) 3 (color2),
265 h=5,r=2,
266 object=cylindre,
267 ngrid=2 12,
268 RotY=-20
269 ](0,0,-2.5)
270 \end{pspicture}}
271 \columnbreak
272 \begin{verbatim}
273 \psset{color1=cyan,color2=red}
274 \psSolid[
275 action=draw*,
276 fcol=0 (OliveGreen) 2 (color1) 3 (color2),
277 object=cylindre,
278 ngrid=2 12,
279 RotY=-20
280 ](0,0,-2.5)
281 \end{verbatim}
282 \end{multicols}
283
284 %\newpage
285
286 \subsection{Tore}
287 \begin{multicols}{2}
288 \setlength{\columnseprule}{1pt}
289 \psset{unit=0.5}
290 \centerline{
291 \begin{pspicture}(-5,-5)(5,5)
292 % \psframe(-2,-2)(2,2)
293 \psset{Decran=20}
294 \psSolid[r1=2.5,r0=1.5,object=tore,ngrid=4 36, fillcolor=green!30,action=draw**]%
295 \axesIIID(4,4,0)(5,5,4)
296 \end{pspicture}}
297 \columnbreak
298 \begin{verbatim}
299 \psSolid[r1=2.5,r0=1.5,
300 object=tore,
301 ngrid=4 36,
302 fillcolor=green!30,
303 action=draw**]%
304 \end{verbatim}
305 \end{multicols}
306 %
307 \begin{multicols}{2}
308 \setlength{\columnseprule}{1pt}
309 \psset{unit=0.5}
310 \centerline{
311 \begin{pspicture}(-5,-5)(5,5)
312 % \psframe(-2,-2)(2,2)
313 \psset{Decran=20}
314 \psSolid[r1=3.5,r0=1,object=tore,ngrid=9 18,fillcolor=magenta!30,action=draw**]%
315 \axesIIID(4.5,4.5,0)(5,5,4)
316 \end{pspicture}}
317 \columnbreak
318 \begin{verbatim}
319 \psSolid[r1=3.5,r0=1,
320 object=tore,
321 ngrid=9 18,
322 fillcolor=magenta!30,
323 action=draw**]%
324 \end{verbatim}
325 \end{multicols}

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.