Initialisation du projet pst-solides3d.git (SVN revision 142)
[pst-solides3d.git] / doc / .svn / text-base / par-colorierfacettes.tex.svn-base
1 \section {Colorier les facettes une à une}
2
3 L'argument \Cadre{[fcol=%
4    $i_0$ ($c_0$)~%
5    $i_1$~($c_1$)~%
6    \dots
7    $i_n$~($c_n$)~]},
8 où les $i_k$ sont des entiers et les $c_k$ des noms de couleurs,
9 permet de spécifier la couleur de faces particulières. \` A la face
10 d'incice $i_k$ correspond la couleur $c_k$. L'entier $n$ doit être
11 inférieur à l'indice maximum des faces du solide considéré.
12
13
14
15 %% L'option \texttt{[fcol=1 (OliveGreen) 0 (color1) 4 (color2) etc.]}
16 %% permet de spécifier dans l'ordre :
17 %% \begin{itemize}
18 %%   \item le numéro de la facette  de \texttt{0} à \texttt{n-1}, pour \texttt{n} facettes ;
19 %%   \item la couleur de la facette.
20 %% \end{itemize}
21
22 Pour les noms de couleurs $c_k$, il y a $68$~valeurs
23 prédéfinies (soit tous les noms définis dans le fichier
24 \verb+color.pro+ au $12$~octobre $2007$). Ces valeurs sont~:
25 \textsl{GreenYellow},
26 \textsl{Yellow},
27 \textsl{Goldenrod},
28 \textsl{Dandelion},
29 \textsl{Apricot},
30 \textsl{Peach},
31 \textsl{Melon},
32 \textsl{YellowOrange},
33 \textsl{Orange},
34 \textsl{BurntOrange},
35 \textsl{Bittersweet},
36 \textsl{RedOrange},
37 \textsl{Mahogany},
38 \textsl{Maroon},
39 \textsl{BrickRed},
40 \textsl{Red},
41 \textsl{OrangeRed},
42 \textsl{RubineRed},
43 \textsl{WildStrawberry},
44 \textsl{Salmon},
45 \textsl{CarnationPink},
46 \textsl{Magenta},
47 \textsl{VioletRed},
48 \textsl{Rhodamine},
49 \textsl{Mulberry},
50 \textsl{RedViolet},
51 \textsl{Fuchsia},
52 \textsl{Lavender},
53 \textsl{Thistle},
54 \textsl{Orchid},
55 \textsl{DarkOrchid},
56 \textsl{Purple},
57 \textsl{Plum},
58 \textsl{Violet},
59 \textsl{RoyalPurple},
60 \textsl{BlueViolet},
61 \textsl{Periwinkle},
62 \textsl{CadetBlue},
63 \textsl{CornflowerBlue},
64 \textsl{MidnightBlue},
65 \textsl{NavyBlue},
66 \textsl{RoyalBlue},
67 \textsl{Blue},
68 \textsl{Cerulean},
69 \textsl{Cyan},
70 \textsl{ProcessBlue},
71 \textsl{SkyBlue},
72 \textsl{Turquoise},
73 \textsl{TealBlue},
74 \textsl{Aquamarine},
75 \textsl{BlueGreen},
76 \textsl{Emerald},
77 \textsl{JungleGreen},
78 \textsl{SeaGreen},
79 \textsl{Green},
80 \textsl{ForestGreen},
81 \textsl{PineGreen},
82 \textsl{LimeGreen},
83 \textsl{YellowGreen},
84 \textsl{SpringGreen},
85 \textsl{OliveGreen},
86 \textsl{RawSienna},
87 \textsl{Sepia},
88 \textsl{Brown},
89 \textsl{Tan},
90 \textsl{Gray},
91 \textsl{Black},
92 \textsl{White}.
93 La liste de ces $68$ couleurs est disponible dans la commande
94 \verb+\colorfaces+ (voir exemple d'utilisation dans le paragraphe sur
95 le maillage du cube).
96
97 \textdbend{} Prévoir dans ce cas que le nombre de faces
98 $\mathtt{n_1\times n_2}+2\texttt{(faces supérieure et inférieure)}$
99 soit plus petit que 68~!
100
101 L'utilisateur peut également définir ses propres couleurs. Il dispose
102 pour cela de deux méthodes~:
103
104 \begin{itemize}
105
106 \item Il utilise l'un des $4$~arguments optionnels \texttt{[color1]},
107   \texttt{[color2]}, \texttt{[color3]}, \texttt{[color4]} de
108   \verb+\psSolid+, puis il transmet à \verb+fcol+ une paire du type
109   $i$~\verb+(color1)+ où $i$ est l'indice de la face considérée. Les
110   arguments \texttt{[color1]}, etc\dots s'utilisent de la même façon
111   que les arguments \texttt{color} et \texttt{incolor}.\hfill \break
112   Par exemple, la commande suivante est une commande valide~:
113   \begin{verbatim}
114    \psSolid[a=1,object=cube,color1=red!60!yellow!20,fcol=0 (color1)]%
115   \end{verbatim}
116
117
118 \item Il définit ses propres noms de couleurs avec la commande
119   \verb+\pstVerb+ puis utilise ces noms avec l'argument
120   \texttt{[fcol]}. Par exemple~:
121 \begin{verbatim}
122 \pstVerb{/hetre {0.764 0.6 0.204 setrgbcolor} def
123          /chene {0.568 0.427 0.086 setrgbcolor} def
124          /cheneclair {0.956 0.921 0.65 setrgbcolor} def
125          }%
126 \end{verbatim}
127 Puis ensuite~:
128 \begin{verbatim}
129 fcol=0 (hetre) 1 (chene)  2 (cheneclair)
130 \end{verbatim}
131
132 \end{itemize}
133
134
135 Les $4$~arguments
136 \verb+color1+,
137 \verb+color2+,
138 \verb+color3+,
139 \verb+color4+ ont des valeurs par défaut~:
140 \begin{itemize}
141     \item \textcolor{cyan!50}{color1=cyan!50}
142     \item \textcolor{magenta!60}{color2=magenta!60}
143     \item \textcolor{blue!30}{color3=blue!30}
144     \item \textcolor{red!50}{color4=red!50}
145 \end{itemize}
146
147 %\newpage
148
149 \begin{multicols}{2}
150 \setlength{\columnseprule}{1pt}
151 \psset{unit=0.45}
152 \psset{Decran=20,viewpoint=10 5 10}
153 \centerline{
154 \begin{pspicture}(-5,-5)(5,5)
155 \psframe(-5,-5)(5,5)
156 \psSolid[
157    fcol=0 (Apricot) 1 (Aquamarine)  2 (Bittersweet)
158         3 (ForestGreen) 4 (Goldenrod)
159         13 (GreenYellow)
160         40 (Mulberry),
161    object=cube,mode=3
162 ]%
163 \end{pspicture}}
164 \columnbreak
165 \begin{verbatim}
166 \psSolid[
167    fcol=0 (Apricot)
168         1 (Aquamarine)
169         2 (Bittersweet)
170         3 (ForestGreen)
171         4 (Goldenrod)
172         13 (GreenYellow)
173         40 (Mulberry),
174   object=cube,mode=3
175     ]%
176 \end{verbatim}
177 \end{multicols}
178 \begin{multicols}{2}
179 \setlength{\columnseprule}{1pt}
180 \psset{unit=0.45}
181 \psset{Decran=20,viewpoint=10 5 10}
182 \centerline{
183 \begin{pspicture}(-5,-5)(5,5)
184 \psframe(-5,-5)(5,5)
185 \psSolid[
186    fcol=0 (Apricot) 2 (Lavender) 3 (SkyBlue)  11 (LimeGreen) 12 (OliveGreen) ,
187    object=cylindre,
188    h=4,
189    ngrid=4 10,
190 ](0,0,-2)
191 \end{pspicture}}
192 \columnbreak
193 \begin{verbatim}
194 \psSolid[
195   fcol= 0 (Apricot)
196         2 (Lavender)
197         3 (SkyBlue)
198         10 (LimeGreen)
199         12 (OliveGreen),
200   object=cylindre,
201    h=4,
202    ngrid=4 10,
203 ](0,0,-2)
204 \end{verbatim}
205 \end{multicols}
206
207 Le choix des faces à colorier peut se faire en utilisant un code \texttt{PostScript} :
208 \begin{verbatim}
209 fcol=48 {i (Black) i 1 add (LimeGreen) i 2 add (Yellow) /i i 3 add store} repeat
210 \end{verbatim}
211 qui va colorier alternativement en noir, en vert et en jaune les facettes.
212 \begin{center}
213 \psset{Decran=10,viewpoint=10 10 5,unit=0.8}
214 \begin{pspicture}(-5,-4)(5,3)
215 \psframe(-5,-4)(5,3)
216 \pstVerb{/iface 0 store}%
217 \psSolid[
218 fcol=48 {iface (Black) iface 1 add (LimeGreen) iface 2 add (Yellow) /iface iface 3 add store} repeat,
219    r1=4,r0=1,
220    object=tore,
221    ngrid=8 18,
222    RotY=30
223   ]%
224 \end{pspicture}
225 \end{center}
226 Si l'option \textbf{\texttt{hue}} est activée, les facettes du solide
227 sont coloriées avec le dégradé de couleurs de l'arc-en-ciel. 
228 %\newpage
229 \begin{multicols}{2}
230 \setlength{\columnseprule}{1pt}
231 \centerline{
232 %%
233 \psset{unit=0.5}
234 %%
235 \begin{pspicture}(-6,-5)(6,5)
236 \psframe(-6,-5)(6,5)
237 \psset[pst-solides3d]{viewpoint=50 50 50,Decran=86,lightsrc=50 20 1e2}
238 \psSolid[r1=5,r0=1,object=tore,ngrid=16 18,hue=0 1]%
239 %\psgrid[subgriddiv=0]%
240 \end{pspicture}}
241 \columnbreak
242 \begin{verbatim}
243 \psset{viewpoint=50 50 50,Decran=86,
244        lightsrc=50 20 1e2}
245 \psSolid[r1=5,r0=1,object=tore,
246          ngrid=16 18,hue=0 1]%
247 \end{verbatim}
248 \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.