\section {Les couleurs et les dégradés de couleur} L'argument \Cadre{[fillcolor=$name$]} permet de spécifier la couleur souhaitée pour les faces externes d'un solide. L'argument \Cadre{[incolor=$name$]} permet de spécifier la couleur souhaitée pour les faces internes d'un solide. Les valeurs possibles pour \textsl{name\/} sont toutes celles reconnues par PSTricks (et en particulier son package \texttt{xcolor}). \subsection {Couleurs pr\'{e}d\'{e}finies par l'option [\texttt{dvipsnames}]} Il y a $68$~couleurs prédéfinies, qui sont identifiées dans le fichier \textsl {solides.pro}~: \textsl {Black}, \textsl {White}, et les $66$~couleurs ci-dessous. \bgroup\centering \newcommand{\colorcube}[1]{% \begin{pspicture}(-1.2,-1)(1.2,1) \psframe(-1.2,-1)(1.2,1) \psSolid[object=datfile, file=cubecolor, linewidth=0.07\pslinewidth, linecolor=#1!50, fillcolor=#1, action=draw**] \rput(0,-0.75){\footnotesize \texttt{#1}} \end{pspicture} } \parindent0pt %\parskip-8pt \colorcube{GreenYellow} \colorcube{Yellow} \colorcube{Goldenrod} \colorcube{Dandelion} \colorcube{Apricot} \colorcube{Peach} \colorcube{Melon} \colorcube{YellowOrange} \colorcube{Orange} \colorcube{BurntOrange} \colorcube{Bittersweet} \colorcube{RedOrange} \colorcube{Mahogany} \colorcube{Maroon} \colorcube{BrickRed} \colorcube{Red} \colorcube{OrangeRed} \colorcube{RubineRed} \colorcube{WildStrawberry} \colorcube{Salmon} \colorcube{CarnationPink} \colorcube{Magenta} \colorcube{VioletRed} \colorcube{Rhodamine} \colorcube{Mulberry} \colorcube{RedViolet} \colorcube{Fuchsia} \colorcube{Lavender} \colorcube{Thistle} \colorcube{Orchid} \colorcube{DarkOrchid} \colorcube{Purple} \colorcube{Plum} \colorcube{Violet} \colorcube{RoyalPurple} \colorcube{BlueViolet} \colorcube{Periwinkle} \colorcube{CadetBlue} \colorcube{CornflowerBlue} \colorcube{MidnightBlue} \colorcube{NavyBlue} \colorcube{RoyalBlue} \colorcube{Blue} \colorcube{Cerulean} \colorcube{Cyan} \colorcube{ProcessBlue} \colorcube{SkyBlue} \colorcube{Turquoise} \colorcube{TealBlue} \colorcube{Aquamarine} \colorcube{BlueGreen} \colorcube{Emerald} \colorcube{JungleGreen} \colorcube{SeaGreen} \colorcube{Green} \colorcube{ForestGreen} \colorcube{PineGreen} \colorcube{LimeGreen} \colorcube{YellowGreen} \colorcube{SpringGreen} \colorcube{OliveGreen} \colorcube{RawSienna} \colorcube{Sepia} \colorcube{Brown} \colorcube{Tan} \colorcube{Gray} \egroup \subsection {Couleurs pr\'{e}d\'{e}finies par l'option [\texttt{svgnames}]} Les couleurs suivantes sont reconnues par pstricks si l'on utilise l'option [\texttt{svgnames}]. Par contre, elles ne sont pas identifiées dans le fichier \textsl {solides.pro}~: on ne peut les utiliser directement dans l'option [\texttt{fcol}]. \bgroup \newcommand{\colorcone}[1]{% \begin{pspicture}(-1.2,-1)(1.2,1) \psframe(-1.2,-1)(1.2,1) \psSolid[object=cone, linewidth=0.07\pslinewidth, % linecolor=#1!50, fillcolor=#1, ngrid=4 12, r=0.2,h=0.37, action=draw**](0,0,-0.05) \rput(0,-0.75){\footnotesize \texttt{#1}} \end{pspicture} } \parindent0pt %\parskip-8pt Ces couleurs sont propos\'{e}es par le package \texttt{xcolor}. \bigskip {\centering \colorcone{AliceBlue} \colorcone{AntiqueWhite} \colorcone{Aqua} \colorcone{Aquamarine} \colorcone{Azure} \colorcone{Beige} \colorcone{Bisque} \colorcone{Black} \colorcone{BlanchedAlmond} \colorcone{Blue} \colorcone{BlueViolet} \colorcone{Brown} \colorcone{BurlyWood} \colorcone{CadetBlue} \colorcone{Chartreuse} \colorcone{Chocolate} \colorcone{Coral} \colorcone{CornflowerBlue} \colorcone{Cornsilk} \colorcone{Crimson} \colorcone{Cyan} \colorcone{DarkBlue} \colorcone{DarkCyan} \colorcone{DarkGoldenrod} \colorcone{DarkGray} \colorcone{DarkGreen} \colorcone{DarkGrey} \colorcone{DarkKhaki} \colorcone{DarkMagenta} \colorcone{DarkOliveGreen} \colorcone{DarkOrange} \colorcone{DarkOrchid} \colorcone{DarkRed} \colorcone{DarkSalmon} \colorcone{DarkSeaGreen} \colorcone{DarkSlateBlue} \colorcone{DarkSlateGray} \colorcone{DarkSlateGrey} \colorcone{DarkTurquoise} \colorcone{DarkViolet} \colorcone{DeepPink} \colorcone{DeepSkyBlue} \colorcone{DimGray} \colorcone{DimGrey} \colorcone{DodgerBlue} \colorcone{FireBrick} \colorcone{FloralWhite} \colorcone{ForestGreen} \colorcone{Fuchsia} \colorcone{Gainsboro} \colorcone{GhostWhite} \colorcone{Gold} \colorcone{Goldenrod} \colorcone{Gray} \colorcone{Grey} \colorcone{Green} \colorcone{GreenYellow} \colorcone{Honeydew} \colorcone{HotPink} \colorcone{IndianRed} \colorcone{Indigo} \colorcone{Ivory} \colorcone{Khaki} \colorcone{Lavender} \colorcone{LavenderBlush} \colorcone{LawnGreen} \colorcone{LemonChiffon} \colorcone{LightBlue} \colorcone{LightCoral} \colorcone{LightCyan} \colorcone{LightGoldenrodYellow} \colorcone{LightGray} \colorcone{LightGreen} \colorcone{LightGrey} \colorcone{LightPink} \colorcone{LightSalmon} \colorcone{LightSeaGreen} \colorcone{LightSkyBlue} \colorcone{LightSlateGray} \colorcone{LightSlateGrey} \colorcone{LightSteelBlue} \colorcone{LightYellow} \colorcone{Lime} \colorcone{LimeGreen} \colorcone{Linen} \colorcone{Magenta} \colorcone{Maroon} \colorcone{MediumAquamarine} \colorcone{MediumBlue} \colorcone{MediumOrchid} \colorcone{MediumPurple} \colorcone{MediumSeaGreen} \colorcone{MediumSlateBlue} \colorcone{MediumSpringGreen} \colorcone{MediumTurquoise} \colorcone{MediumVioletRed} \colorcone{MidnightBlue} \colorcone{MintCream} \colorcone{MistyRose} \colorcone{Moccasin} \colorcone{NavajoWhite} \colorcone{Navy} \colorcone{OldLace} \colorcone{Olive} \colorcone{OliveDrab} \colorcone{Orange} \colorcone{OrangeRed} \colorcone{Orchid} \colorcone{PaleGoldenrod} \colorcone{PaleGreen} \colorcone{PaleTurquoise} \colorcone{PaleVioletRed} \colorcone{PapayaWhip} \colorcone{PeachPuff} \colorcone{Peru} \colorcone{Pink} \colorcone{Plum} \colorcone{PowderBlue} \colorcone{Purple} \colorcone{Red} \colorcone{RosyBrown} \colorcone{RoyalBlue} \colorcone{SaddleBrown} \colorcone{Salmon} \colorcone{SandyBrown} \colorcone{SeaGreen} \colorcone{Seashell} \colorcone{Sienna} \colorcone{Silver} \colorcone{SkyBlue} \colorcone{SlateBlue} \colorcone{SlateGray} \colorcone{SlateGrey} \colorcone{Snow} \colorcone{SpringGreen} \colorcone{SteelBlue} \colorcone{Tan} \colorcone{Teal} \colorcone{Thistle} \colorcone{Tomato} \colorcone{Turquoise} \colorcone{Violet} \colorcone{Wheat} \colorcone{White} \colorcone{WhiteSmoke} \colorcone{Yellow} \colorcone{YellowGreen} } \egroup \section {Les dégradés de couleur} Pour les dégradés de couleurs, on dispose des options \Cadre{[hue]}, \Cadre{[inhue]} et \Cadre{[inouthue]} qui permettent respectivement de spécifier si le dégradé doit avoir lieu sur les faces externes, internes, ou toutes. Ces dégradés peuvent être dans les espaces HSB, RGB ou CMYK. C'est le nombre d'arguments de \verb+hue+ (resp. \verb+inhue+, \verb+inouthue+) qui détermine le cas de figure \subsection {Dégradé dans l'espace HSB, saturation et brillance maximales} Il y a 2 arguments~: \Cadre{[hue=$h_0$ $h_1$]} où les nombres $h_0$ et $h_1$ vérifiant $0\leq h_0 < h_1 \leq 1$ indiquent les bornes du premier paramètre dans l'espace HSB. \begin{multicols}{2} \psset{unit=1} \psset{viewpoint=50 50 20 rtp2xyz,Decran=30} \begin{pspicture}(-4,-1.5)(3,1) \psframe(-4,-1.5)(3,1) \psSolid[object=grille, base=-3 5 -3 3, linecolor=gray, hue=0 1] \end{pspicture} \columnbreak \begin{verbatim} \psSolid[object=grille, base=-3 5 -3 3, linecolor=gray, hue=0 1] \end{verbatim} \end{multicols} \begin{multicols}{2} \psset{unit=1} \psset{viewpoint=50 50 20 rtp2xyz,Decran=30} \begin{pspicture}(-4,-1.5)(3,1) \psframe(-4,-1.5)(3,1) \psSolid[object=grille, base=-3 5 -3 3, linecolor=gray, hue=0 .3] \end{pspicture} \columnbreak \begin{verbatim} \psSolid[object=grille, base=-3 5 -3 3, linecolor=gray, hue=0 .3] \end{verbatim} \end{multicols} \begin{multicols}{2} \psset{unit=1} \psset{viewpoint=50 50 20 rtp2xyz,Decran=30} \begin{pspicture}(-4,-1.5)(3,1) \psframe(-4,-1.5)(3,1) \psSolid[object=grille, base=-3 5 -3 3, linecolor=gray, hue=.5 .6] \end{pspicture} \columnbreak \begin{verbatim} \psSolid[object=grille, base=-3 5 -3 3, linecolor=gray, hue=.5 .6] \end{verbatim} \end{multicols} \subsection {Dégradé dans l'espace HSB, saturation et brillance fixes} Il y a 4 arguments~: \Cadre{[hue=$h_0$ $h_1$ $s$ $b$]} où les nombres $h_0$ et $h_1$ vérifiant $0\leq h_0 < h_1 \leq 1$ indiquent les bornes du premier paramètre dans l'espace HSB et où $s$ et $b$ sont les paramètres respectifs \textsl {saturastion} et \textsl {brillance}. \begin{multicols}{2} \psset{unit=1} \psset{viewpoint=50 50 20 rtp2xyz,Decran=30} \begin{pspicture}(-4,-1.5)(3,1) \psframe(-4,-1.5)(3,1) \psSolid[object=grille, base=-3 5 -3 3, linecolor=gray, hue=0 1 .8 .7] \end{pspicture} \columnbreak \begin{verbatim} \psSolid[object=grille, base=-3 5 -3 3, linecolor=gray, hue=0 1 .8 .7] \end{verbatim} \end{multicols} \begin{multicols}{2} \psset{unit=1} \psset{viewpoint=50 50 20 rtp2xyz,Decran=30} \begin{pspicture}(-4,-1.5)(3,1) \psframe(-4,-1.5)(3,1) \psSolid[object=grille, base=-3 5 -3 3, linecolor=gray, hue=0 1 .5 1] \end{pspicture} \columnbreak \begin{verbatim} \psSolid[object=grille, base=-3 5 -3 3, linecolor=gray, hue=0 1 .5 1] \end{verbatim} \end{multicols} \subsection {Dégradé dans l'espace HSB, cas général} Il y a 7 arguments~: \Cadre{[hue=$h_0$ $s_0$ $b_0$ $h_1$ $s_1$ $b_1$ (hsb)]} où les nombres $h_i$, $s_i$ et $b_i$ indiquent les bornes des paramètre HSB. \begin{multicols}{2} \psset{unit=1} \psset{viewpoint=50 50 20 rtp2xyz,Decran=30} \begin{pspicture}(-4,-1.5)(3,1) \psframe(-4,-1.5)(3,1) \psSolid[object=grille, base=-3 5 -3 3, linecolor=gray, hue=0 .8 1 1 1 .7 (hsb)] \end{pspicture} \columnbreak \begin{verbatim} \psSolid[object=grille, base=-3 5 -3 3, linecolor=gray, hue=0 .8 1 1 1 .7 (hsb)] \end{verbatim} \end{multicols} \subsection {Dégradé dans l'espace RGB} Il y a 6 arguments~: \Cadre{[hue=$r_0$ $g_0$ $b_0$ $r_1$ $g_1$ $b_1$]} où les nombres $r_i$, $g_i$ et $b_i$ indiquent les bornes respectives des $3$ paramètres RGB. \begin{multicols}{2} \psset{unit=1} \psset{viewpoint=50 50 20 rtp2xyz,Decran=30} \begin{pspicture}(-4,-1.5)(3,1) \psframe(-4,-1.5)(3,1) \psSolid[object=grille, base=-3 5 -3 3, linecolor=gray, hue=1 0 0 0 0 1] \end{pspicture} \columnbreak \begin{verbatim} \psSolid[object=grille, base=-3 5 -3 3, linecolor=gray, hue=1 0 0 0 0 1] \end{verbatim} \end{multicols} \subsection {Dégradé dans l'espace CMYK} Il y a 8 arguments~: \Cadre{[hue=$c_0$ $m_0$ $y_0$ $k_0$ $c_1$ $m_1$ $y_1$ $k_1$]} où les nombres $c_i$, $m_i$, $y_i$ et $k_i$ indiquent les bornes respectives des $4$ paramètres CMYK. \begin{multicols}{2} \psset{unit=1} \psset{viewpoint=50 50 20 rtp2xyz,Decran=30} \begin{pspicture}(-4,-1.5)(3,1) \psframe(-4,-1.5)(3,1) \psSolid[object=grille, base=-3 5 -3 3, linecolor=gray, hue=1 0 0 0 0 0 1 0] \end{pspicture} \columnbreak \begin{verbatim} \psSolid[object=grille, base=-3 5 -3 3, linecolor=gray, hue=1 0 0 0 0 0 1 0] \end{verbatim} \end{multicols} \subsection {Dégradé entre 2 couleurs nommées} Il y a deux paramètres \Cadre{[hue=$str1$ $str2$]} où $str1$ et $str2$ sont des chaînes de caractères désignant des noms de couleurs connues dans \verb+solides.pro+. \begin{multicols}{2} \psset{unit=1} \psset{viewpoint=50 50 20 rtp2xyz,Decran=30} \begin{pspicture}(-4,-1.5)(3,1) \psframe(-4,-1.5)(3,1) \psSolid[object=grille, base=-3 5 -3 3, linecolor=gray, hue=(jaune) (CadetBlue)] \end{pspicture} \columnbreak \begin{verbatim} \psSolid[object=grille, base=-3 5 -3 3, linecolor=gray, hue=(jaune) (CadetBlue)] \end{verbatim} \end{multicols} Si on veut utiliser des couleurs définies par \texttt{xcolor}, on utilise les paramètres \texttt{color1}, \texttt{color2}, etc... de \verb+\psSolid+. \begin{multicols}{2} \psset{unit=1} \psset{viewpoint=50 50 20 rtp2xyz,Decran=30} \begin{pspicture}(-4,-1.5)(3,1) \psframe(-4,-1.5)(3,1) \psSolid[object=grille, base=-3 5 -3 3, linecolor=gray, color1=red!50, color2=green!20, hue=(color1) (color2)] \end{pspicture} \columnbreak \begin{verbatim} \psSolid[object=grille, base=-3 5 -3 3, linecolor=gray, color1=red!50, color2=green!20, hue=(color1) (color2)] \end{verbatim} \end{multicols} \subsection{Désactiver la gestion des couleurs} Pour certaines utilisations spécifiques, on peut avoir besoin de désactiver la gestion des couleurs. C'est en particulier le cas lorsque l'on utilise un objet déjà présent en mémoire ou défini dans des fichiers externes, Dans ces configurations, si on ne désactive pas la gestion des couleurs et si on n'en définit pas de nouvelles, ce sont les couleurs par défaut qui vont surcharger celles qui étaient sauvegardées. Pour désactiver cette gestion, on utilise l'option \Cadre{[deactivatecolor]}. \subsection{Exemples d'utilisation des options \texttt{[inhue]} et \texttt{[inouthue]}} On rappelle que l'option \texttt{[inhue]} permet de colorier les faces intérieures, \texttt{[hue]} permet de colorier les faces extérieures et \texttt{[inouthue]} peindra dans la continuité faces intérieurs et intérieures. On rappelle que pour voir les faces intérieures il faut activer l'option \texttt{hollow}, comme dans les deux exemples suivants. \begin{LTXexample}[width=6cm] \psset{lightsrc=45 15 20, viewpoint=50 20 20 rtp2xyz,Decran=50} \begin{pspicture}(-3,-3)(3,3) \psframe(-3,-3)(3,3) \psSolid[object=cube, a=3,ngrid=3, hollow, inouthue=0 1 0.5 1, rm=36 1 44 {} for]% \end{pspicture} \end{LTXexample} \begin{LTXexample}[width=6.5cm] \psset{unit=0.5} \psset{lightsrc=30 30 25} \psset{viewpoint=50 40 30 rtp2xyz,Decran=50} \begin{pspicture}(-6,-8)(7,8) \psSurface[ngrid=.25 .25,inouthue=1 0 0.5 1, linewidth=0.5\pslinewidth,axesboxed, algebraic](-4,-4)(4,4){% ((y^2)-(x^2))/4 } \end{pspicture} \end{LTXexample} Pour colorier avec les paramètres de \texttt{[hue]} les faces intérieures et extérieures on utilisera l'option \texttt{[hue]} pour l'extérieur et l'option \texttt{[inhue]} pour l'intérieur, comme dans l'exemple suivant : \begin{LTXexample}[width=8.5cm] \psset{unit=0.5} \begin{pspicture}(-7,-7)(10,12) \psframe(-7,-7)(10,12) \psset[pst-solides3d]{viewpoint=20 5 10, Decran=50,lightsrc=20 10 5} \psSolid[object=grille,base=-2 2 -2 2, linecolor=white](0,0,-2) % Parametric Surfaces \defFunction{cone}(u,v) {u v Cos mul}{u v Sin mul}{u} \psSolid[object=surfaceparametree, base=-2 2 0 2 pi mul, inhue=0.8 0.2,hue=0.8 0.2, function=cone,linewidth=0.5\pslinewidth, ngrid=25 40]% \gridIIID[Zmin=-2,Zmax=2](-2,2)(-2,2) \end{pspicture} \end{LTXexample}