Retour

transparence_cmyk_animation.tex

Télécharger le fichier
\documentclass{article}
 
\usepackage[latin1]{inputenc}
\usepackage{arrayjob}% Zhuhan Jiang : Zhuhan@turing.une.edu.au
% documentation de  Denis Girou
\usepackage[width=18cm]{geometry}
\usepackage{multido}
\usepackage{pstcol,pst-eps}
 
\input{random}
 
\setlength{\parindent}{0pt}
 
\SpecialCoor
 
% les couleurs du filtre
\def\Cyan{0.8}
\def\Magenta{0.1}
\def\Yellow{0.1}
\definecolor{colorFiltre}{cmyk}{\Cyan,\Magenta,\Yellow,0}
 
% les couleurs aléatoires des cases
\newdimen{\ValeurCouleurCyan}
\newdimen{\ValeurCouleurMagenta}
\newdimen{\ValeurCouleurYellow}
 
% leur stockage
\newarray\colorCyan
\newarray\colorMagenta
\newarray\colorYellow
\dataheight=9
\expandarrayelementtrue
 
\psset{dimen=middle}
 
\makeatletter
 
\def\DessinFond{%
\multido{\iLigne=1+1}{9}{%
  \multido{\iColonne=1+1}{9}{%
    \setrandim{\ValeurCouleurCyan}{0pt}{0.4pt}%
    \global\colorCyan(\iLigne,\iColonne)={\pointless\ValeurCouleurCyan}
    \setrandim{\ValeurCouleurMagenta}{0pt}{0.4pt}%
    \global\colorMagenta(\iLigne,\iColonne)={\pointless\ValeurCouleurMagenta}
    \setrandim{\ValeurCouleurYellow}{0pt}{0.4pt}%
    \global\colorYellow(\iLigne,\iColonne)={\pointless\ValeurCouleurYellow}
    \definecolor{MyColor}{cmyk}%
       {\pointless\ValeurCouleurCyan,\pointless\ValeurCouleurMagenta,
        \pointless\ValeurCouleurYellow,0}%
    \psframe[fillstyle=solid,fillcolor=MyColor,linestyle=none]
            (!\iLigne\space 1 sub \iColonne\space 1 sub)(\iLigne,\iColonne)}}}
 
\def\DessinTransparent{%
\multido{\iLigne=1+1}{9}{%
  \multido{\iColonne=1+1}{9}{%
    \checkcolorCyan(\iLigne,\iColonne)%
    \pst@dimc=\cachedata pt
    \advance\pst@dimc by \Cyan pt
    \ifdim\pst@dimc >1pt \pst@dimc=1pt \fi
    \checkcolorMagenta(\iLigne,\iColonne)%
    \pst@dimd=\cachedata pt
    \advance\pst@dimd by \Magenta pt
    \ifdim\pst@dimd >1pt \pst@dimd=1pt \fi
    \checkcolorYellow(\iLigne,\iColonne)%
    \pst@dimg=\cachedata pt
    \advance\pst@dimg by \Yellow pt
    \ifdim\pst@dimg >1pt \pst@dimg=1pt \fi
    \definecolor{MyColor}{cmyk}{\pointless\pst@dimc,\pointless\pst@dimd,\pointless\pst@dimg,0}%
    \psframe[fillstyle=solid,fillcolor=MyColor,linestyle=none]
            (!\iLigne\space 1 sub \iColonne\space 1 sub)(\iLigne,\iColonne)}}}
 
\makeatother
 
\pagestyle{empty}
\begin{document}
% les couleurs du filtre
\def\Cyan{0}
\def\Magenta{0.2}
\def\Yellow{0.5}
% génération des images : Denis Girou
\typein[\Step]{Which step?}
% 0 30 60 90 120 150 180 210 240 270 300 330 330
\TeXtoEPS
\begin{pspicture}(9,9)
  \randomi=2568792
  \DessinFond
  \psclip{\pscircle[linestyle=none](! 4.5 2 \Step\space cos mul add %
     4.5 2 \Step\space sin mul add){1.5}}
    \DessinTransparent
  \endpsclip
\end{pspicture}
\endTeXtoEPS
% puis script de J.M. Sarlat pour réaliser l'animation
% voir site http://melusine.eu.org/syracuse/
\end{document}