Retour

arthurcolors.tex

Télécharger le fichier
% 20 juillet 2003
\documentclass[12pt]{article}
\usepackage{pstcol,pst-key,pst-slpe,pst-3d}
\usepackage[margin=2cm]{geometry}
\usepackage[latin1]{inputenc}
\usepackage[francais]{babel}
% Le générateur de nombres aléatoires est de
% Donald Arseneau
\input random
%
\usepackage[tiling]{pst-fill}
\def\CyanG{0.4}
\def\MagentaG{0}
\def\YellowG{0.2}
\def\KG{0}
\def\CyanV{0}
\def\MagentaV{0.3}
\def\YellowV{0}
\def\KV{0}
\def\CyanL{0}
\def\MagentaL{0.2}
\def\YellowL{0.2}
\def\KL{0}
\def\CyanR{0}
\def\MagentaR{0}
\def\YellowR{0.3}
\def\KR{0}
%
\def\Motif{{%
\psset{unit=0.5,fillstyle=solid}%
\pspicture(-2,-2)(2,2)%
\pspolygon[fillcolor=caseG](-2,1.5)(-1.5,2)(-2,2.5)(-2.5,2)%
\pspolygon[fillcolor=caseG](2,1.5)(2.5,2)(2,2.5)(1.5,2)
\pspolygon[fillcolor=caseG](-1.5,1)(-1,1.5)(-0.5,1)(-1,0.5)
\pspolygon[fillcolor=caseG](-0.5,0)(0,0.5)(0.5,0)(0,-0.5)
\pspolygon[fillcolor=caseG](0.5,-1)(1,-0.5)(1.5,-1)(1,-1.5)
\pspolygon[fillcolor=caseG](-2,-1.5)(-1.5,-2)(-2,-2.5)(-2.5,-2)
\pspolygon[fillcolor=caseG](2,-1.5)(2.5,-2)(2,-2.5)(1.5,-2)
\pspolygon[fillcolor=caseV](-0.5,2)(0,1.5)(0.5,2)(0,2.5)
\pspolygon[fillcolor=caseV](0.5,1)(1,1.5)(1.5,1)(1,0.5)
\pspolygon[fillcolor=caseV](-2,0.5)(-1.5,0)(-2,-0.5)(-2.5,0)
\pspolygon[fillcolor=caseV](2,0.5)(1.5,0)(2,-0.5)(2.5,0)
\pspolygon[fillcolor=caseV](-1.5,-1)(-1,-0.5)(-0.5,-1)(-1,-1.5)
\pspolygon[fillcolor=caseV](-0.5,-2)(0,-1.5)(0.5,-2)(0,-2.5)
\pspolygon[fillcolor=caseR](-2,1.5)(-2,1)(-1.5,1)(-1,1.5)(-1,2)(-1.5,2)
\pspolygon[fillcolor=caseR](-1,0.5)(-1,0)(-0.5,0)(0,0.5)(0,1)(-0.5,1)
\pspolygon[fillcolor=caseR](0,-0.5)(0,-1)(0.5,-1)(1,-0.5)(1,0)(0.5,0)
\pspolygon[fillcolor=caseR](1,-1.5)(1,-2)(1.5,-2)(2,-1.5)(2,-1)(1.5,-1)
\pspolygon[fillcolor=caseR](-2,-0.5)(-2,-1)(-1.5,-1)(-1,-0.5)(-1,0)(-1.5,0)
\pspolygon[fillcolor=caseR](-1,-1.5)(-1,-2)(-0.5,-2)(0,-1.5)(0,-1)(-0.5,-1)
\pspolygon[fillcolor=caseR](0,1)(0,1.5)(0.5,2)(1,2)(1,1.5)(0.5,1)
\pspolygon[fillcolor=caseR](1,0)(1,0.5)(1.5,1)(2,1)(2,0.5)(1.5,0)
\pspolygon[fillcolor=caseL](-2,0.5)(-2,1)(-1.5,1)(-1,0.5)(-1,0)(-1.5,0)
\pspolygon[fillcolor=caseL](-2,-1.5)(-2,-1)(-1.5,-1)(-1,-1.5)(-1,-2)(-1.5,-2)
\pspolygon[fillcolor=caseL](0,0.5)(0,1)(0.5,1)(1,0.5)(1,0)(0.5,0)
\pspolygon[fillcolor=caseL](0,-1.5)(0,-1)(0.5,-1)(1,-1.5)(1,-2)(0.5,-2)
\pspolygon[fillcolor=caseL](-1,1.5)(-1,2)(-0.5,2)(0,1.5)(0,1)(-0.5,1)
\pspolygon[fillcolor=caseL](-1,-0.5)(-1,0)(-0.5,0)(0,-0.5)(0,-1)(-0.5,-1)
\pspolygon[fillcolor=caseL](1,1.5)(1,2)(1.5,2)(2,1.5)(2,1)(1.5,1)
\pspolygon[fillcolor=caseL](1,-0.5)(1,0)(1.5,0)(2,-0.5)(2,-1)(1.5,-1)
\endpspicture}}%
\SpecialCoor
\makeatletter
\define@key{psset}{xR}{\edef\psk@ArthurRGB@xR{#1}} % abscisse ArthurRGB rouge
\define@key{psset}{yR}{\edef\psk@ArthurRGB@yR{#1}} % ordonnée ArthurRGB rouge
\define@key{psset}{xG}{\edef\psk@ArthurRGB@xG{#1}} % abscisse ArthurRGB vert
\define@key{psset}{yG}{\edef\psk@ArthurRGB@yG{#1}} % ordonnée ArthurRGB vert
\define@key{psset}{xB}{\edef\psk@ArthurRGB@xB{#1}} % abscisse ArthurRGB bleu
\define@key{psset}{yB}{\edef\psk@ArthurRGB@yB{#1}} % ordonnée ArthurRGB bleu
\define@key{psset}{xC}{\edef\psk@ArthurCMY@xC{#1}} % abscisse ArthurCMY cyan
\define@key{psset}{yC}{\edef\psk@ArthurCMY@yC{#1}} % ordonnée ArthurCMY cyan
\define@key{psset}{xM}{\edef\psk@ArthurCMY@xM{#1}} % abscisse ArthurCMY magenta
\define@key{psset}{yM}{\edef\psk@ArthurCMY@yM{#1}} % ordonnée ArthurCMY magenta
\define@key{psset}{xY}{\edef\psk@ArthurCMY@xY{#1}} % abscisse ArthurCMY jaune
\define@key{psset}{yY}{\edef\psk@ArthurCMY@yY{#1}} % ordonnée ArthurCMY jaune
\define@key{psset}{cR}{\edef\psk@ArthurRGB@cR{#1}} % composante rouge
\define@key{psset}{cG}{\edef\psk@ArthurRGB@cG{#1}} % composante verte
\define@key{psset}{cB}{\edef\psk@ArthurRGB@cB{#1}} % composante bleue
\define@key{psset}{cC}{\edef\psk@ArthurCMY@cC{#1}} % composante cyan
\define@key{psset}{cM}{\edef\psk@ArthurCMY@cM{#1}} % composante magenta
\define@key{psset}{cY}{\edef\psk@ArthurCMY@cY{#1}} % composante yellow
\newif\ifPst@GhostFamily%
\define@key{psset}{GhostFamily}[true]{\@nameuse{Pst@GhostFamily#1}}%
\newif\ifPst@Contour%
\define@key{psset}{Contour}[true]{\@nameuse{Pst@Contour#1}}%
% Les valeurs par défaut
\setkeys{psset}{xR=0,yR=0,xG=0,yG=0,xB=0,yB=0,cR=1,cG=1,cB=1,xC=0,yC=0,xM=0,yM=0,xY=0,yY=0,%
                cC=1,cM=1,cY=1,GhostFamily=true,Contour=false}
% formes du spectre
% famille 1
\def\arthurB{%
  \psccurve(-3,-5)(-3,-5)(-1.5,-2.5)(-1.75,-1.5)(-2.5,0)(-0.75,-0.5)(-0.5,0.5)(-0.5,1)
           (-0.75,1.5)(0,1)(0.5,0.5)(0.75,-0.5)(2.5,-1)(1.2,-1.8)(0,-3.5)(-1.5,-4.5)}
\def\arthurR{%
  \psccurve(3,-5)(3,-5)(0,-4)(-1.5,-2.5)(-1.75,-1.5)(-2.5,0)(-0.75,-0.5)(-0.5,0.5)(0,1)
           (0.75,1.5)(0.5,1)(0.5,0.5)(0.75,-0.5)(2.5,-1)(1.2,-1.8)}
\def\arthurG{%
  \psccurve(0,-5)(0,-5)(-1,-3.5)(-1.25,-2)(-1.5,-1.5)(-2.5,0)(-0.75,-0.5)(-0.5,0.5)(-0.2,1)
           (0,1.5)(0.2,1)(0.5,0.5)(0.75,-0.5)(2.5,-1)(1.2,-1.8)}
\def\Yeux{%
  \psellipse[fillstyle=solid,fillcolor=white,linestyle=solid](-0.2,0)(0.15,0.2)
  \psellipse[fillstyle=solid,fillcolor=white,linestyle=solid](0.2,0)(0.15,0.2)
  \pscircle*[linecolor=black](0.2,-0.1){0.075}\pscircle*[linecolor=black](-0.2,-0.1){0.075}}
% famille Arthur
\def\arthurFils{%
  \psccurve(0.5,2.2)(0.15,1.8)(0.15,1.4)(0.15,1.4)(-0.2,1.25)(-0.3,1)(-0.3,0.8)(-0.1,0.5)(-0.1,0.5)
  (-0.6,1)(-0.55,1.1)(-0.6,1.25)(-0.57,1.4)(-0.75,1.4)(-0.75,1.15)(-1.2,1.4)(-0.9,1.05)%(-0.9,1.05)
  (-1.3,1.2)(-0.95,0.95)%(-0.95,0.95)
  (-1.35,1)(-1,0.85)%(-1,0.85)
  (-1.3,0.8)(-0.8,0.75)
  (-0.3,0.35)(-0.3,0.35)(-0.5,0)(-0.6,-0.6)(-0.25,-1)%(-0.25,-1)
  (-0.6,-1.7)(-0.4,-2)
  (0,-1)(0,-1)(0.6,-0.6)(0.5,0.25)(0.5,0.25)(1.1,0.8)
  (1.17,0.85)(1.4,0.81)(1.7,0.8)(1.5,0.9)%(1.5,0.9)
  (1.8,1)(1.5,1.05)%(1.45,1.05)
  (1.8,1.3)(1.4,1.2)%(1.4,1.2)
  (1.7,1.5)(1.3,1.3)(1.4,1.6)(1.2,1.6)(1.25,1.5)(1.1,1.3)(1,1.05)
  (0.4,0.5)(0.4,0.5)(0.65,0.9)(0.6,1.2)(0.4,1.35)(0.4,1.35)}
% les yeux
\def\YeuxFils{%
  \rput{-15}(0,1){\psellipse*[linecolor=black](0,0)(0.085,0.15)}
  \rput{-15}(0.3,1){\psellipse*[linecolor=black](0,0)(0.085,0.15)}}
\def\arthurPapa{%
  \psccurve(-0.5,2.7)(-0.7,2.25)(-0.6,2)(-0.4,2)(-0.4,2)
  (-0.5,1.5)(-0.45,0.8)(-0.55,0.75)(-1.2,1.45)
  (-1.2,1.8)(-1.3,2.1)(-1.45,1.7)
  (-1.8,1.95)(-1.55,1.55)(-1.55,1.55)
  (-1.95,1.65)(-1.6,1.4)(-1.6,1.4)(-1.9,1.3)(-1.4,1.2)(-1.1,0.9)
  (-0.8,0.5)(-0.9,0)(-0.97,-1)(-0.5,-1.7)(0.1,-2.1)(0.2,-3)
  (1,-2.5)(1.2,-2.4)(0.5,-2.5)(0.5,-2.5)
  (0.6,-1.9)(0.6,-1.9)
  (0.9,-1)(0.5,0.25)(0.5,0.25)
  (1,0.75)(1.2,1)(1.6,1.1)(1.8,1.25)
  (1.5,1.25)(1.5,1.25)
  (1.8,1.5)(1.5,1.4)(1.5,1.4)
  (1.6,1.7)(1.25,1.5)(1.1,1.8)(1,1.5)(1,1.1)
  (0.2,0.9)(0.2,1.4)(0.05,2)(-0.35,2.4)(-0.45,2.3)}
\def\YeuxPapa{%
  \psellipse[fillstyle=solid,fillcolor=black](-0.3,1.4)(0.1,0.15)
  \psellipse[fillstyle=solid,fillcolor=black](0,1.4)(0.1,0.15)
  \psline[linestyle=solid,linecolor=black](-0.4,1.6)(-0.2,1.5)
  \psline[linestyle=solid,linecolor=black](0.1,1.6)(-0.1,1.5)
  \psellipse[fillstyle=solid,fillcolor=black](-0.1,0.7)(0.1,0.2)}
\def\arthurMaman{%
  \psccurve(-0.1,3)(-0.3,2.1)(-0.3,2.1)%(-0.4,2)(-0.4,2)
  (-0.5,1.5)(-0.45,0.8)(-0.55,0.75)(-1.2,1.45)
  (-1.2,1.8)(-1.3,2.1)(-1.45,1.7)
  (-1.8,1.95)(-1.55,1.55)(-1.55,1.55)
  (-1.95,1.65)(-1.6,1.4)(-1.6,1.4)(-1.9,1.3)(-1.4,1.2)(-1.1,0.9)
  (-0.8,0.5)(-0.6,-0.2)(-0.97,-1)(-0.5,-1.5)(0,-2)
  (-0.5,-2.3)(-1.2,-2.4)(-1.2,-2.4)(-1,-2.5)(-1,-2.5)
  (-1.2,-2.7)(-1.2,-2.7)
  (-1,-2.8)(-1,-2.8)
  (-1.1,-2.9)(-1.1,-2.9)
  (-1,-2.95)(-1,-2.95)
  (0,-2.5)(0.6,-1.9)
  (0.2,-0.2)(0.5,0.25)(0.5,0.25)
  (1,0.75)(1.2,1)(1.6,1.1)(1.8,1.25)
  (1.5,1.25)(1.5,1.25)
  (1.8,1.5)(1.5,1.4)(1.5,1.4)
  (1.6,1.7)(1.25,1.5)(1.1,1.8)(1,1.5)(1,1.1)
  (0.2,0.9)(0.2,1.4)(0.05,2)(-0.1,2.3)}
\def\YeuxMaman{%
  \rput{10}(-0.3,1.4){\psellipse[fillstyle=solid,fillcolor=black](0,0)(0.1,0.15)}
  \rput{-10}(-0,1.4){\psellipse[fillstyle=solid,fillcolor=black](0,0)(0.1,0.15)}
  \psline[linestyle=solid,linecolor=black](-0.4,1.7)(-0.2,1.55)
  \psline[linestyle=solid,linecolor=black](0.1,1.7)(-0.05,1.55)
  \psellipse[fillstyle=solid,fillcolor=black](-0.1,0.9)(0.08,0.15)}
% la commande pour placer le spectre
\def\ArthurRGB{\@ifnextchar[{\pst@ArthurRGB}{\pst@ArthurRGB[]}}
\def\pst@ArthurRGB[#1]{{%
\pst@killglue
\setkeys{psset}{#1}%
\definecolor{Red}{rgb}{\psk@ArthurRGB@cR,0,0}
\definecolor{Green}{rgb}{0,\psk@ArthurRGB@cG,0}
\definecolor{Blue}{rgb}{0,0,\psk@ArthurRGB@cB}
\definecolor{Yellow}{rgb}{\psk@ArthurRGB@cR,\psk@ArthurRGB@cG,0}
\definecolor{Magenta}{rgb}{\psk@ArthurRGB@cR,0,\psk@ArthurRGB@cB}
\definecolor{Cyan}{rgb}{0,\psk@ArthurRGB@cG,\psk@ArthurRGB@cB}
\definecolor{White}{rgb}{\psk@ArthurRGB@cR,\psk@ArthurRGB@cG,\psk@ArthurRGB@cB}
\rput(\psk@ArthurRGB@xR,\psk@ArthurRGB@yR){\psset{fillstyle=solid,fillcolor=Red}%
    \ifPst@GhostFamily\arthurPapa\else\arthurR\fi}
\rput(\psk@ArthurRGB@xG,\psk@ArthurRGB@yG){\psset{fillstyle=solid,fillcolor=Green}%
    \ifPst@GhostFamily\arthurFils\else\arthurG\fi}
\rput(\psk@ArthurRGB@xB,\psk@ArthurRGB@yB){\psset{fillstyle=solid,fillcolor=Blue}%
    \ifPst@GhostFamily\arthurMaman\else\arthurB\fi}
\psclip{%
\rput(\psk@ArthurRGB@xR,\psk@ArthurRGB@yR){\psset{linestyle=none}%
      \ifPst@GhostFamily\arthurPapa\else\arthurR\fi}}
  \rput(\psk@ArthurRGB@xG,\psk@ArthurRGB@yG){\psset{fillstyle=solid,fillcolor=Yellow}%
      \ifPst@GhostFamily\arthurFils\else\arthurG\fi}
\endpsclip%
\psclip{%
\rput(\psk@ArthurRGB@xR,\psk@ArthurRGB@yR){\psset{linestyle=none}%
    \ifPst@GhostFamily\arthurPapa\else\arthurR\fi}}
  \rput(\psk@ArthurRGB@xB,\psk@ArthurRGB@yB){\psset{fillstyle=solid,fillcolor=Magenta}%
    \ifPst@GhostFamily\arthurMaman\else\arthurB\fi}
\endpsclip%
\psclip{%
\rput(\psk@ArthurRGB@xG,\psk@ArthurRGB@yG){\psset{linestyle=none}%
    \ifPst@GhostFamily\arthurFils\else\arthurG\fi}}
  \rput(\psk@ArthurRGB@xB,\psk@ArthurRGB@yB){\psset{fillstyle=solid,fillcolor=Cyan}%
    \ifPst@GhostFamily\arthurMaman\else\arthurB\fi}
\endpsclip%
\psclip{%
\rput(\psk@ArthurRGB@xR,\psk@ArthurRGB@yR){\psset{linestyle=none}%
    \ifPst@GhostFamily\arthurPapa\else\arthurR\fi}}
\psclip{%
\rput(\psk@ArthurRGB@xG,\psk@ArthurRGB@yG){\psset{linestyle=none}%
  \ifPst@GhostFamily\arthurFils\else\arthurG\fi}}
  \rput(\psk@ArthurRGB@xB,\psk@ArthurRGB@yB){\psset{fillstyle=solid,fillcolor=White}%
    \ifPst@GhostFamily\arthurMaman\else\arthurB\fi}
\endpsclip%
\endpsclip%
\rput(\psk@ArthurRGB@xR,\psk@ArthurRGB@yR){\ifPst@GhostFamily\YeuxPapa\else\Yeux\fi}
\rput(\psk@ArthurRGB@xG,\psk@ArthurRGB@yG){\ifPst@GhostFamily\YeuxFils\else\Yeux\fi}
\rput(\psk@ArthurRGB@xB,\psk@ArthurRGB@yB){\ifPst@GhostFamily\YeuxMaman\else\Yeux\fi}
}}
%
\def\ArthurCMY{\@ifnextchar[{\pst@ArthurCMY}{\pst@ArthurCMY[]}}
\def\pst@ArthurCMY[#1]{{%
\pst@killglue
\setkeys{psset}{#1}%
\definecolor{Cyan}{cmyk}{\psk@ArthurCMY@cC,0,0,0}
\definecolor{Magenta}{cmyk}{0,\psk@ArthurCMY@cM,0,0}
\definecolor{Yellow}{cmyk}{0,0,\psk@ArthurCMY@cY,0}
\definecolor{Blue}{cmyk}{\psk@ArthurCMY@cC,\psk@ArthurCMY@cM,0,0}
\definecolor{Red}{cmyk}{0,\psk@ArthurCMY@cM,\psk@ArthurCMY@cY,0}
\definecolor{Green}{cmyk}{\psk@ArthurCMY@cC,0,\psk@ArthurCMY@cY,0}
\definecolor{Black}{cmyk}{\psk@ArthurCMY@cC,\psk@ArthurCMY@cM,\psk@ArthurCMY@cY,0}
\rput(\psk@ArthurCMY@xC,\psk@ArthurCMY@yC){\psset{fillstyle=solid,fillcolor=Cyan}%
    \ifPst@GhostFamily\arthurPapa\else\arthurR\fi}
\rput(\psk@ArthurCMY@xM,\psk@ArthurCMY@yM){\psset{fillstyle=solid,fillcolor=Magenta}%
    \ifPst@GhostFamily\arthurFils\else\arthurG\fi}
\rput(\psk@ArthurCMY@xY,\psk@ArthurCMY@yY){\psset{fillstyle=solid,fillcolor=Yellow}%
    \ifPst@GhostFamily\arthurMaman\else\arthurB\fi}
\psclip{%
\rput(\psk@ArthurCMY@xC,\psk@ArthurCMY@yC){\psset{linestyle=none}%
      \ifPst@GhostFamily\arthurPapa\else\arthurR\fi}}
  \rput(\psk@ArthurCMY@xM,\psk@ArthurCMY@yM){\psset{fillstyle=solid,fillcolor=Blue}%
      \ifPst@GhostFamily\arthurFils\else\arthurG\fi}
\endpsclip%
\psclip{%
\rput(\psk@ArthurCMY@xC,\psk@ArthurCMY@yC){\psset{linestyle=none}%
    \ifPst@GhostFamily\arthurPapa\else\arthurR\fi}}
  \rput(\psk@ArthurCMY@xY,\psk@ArthurCMY@yY){\psset{fillstyle=solid,fillcolor=Green}%
    \ifPst@GhostFamily\arthurMaman\else\arthurB\fi}
\endpsclip%
\psclip{%
\rput(\psk@ArthurCMY@xM,\psk@ArthurCMY@yM){\psset{linestyle=none}%
    \ifPst@GhostFamily\arthurFils\else\arthurG\fi}}
  \rput(\psk@ArthurCMY@xY,\psk@ArthurCMY@yY){\psset{fillstyle=solid,fillcolor=Red}%
    \ifPst@GhostFamily\arthurMaman\else\arthurB\fi}
\endpsclip%
\psclip{%
\rput(\psk@ArthurCMY@xC,\psk@ArthurCMY@yC){\psset{linestyle=none}%
    \ifPst@GhostFamily\arthurPapa\else\arthurR\fi}}
\psclip{%
\rput(\psk@ArthurCMY@xM,\psk@ArthurCMY@yM){\psset{linestyle=none}%
  \ifPst@GhostFamily\arthurFils\else\arthurG\fi}}
  \rput(\psk@ArthurCMY@xY,\psk@ArthurCMY@yY){\psset{fillstyle=solid,fillcolor=Black}%
    \ifPst@GhostFamily\arthurMaman\else\arthurB\fi}
\endpsclip%
\endpsclip%
\rput(\psk@ArthurCMY@xC,\psk@ArthurCMY@yC){\ifPst@GhostFamily\YeuxPapa\else\Yeux\fi}
\rput(\psk@ArthurCMY@xM,\psk@ArthurCMY@yM){\ifPst@GhostFamily\YeuxFils\else\Yeux\fi}
\rput(\psk@ArthurCMY@xY,\psk@ArthurCMY@yY){\ifPst@GhostFamily\YeuxMaman\else\Yeux\fi}
}}
% les couleurs des fantômes pour la transparence
% pour le père
\newdimen{\ValeurCouleurCyanPapaCaseG}
\newdimen{\ValeurCouleurCyanPapaCaseV}
\newdimen{\ValeurCouleurCyanPapaCaseR}
\newdimen{\ValeurCouleurCyanPapaCaseL}
\newdimen{\ValeurCouleurMagentaFilsCaseG}
\newdimen{\ValeurCouleurMagentaFilsCaseV}
\newdimen{\ValeurCouleurMagentaFilsCaseR}
\newdimen{\ValeurCouleurMagentaFilsCaseL}
\newdimen{\ValeurCouleurYellowMamanCaseG}
\newdimen{\ValeurCouleurYellowMamanCaseV}
\newdimen{\ValeurCouleurYellowMamanCaseR}
\newdimen{\ValeurCouleurYellowMamanCaseL}
%
\def\MosaiqueGhosts{\@ifnextchar[{\pst@MosaiqueGhosts}{\pst@MosaiqueGhosts[]}}
\def\pst@MosaiqueGhosts[#1]{{%
\pst@killglue
\setkeys{psset}{#1}%
\pspicture(-8,-6)(8,6)
\definecolor{Cyan}{cmyk}{\psk@ArthurCMY@cC,0,0,0}
\definecolor{Magenta}{cmyk}{0,\psk@ArthurCMY@cM,0,0}
\definecolor{Yellow}{cmyk}{0,0,\psk@ArthurCMY@cY,0}
\definecolor{Blue}{cmyk}{\psk@ArthurCMY@cC,\psk@ArthurCMY@cM,0,0}
\definecolor{Red}{cmyk}{0,\psk@ArthurCMY@cM,\psk@ArthurCMY@cY,0}
\definecolor{Green}{cmyk}{\psk@ArthurCMY@cC,0,\psk@ArthurCMY@cY,0}
\definecolor{Black}{cmyk}{\psk@ArthurCMY@cC,\psk@ArthurCMY@cM,\psk@ArthurCMY@cY,0}
\definecolor{caseG}{cmyk}{\CyanG,\MagentaG,\YellowG,\KG}
\definecolor{caseV}{cmyk}{\CyanV,\MagentaV,\YellowV,\KV}
\definecolor{caseL}{cmyk}{\CyanL,\MagentaL,\YellowL,\KL}
\definecolor{caseR}{cmyk}{\CyanR,\MagentaR,\YellowR,\KR}
\psset{linestyle=none}
\rput(\psk@ArthurCMY@xC,\psk@ArthurCMY@yC){\psset{fillstyle=solid,fillcolor=Cyan}%
    \ifPst@GhostFamily\arthurPapa\else\arthurR\fi}
\rput(\psk@ArthurCMY@xM,\psk@ArthurCMY@yM){\psset{fillstyle=solid,fillcolor=Magenta}%
    \ifPst@GhostFamily\arthurFils\else\arthurG\fi}
\rput(\psk@ArthurCMY@xY,\psk@ArthurCMY@yY){\psset{fillstyle=solid,fillcolor=Yellow}%
    \ifPst@GhostFamily\arthurMaman\else\arthurB\fi}
\psboxfill{\Motif}
\psframe[fillstyle=boxfill,linestyle=none](-8,-5)(8,5)%
\ValeurCouleurCyanPapaCaseG=\psk@ArthurCMY@cC pt
\advance\ValeurCouleurCyanPapaCaseG by \CyanG pt
\ifdim\ValeurCouleurCyanPapaCaseG >1pt \ValeurCouleurCyanPapaCaseG=1pt \fi
\definecolor{caseG}{cmyk}{\pointless\ValeurCouleurCyanPapaCaseG,\MagentaG,\YellowG,\KG}%
\ValeurCouleurCyanPapaCaseV=\psk@ArthurCMY@cC pt
\advance\ValeurCouleurCyanPapaCaseV by \CyanV pt
\ifdim\ValeurCouleurCyanPapaCaseV >1pt \ValeurCouleurCyanPapaCaseV=1pt \fi
\definecolor{caseV}{cmyk}{\pointless\ValeurCouleurCyanPapaCaseV,\MagentaV,\YellowV,\KV}%
\ValeurCouleurCyanPapaCaseL=\psk@ArthurCMY@cC pt
\advance\ValeurCouleurCyanPapaCaseL by \CyanL pt
\ifdim\ValeurCouleurCyanPapaCaseL >1pt \ValeurCouleurCyanPapaCaseL=1pt \fi
\definecolor{caseL}{cmyk}{\pointless\ValeurCouleurCyanPapaCaseL,\MagentaL,\YellowL,\KL}%
\ValeurCouleurCyanPapaCaseR=\psk@ArthurCMY@cC pt
\advance\ValeurCouleurCyanPapaCaseR by \CyanR pt
\ifdim\ValeurCouleurCyanPapaCaseR >1pt \ValeurCouleurCyanPapaCaseR=1pt \fi
\definecolor{caseR}{cmyk}{\pointless\ValeurCouleurCyanPapaCaseR,\MagentaR,\YellowR,\KR}%
\psboxfill{\Motif}
\rput(\psk@ArthurCMY@xC,\psk@ArthurCMY@yC){\psset{fillstyle=solid,fillcolor=Cyan}%
    \ifPst@GhostFamily\arthurPapa\else\arthurR\fi}
\psclip{\rput(\psk@ArthurCMY@xC,\psk@ArthurCMY@yC){\ifPst@GhostFamily\arthurPapa\else\arthurR\fi}}
\psframe[fillstyle=boxfill,linestyle=none](-8,-5)(8,5)
\endpsclip%
\rput(\psk@ArthurCMY@xC,\psk@ArthurCMY@yC){\ifPst@GhostFamily\YeuxPapa\else\Yeux\fi}
%
\ValeurCouleurMagentaFilsCaseG=\psk@ArthurCMY@cM pt
\advance\ValeurCouleurMagentaFilsCaseG by \MagentaG pt
\ifdim\ValeurCouleurMagentaFilsCaseG >1pt \ValeurCouleurMagentaFilsCaseG=1pt \fi
\definecolor{caseG}{cmyk}{\CyanG,\pointless\ValeurCouleurMagentaFilsCaseG,\YellowG,\KG}%
\ValeurCouleurMagentaFilsCaseV=\psk@ArthurCMY@cM pt
\advance\ValeurCouleurMagentaFilsCaseV by \MagentaV pt
\ifdim\ValeurCouleurMagentaFilsCaseV >1pt \ValeurCouleurMagentaFilsCaseV=1pt \fi
\definecolor{caseV}{cmyk}{\CyanV,\pointless\ValeurCouleurMagentaFilsCaseV,\YellowV,\KV}%
\ValeurCouleurMagentaFilsCaseL=\psk@ArthurCMY@cM pt
\advance\ValeurCouleurMagentaFilsCaseL by \MagentaL pt
\ifdim\ValeurCouleurMagentaFilsCaseL >1pt \ValeurCouleurMagentaFilsCaseL=1pt \fi
\definecolor{caseL}{cmyk}{\CyanL,\pointless\ValeurCouleurMagentaFilsCaseL,\YellowL,\KL}%
\ValeurCouleurMagentaFilsCaseR=\psk@ArthurCMY@cM pt
\advance\ValeurCouleurMagentaFilsCaseR by \MagentaR pt
\ifdim\ValeurCouleurMagentaFilsCaseR >1pt \ValeurCouleurMagentaFilsCaseR=1pt \fi
\definecolor{caseR}{cmyk}{\CyanR,\pointless\ValeurCouleurMagentaFilsCaseR,\YellowR,\KR}%
\psboxfill{\Motif}
\psclip{\rput(\psk@ArthurCMY@xM,\psk@ArthurCMY@yM){\ifPst@GhostFamily\arthurFils\else\arthurG\fi}}
\psframe[fillstyle=boxfill,linestyle=none](-8,-5)(8,5)
\endpsclip%
\rput(\psk@ArthurCMY@xM,\psk@ArthurCMY@yM){\ifPst@GhostFamily\YeuxFils\else\Yeux\fi}
% la mère
\ValeurCouleurYellowMamanCaseG=\psk@ArthurCMY@cY pt
\advance\ValeurCouleurYellowMamanCaseG by \YellowG pt
\ifdim\ValeurCouleurYellowMamanCaseG >1pt \ValeurCouleurYellowMamanCaseG=1pt \fi
\definecolor{caseG}{cmyk}{\CyanG,\MagentaG,\pointless\ValeurCouleurYellowMamanCaseG,\KG}%
\ValeurCouleurYellowMamanCaseV=\psk@ArthurCMY@cY pt
\advance\ValeurCouleurYellowMamanCaseV by \YellowV pt
\ifdim\ValeurCouleurYellowMamanCaseV >1pt \ValeurCouleurYellowMamanCaseV=1pt \fi
\definecolor{caseV}{cmyk}{\CyanV,\MagentaV,\pointless\ValeurCouleurYellowMamanCaseV,\KV}%
\ValeurCouleurYellowMamanCaseL=\psk@ArthurCMY@cY pt
\advance\ValeurCouleurYellowMamanCaseL by \YellowL pt
\ifdim\ValeurCouleurYellowMamanCaseL >1pt \ValeurCouleurYellowMamanCaseL=1pt \fi
\definecolor{caseL}{cmyk}{\CyanL,\MagentaL,\pointless\ValeurCouleurYellowMamanCaseL,\KL}%
\ValeurCouleurYellowMamanCaseR=\psk@ArthurCMY@cY pt
\advance\ValeurCouleurYellowMamanCaseR by \YellowR pt
\ifdim\ValeurCouleurYellowMamanCaseR >1pt \ValeurCouleurYellowMamanCaseR=1pt \fi
\definecolor{caseR}{cmyk}{\CyanR,\MagentaR,\pointless\ValeurCouleurYellowMamanCaseR,\KR}%
\psboxfill{\Motif}
\psclip{\rput(\psk@ArthurCMY@xY,\psk@ArthurCMY@yY){\ifPst@GhostFamily\arthurMaman\else\arthurB\fi}}
\psframe[fillstyle=boxfill,linestyle=none](-8,-5)(8,5)
\endpsclip%
% Père et fils se croisent
\definecolor{caseG}{cmyk}{\pointless\ValeurCouleurCyanPapaCaseG,\pointless\ValeurCouleurMagentaFilsCaseG,\YellowG,\KG}%
\definecolor{caseV}{cmyk}{\pointless\ValeurCouleurCyanPapaCaseV,\pointless\ValeurCouleurMagentaFilsCaseV,\YellowV,\KV}%
\definecolor{caseL}{cmyk}{\pointless\ValeurCouleurCyanPapaCaseL,\pointless\ValeurCouleurMagentaFilsCaseL,\YellowL,\KL}%
\definecolor{caseR}{cmyk}{\pointless\ValeurCouleurCyanPapaCaseR,\pointless\ValeurCouleurMagentaFilsCaseR,\YellowR,\KR}%
%
\psboxfill{\Motif}
\psclip{%
\rput(\psk@ArthurCMY@xC,\psk@ArthurCMY@yC){\ifPst@GhostFamily\arthurPapa\else\arthurR\fi}}
\psclip{\rput(\psk@ArthurCMY@xM,\psk@ArthurCMY@yM){%
      \ifPst@GhostFamily\arthurFils\else\arthurG\fi}}
\psframe[fillstyle=boxfill,linestyle=none](-8,-5)(8,5)
\endpsclip%
\endpsclip%
% Mère et fils se croisent
\definecolor{caseG}{cmyk}{\CyanG,\pointless\ValeurCouleurMagentaFilsCaseG,\pointless\ValeurCouleurYellowMamanCaseG,\KG}%
\definecolor{caseV}{cmyk}{\CyanV,\pointless\ValeurCouleurMagentaFilsCaseV,\pointless\ValeurCouleurYellowMamanCaseV,\KV}%
\definecolor{caseL}{cmyk}{\CyanL,\pointless\ValeurCouleurMagentaFilsCaseL,\pointless\ValeurCouleurYellowMamanCaseL,\KL}%
\definecolor{caseR}{cmyk}{\CyanR,\pointless\ValeurCouleurMagentaFilsCaseR,\pointless\ValeurCouleurYellowMamanCaseR,\KR}%
%
\psboxfill{\Motif}
\psclip{%
\rput(\psk@ArthurCMY@xY,\psk@ArthurCMY@yY){\ifPst@GhostFamily\arthurMaman\else\arthurB\fi}}
\psclip{\rput(\psk@ArthurCMY@xM,\psk@ArthurCMY@yM){%
      \ifPst@GhostFamily\arthurFils\else\arthurG\fi}}
\psframe[fillstyle=boxfill,linestyle=none](-8,-5)(8,5)
\endpsclip%
\endpsclip%
% Mère et Père se croisent
\definecolor{caseG}{cmyk}{\pointless\ValeurCouleurCyanPapaCaseG,\MagentaG,\pointless\ValeurCouleurYellowMamanCaseG,\KG}%
\definecolor{caseV}{cmyk}{\pointless\ValeurCouleurCyanPapaCaseV,\MagentaV,\pointless\ValeurCouleurYellowMamanCaseV,\KV}%
\definecolor{caseL}{cmyk}{\pointless\ValeurCouleurCyanPapaCaseL,\MagentaL,\pointless\ValeurCouleurYellowMamanCaseL,\KL}%
\definecolor{caseR}{cmyk}{\pointless\ValeurCouleurCyanPapaCaseR,\MagentaR,\pointless\ValeurCouleurYellowMamanCaseR,\KR}%
%
\psboxfill{\Motif}
\psclip{%
\rput(\psk@ArthurCMY@xY,\psk@ArthurCMY@yY){\ifPst@GhostFamily\arthurMaman\else\arthurB\fi}}
\psclip{\rput(\psk@ArthurCMY@xC,\psk@ArthurCMY@yC){%
      \ifPst@GhostFamily\arthurPapa\else\arthurR\fi}}
\psframe[fillstyle=boxfill,linestyle=none](-8,-5)(8,5)
\endpsclip%
\endpsclip%
% Père, Mère et fils se croisent
\definecolor{caseG}{cmyk}{\pointless\ValeurCouleurCyanPapaCaseG,\pointless\ValeurCouleurMagentaFilsCaseG,\pointless\ValeurCouleurYellowMamanCaseG,\KG}%
\definecolor{caseV}{cmyk}{\pointless\ValeurCouleurCyanPapaCaseV,\pointless\ValeurCouleurMagentaFilsCaseV,\pointless\ValeurCouleurYellowMamanCaseV,\KV}%
\definecolor{caseL}{cmyk}{\pointless\ValeurCouleurCyanPapaCaseL,\pointless\ValeurCouleurMagentaFilsCaseL,\pointless\ValeurCouleurYellowMamanCaseL,\KL}%
\definecolor{caseR}{cmyk}{\pointless\ValeurCouleurCyanPapaCaseR,\pointless\ValeurCouleurMagentaFilsCaseR,\pointless\ValeurCouleurYellowMamanCaseR,\KR}%
%
\psboxfill{\Motif}
\psclip{%
\rput(\psk@ArthurCMY@xY,\psk@ArthurCMY@yY){\ifPst@GhostFamily\arthurMaman\else\arthurB\fi}}
\psclip{\rput(\psk@ArthurCMY@xC,\psk@ArthurCMY@yC){%
      \ifPst@GhostFamily\arthurPapa\else\arthurR\fi}}
\psclip{\rput(\psk@ArthurCMY@xM,\psk@ArthurCMY@yM){%
      \ifPst@GhostFamily\arthurFils\else\arthurG\fi}}
\psframe[fillstyle=boxfill,linestyle=none](-8,-5)(8,5)
\endpsclip%
\endpsclip%
\endpsclip%
% pour dessiner les contours
\ifPst@Contour
\rput(\psk@ArthurCMY@xC,\psk@ArthurCMY@yC){\psset{linestyle=solid}%
    \ifPst@GhostFamily\arthurPapa\else\arthurR\fi}
\rput(\psk@ArthurCMY@xM,\psk@ArthurCMY@yM){\psset{linestyle=solid}%
    \ifPst@GhostFamily\arthurFils\else\arthurG\fi}
\rput(\psk@ArthurCMY@xY,\psk@ArthurCMY@yY){\psset{linestyle=solid}%
    \ifPst@GhostFamily\arthurMaman\else\arthurB\fi}
\fi
\rput(\psk@ArthurCMY@xC,\psk@ArthurCMY@yC){\ifPst@GhostFamily\YeuxPapa\else\Yeux\fi}
\rput(\psk@ArthurCMY@xM,\psk@ArthurCMY@yM){\ifPst@GhostFamily\YeuxFils\else\Yeux\fi}
\rput(\psk@ArthurCMY@xY,\psk@ArthurCMY@yY){\ifPst@GhostFamily\YeuxMaman\else\Yeux\fi}
\endpspicture}}
\makeatother
\title{Une application du \\
recouvrement de couleurs :\\ les spectres de lumières
\footnote{Principe : Denis \textsc{Girou}, réalisation : Manuel
\textsc{Luque}}}
\author{}
\date{Version 0.1\\ 22 Juillet 2003}
\pagestyle{empty}
\newcount\Rot
\newdimen{\unit}
\begin{document}
\maketitle
Nous avons, au cours de nos études, entendu parler de \textit{spectres} de
lumières diverses : \textit{spectre} continu de la lumière blanche qui
étale toutes les couleurs de l'arc-en-ciel, \textit{spectres} de raies d'un
élément chimique, \textit{spectre} d'absorption d'une solution etc. Mais,
puisqu'il s'agit de \textit{spectres}, êtes-vous bien certain de les avoir vraiment vus
? C'est cette lacune que nous allons nous efforcer de combler et, par la même
occasion, nous parlerons de la synthèse additive RGB de la synthèse soustractive CMYK et aussi de la transparence !
\section{La synthèse additive RGB}
Nous avons mis au point des projecteurs de lumière rouge, verte et bleue,
dont on peut régler l'intensité lumineuse du faisceau, permettant ainsi de
mettre en lumière(sic) ces fameux spectres, qui sans cela resteraient invisibles à
nos yeux ! Nous en avons profité pour les filmer à leur insu\ldots{} On
remarquera, en bas à gauche, une apparition extrêmement rare, le spectre de
l'arc-en-ciel, que nous avons eu la chance de figer sur
la pellicule.
 
Observons, tout d'abord, sur cette animation, leur comportement lorsqu'ils
se croisent\ldots
\begin{center}
\begin{pspicture}*(-8,-4)(8,4)
\psframe[fillstyle=solid,fillcolor=black](-8,-4)(8,4)
\psset{linestyle=none}
\ArthurRGB[xR=-0.5,yR=1,xG=0,yG=-1,xB=0.5,yB=0.5]
\rput(-6,-1){%
\psset{unit=0.5}
\begin{psclip}{\arthurB}
\psframe[fillstyle=slopes](-2.9,-5)(2.5,2.2)
\end{psclip}
\Yeux}
\end{pspicture}
\end{center}
\begin{verbatim}
\ArthurRGB[xR=-0.5,yR=1,xG=0,yG=-1,xB=0.5,yB=0.5]
\end{verbatim}
Cette commande place le spectre rouge au point de coordonnées
\verb+(xR=-0.5,yR=1)+, le spectre vert en \verb+(xG=0,yG=-1)+ et le bleu en
\verb+(xB=0.5,yB=0.5)+. Nous avons le choix entre deux familles :
\begin{itemize}
  \item celle d'Arthur le fantôme\footnote{%
Arthur est une création du dessinateur de bandes dessinées \textsc{Cézard}, auteur des aventures \textit{d'Arthur le petit fantôme},
et d'autres séries comme \textit{Les Rigolus et les Tristus}. La maman d'Arthur a été légèrement retouchée par rapport à l'originale, toutefois ces trois dessins
 ne sont que des pâles copies des originaux.} ;
  \item et une autre qui n'a pas de renommée particulière.
\end{itemize}
C'est la famille d'Arthur qui est choisie par défaut. Le paramètre
\verb+GhostFamily=false+ placera la deuxième famille de spectres.
Pour leurs dimensions et positionnement respectifs, on se référera
aux images suivantes.
\begin{center}
\psset{unit=0.8}
\begin{pspicture}(-3.5,-4)(3.5,4)
\psgrid(-3,-4)(3,4)
\psframe[fillstyle=solid,fillcolor=black](-2,-3)(2,3)
\psset{fillstyle=solid,fillcolor=white,linestyle=none}
\arthurPapa\YeuxPapa
\end{pspicture}
\begin{pspicture}(-3.5,-4)(3.5,4)
\psgrid(-3,-4)(3,4)
\psframe[fillstyle=solid,fillcolor=black](-2,-3)(2,3)
{\psset{fillstyle=solid,fillcolor=white,linestyle=none}\arthurFils}\YeuxFils
\end{pspicture}
\begin{pspicture}(-3.5,-4)(3.5,4)
\psgrid(-3,-4)(3,4)
\psframe[fillstyle=solid,fillcolor=black](-2,-3)(2,3)
\psset{fillstyle=solid,fillcolor=white,linestyle=none}
\arthurMaman\YeuxMaman
\end{pspicture}
\end{center}
\begin{center}
\psset{unit=0.57}
\begin{pspicture}(-5,-6)(5,3.5)
\psgrid(-4,-6)(4,3)
\psframe[fillstyle=solid,fillcolor=black](-3,-5)(3,2)
\psset{fillstyle=solid,fillcolor=red}\arthurR\Yeux
\end{pspicture}
\begin{pspicture}(-5,-6)(5,3.5)
\psgrid(-4,-6)(4,3)
\psframe[fillstyle=solid,fillcolor=black](-3,-5)(3,2)
\psset{fillstyle=solid,fillcolor=green}\arthurG\Yeux
\end{pspicture}
\begin{pspicture}(-5,-6)(5,3.5)
\psgrid(-4,-6)(4,3)
\psframe[fillstyle=solid,fillcolor=black](-3,-5)(3,2)
\psset{fillstyle=solid,fillcolor=blue}\arthurB\Yeux
\end{pspicture}
\end{center}
La luminosité de chacun des faisceaux peut-être affaiblie avec les
paramètres \verb+cR=...,cG=...,cB=...+. La valeur par défaut, luminosité
maximale, de chaque couleur vaut 1.
 
Avec \verb+[cR=0.5,cG=0.7,cB=0.6]+, la scène précédente s'assombrit et devient :
\begin{center}
\begin{pspicture}*(-8,-4)(8,4)
\psframe[fillstyle=solid,fillcolor=black](-8,-4)(8,4)
\psset{linestyle=none}
\ArthurRGB[xR=-1,cR=0.5,yR=0.5,cG=0.7,xG=0,yG=-0.5,xB=1,yB=0.5,cB=0.6]
\rput(-6.5,-1){%
\psset{unit=0.5}
\begin{psclip}{\arthurG}
\psframe[fillstyle=slopes](-2.6,-5)(2.5,2.2)
\end{psclip}
\psarc[linestyle=solid](0,-0.2){0.5}{210}{-50}\Yeux}
\end{pspicture}
\end{center}
Avec, \verb+[cR=0.2,cG=0.2,cB=0.2]+ on obtient une tonalité plus
sépulcrale\ldots
\begin{center}
\begin{pspicture}*(-8,-4)(8,4)
\psframe[fillstyle=solid,fillcolor=black](-8,-4)(8,4)
\psset{linestyle=none}
\ArthurRGB[xR=-1,cR=0.2,yR=-1,cG=0.2,xG=0,yG=1,xB=1,yB=0,cB=0.2]
\rput(-6.5,-1.5){%
\psset{unit=0.5}
\begin{psclip}{\arthurG}
\psframe[fillstyle=slopes](-2.6,-5)(2.6,2.2)
\end{psclip}
\psellipse[linestyle=solid,fillstyle=solid,fillcolor=white](0,-0.6)(0.2,0.3)\Yeux}
\end{pspicture}
\end{center}
Ces illustrations mettent en \oe{}uvre, bien sûr, la synthèse additive RVB
des couleurs.
\begin{itemize}
  \item Rouge $+$ Vert $=$ Jaune
\begin{center}
\begin{pspicture}*(-8,-3)(8,4)
\psframe[fillstyle=solid,fillcolor=black](-8,-3)(8,4)
\psset{linestyle=none}
\ArthurRGB[xR=-0.5,yR=1,xG=-1,yG=0,xB=20,yB=0.5]
\end{pspicture}
\end{center}
  \item Rouge $+$ Bleu $=$ Magenta
\begin{center}
\begin{pspicture}*(-8,-4)(8,4)
\psframe[fillstyle=solid,fillcolor=black](-8,-3)(8,4)
\psset{linestyle=none}
\ArthurRGB[xR=-0.75,yR=1,xG=20,yG=0.25,xB=0,yB=0.5]
\end{pspicture}
\end{center}
  \item Bleu $+$ Vert $=$ Cyan
\begin{center}
\begin{pspicture}*(-8,-3)(8,4)
\psframe[fillstyle=solid,fillcolor=black](-8,-3)(8,4)
\psset{linestyle=none}
\ArthurRGB[xR=-20,yR=1,xG=0.5,yG=0,xB=0,yB=0.5]
\end{pspicture}
\end{center}
 \item Rouge $+$ Vert $+$ Bleu $=$ Blanc
\begin{center}
\begin{pspicture}*(-8,-3)(8,4)
\psframe[fillstyle=solid,fillcolor=black](-8,-3)(8,4)
\psset{linestyle=none}
\ArthurRGB[xR=-1,yR=1,xG=-0.5,yG=-0.5,xB=-0.25,yB=0.5]
\end{pspicture}
\end{center}
\end{itemize}
\newpage
\section{La synthèse soustractive CMYK}
Les fantômes ont changé de tenues : ils ont revêtu un drap de
couleur respectivement cyan, magenta et jaune. Ils vont maintenant
faire office de filtres en se déplaçant devant le faisceau d'un
projecteur de lumière blanche.
\begin{center}
\begin{pspicture}*(-8,-8)(8,8)
\setrannum{\Rot}{5}{11}
\setrandim{\unit}{1pt}{1.5pt}
\multiply\Rot by 10
\psframe[fillstyle=solid,fillcolor=black](-8,-8)(8,8)
\psclip{\pscircle[fillstyle=solid]{7}}
\psset{linestyle=none,unit=\pointless\unit}
\pstilt{\Rot}{\ArthurCMY[xC=0,yC=0,xM=1,yM=-0.5,xY=1.5,yY=1.5]}
\endpsclip
\end{pspicture}
\end{center}
Nous pouvons ici aussi, observer leur comportement, lorsqu'ils se
croisent, sur cette animation.
 
L'intensité des composantes cyan, magenta et jaune peut être
réglée par l'intermédiaire des paramètres :
\verb+cC=0.5,cM=0.7,cY=0.6+, qui valent 1 par défaut. Avec ces
valeurs la scène précédente devient :
\begin{center}
\begin{pspicture}*(-8,-8)(8,8)
\setrannum{\Rot}{5}{11}
\setrandim{\unit}{1pt}{1.5pt}
\multiply\Rot by 10
\psframe[fillstyle=solid,fillcolor=black](-8,-8)(8,8)
\psclip{\pscircle[fillstyle=solid]{7}}
\psset{linestyle=none,unit=\pointless\unit}
\pstilt{\Rot}{\ArthurCMY[xC=0,yC=0,xM=1,yM=-0.5,xY=1.5,yY=1.5,cC=0.5,cM=0.7,cY=0.6]}
\endpsclip
\end{pspicture}
\end{center}
Ces illustrations mettent en application la synthèse soustractive
CMYK des couleurs.
\begin{itemize}
  \item Cyan $+$ Jaune $=$ Vert
  \item Cyan $+$ Magenta $=$ Bleu
  \item Magenta $+$ Jaune $=$ Rouge
  \item Cyan $+$ Jaune $+$ Magenta $=$ Noir
\end{itemize}
Avec bien sûr des nuances dans les résultats suivant les valeurs
choisies pour les couleurs de base (paramètres :
\verb+[cC=1,cM=1,cY=1]+).
\newpage
\section{La transparence}
Le choix du système CMYK peut être très judicieux lorsqu'il s'agit
de simuler les effets de transparence et c'est ici que le choix de
spectres pour illustrer cette notion prend toute sa signification,
puisque chacun sait que les fantômes sont transparents\ldots
 
La convention adoptée, lorsque deux couleurs se superposent, est la
suivante : les composantes de même nature (cyan, magenta et yellow) s'ajoutent et le
résultat de leur addition est, en cas de dépassement, limité à 1.
 
\MosaiqueGhosts[cC=0.8,cM=0.5,xC=0,yC=0.5,xM=0,yM=-0.5,yY=3.5]
 
\MosaiqueGhosts[cC=0.8,cM=0.5,xC=8,yC=0,xM=-6,yM=-1,yY=0,xY=-6]
 
\MosaiqueGhosts[cC=0.8,cM=0.5,xC=0,yC=-1,xM=-6,yM=-1,yY=0,xY=0]
 
\MosaiqueGhosts[cC=0.8,cM=0.5,xC=0,yC=0,xM=0,yM=-1,yY=1,xY=0]
\psset{GhostFamily=false,Contour=true}
 
\MosaiqueGhosts[cC=0.8,cM=0.5,xC=0,yC=0,xM=0,yM=-1,yY=4]
 
\MosaiqueGhosts[cC=0.8,cM=0.5,xC=8,yC=0,xM=-6,yM=-1,yY=0,xY=-6]
 
\MosaiqueGhosts[cC=0.8,cM=0.5,xC=0,yC=-1,xM=-6,yM=-1,yY=0,xY=0]
 
\MosaiqueGhosts[cC=0.8,cM=0.5,xC=0,yC=0,xM=0,yM=-1,yY=1,xY=0]
 
\end{document}