Voici les deux éléments de la carte :
Les dessins ont été réalisés avec PStricks et les commandes de base :
La trame transparente :
\psclip{\psframe[linestyle=none](-5,-7)(5,7)}
\multido{\i=0+2}{36}{%
\pstVerb{/kA \i\space def
/A1 kA 5 mul def
/A2 A1 5 add def}%
\pswedge*(0,0){9}{!A1}{!A2}}%
\endpsclip
\multido{\i=0+2}{36}{%
\pstVerb{/kA \i\space def
/A1 kA 5 mul def
/A2 A1 5 add def}%
\pswedge*(0,0){9}{!A1}{!A2}}%
\endpsclip
L'image fixe est constituée par les superpositions successives de 4 trames de la plus grande à la plus petite. C'est une trame identique à la trame transparente, mais dont les secteurs vides sont alternativement coloriés en vert et en orange.
def\trameColorA{
\multido{\i=0+2}{36}{%
\pstVerb{/kA \i\space def
/A1 kA 5 mul def
/A2 A1 5 add def}%
\pswedge*(0,0){9}{!A1}{!A2}}%
\multido{\i=1+4}{25}{%
\pstVerb{/kA \i\space def
/A1 kA 5 mul def
/A2 A1 5 add def}%
\pswedge*[linecolor=green](0,0){9}{!A1}{!A2}}
\multido{\i=3+4}{24}{%
\pstVerb{/kA \i\space def
/A1 kA 5 mul def
/A2 A1 5 add def}%
\pswedge*[linecolor={[cmyk]{0 0.5 1 0}}](0,0){9}{!A1}{!A2}}%
}%
\multido{\i=0+2}{36}{%
\pstVerb{/kA \i\space def
/A1 kA 5 mul def
/A2 A1 5 add def}%
\pswedge*(0,0){9}{!A1}{!A2}}%
\multido{\i=1+4}{25}{%
\pstVerb{/kA \i\space def
/A1 kA 5 mul def
/A2 A1 5 add def}%
\pswedge*[linecolor=green](0,0){9}{!A1}{!A2}}
\multido{\i=3+4}{24}{%
\pstVerb{/kA \i\space def
/A1 kA 5 mul def
/A2 A1 5 add def}%
\pswedge*[linecolor={[cmyk]{0 0.5 1 0}}](0,0){9}{!A1}{!A2}}%
}%
Les autres s'obtiennent simplement par rotation des secteurs.
Ainsi pour la deuxième :
\def\trameColorB{
\multido{\i=1+2}{36}{%
\pstVerb{/kA \i\space def
/A1 kA 5 mul def
/A2 A1 5 add def}%
\pswedge*(0,0){9}{!A1}{!A2}}%
\multido{\i=2+4}{25}{%
\pstVerb{/kA \i\space def
/A1 kA 5 mul def
/A2 A1 5 add def}%
\pswedge*[linecolor=green](0,0){9}{!A1}{!A2}}
\multido{\i=4+4}{24}{%
\pstVerb{/kA \i\space def
/A1 kA 5 mul def
/A2 A1 5 add def}%
\pswedge*[linecolor={[cmyk]{0 0.5 1 0}}](0,0){9}{!A1}{!A2}}%
}%
\multido{\i=1+2}{36}{%
\pstVerb{/kA \i\space def
/A1 kA 5 mul def
/A2 A1 5 add def}%
\pswedge*(0,0){9}{!A1}{!A2}}%
\multido{\i=2+4}{25}{%
\pstVerb{/kA \i\space def
/A1 kA 5 mul def
/A2 A1 5 add def}%
\pswedge*[linecolor=green](0,0){9}{!A1}{!A2}}
\multido{\i=4+4}{24}{%
\pstVerb{/kA \i\space def
/A1 kA 5 mul def
/A2 A1 5 add def}%
\pswedge*[linecolor={[cmyk]{0 0.5 1 0}}](0,0){9}{!A1}{!A2}}%
}%
etc.
Ces trames sont ensuite découpées aux dimensions adéquates :
\def\imageFixe{
\psclip{\psframe[linestyle=none](-5,-7)(5,7)}
\trameColorA
\endpsclip
\psclip{\psframe[linestyle=none](-5,-5)(5,5)}
\trameColorB
\endpsclip
\psclip{\psframe[linestyle=none](-3.75,-3.75)(3.75,3.75)}
\trameColorC
\endpsclip
\psclip{\psframe[linestyle=none](-2.5,-2.5)(2.5,2.5)}
\trameColorD
\endpsclip
\psclip{\psframe[linestyle=none](-1.25,-1.25)(1.25,1.25)}
\trameColorA
\endpsclip
}
\psclip{\psframe[linestyle=none](-5,-7)(5,7)}
\trameColorA
\endpsclip
\psclip{\psframe[linestyle=none](-5,-5)(5,5)}
\trameColorB
\endpsclip
\psclip{\psframe[linestyle=none](-3.75,-3.75)(3.75,3.75)}
\trameColorC
\endpsclip
\psclip{\psframe[linestyle=none](-2.5,-2.5)(2.5,2.5)}
\trameColorD
\endpsclip
\psclip{\psframe[linestyle=none](-1.25,-1.25)(1.25,1.25)}
\trameColorA
\endpsclip
}
La dernière étape consiste à produire 121 images décalées de 1,5° (pour faire un demi-tour)
\multido{\nA=0.0+1.5}{121}{%
\psscalebox{0.5}{
\begin{pspicture}(-9,-9)(9,9)
\psframe(-9,-9)(9,9)
\imageFixe
\rput{\nA}{\transparent}
\end{pspicture}}
\newpage}
\psscalebox{0.5}{
\begin{pspicture}(-9,-9)(9,9)
\psframe(-9,-9)(9,9)
\imageFixe
\rput{\nA}{\transparent}
\end{pspicture}}
\newpage}
La deuxième partie consistera à détailler la production des images et de l'animation. Voici un Gif animé
et ici une animation au format SWF réalisée par Jean-Michel Sarlat.
Le code complet pour obtenir le fichier postscript qui servira de base pour créer toutes les images nécessaires à l'animation :
\documentclass{article}
\usepackage{pstricks,multido}
\SpecialCoor
\pagestyle{empty}
\psset{dimen=middle}
% image fixe
\def\trameColorA{
\multido{\i=0+2}{36}{%
\pstVerb{/kA \i\space def
/A1 kA 5 mul def
/A2 A1 5 add def}%
\pswedge*(0,0){9}{!A1}{!A2}}%
\multido{\i=1+4}{25}{%
\pstVerb{/kA \i\space def
/A1 kA 5 mul def
/A2 A1 5 add def}%
\pswedge*[linecolor=green](0,0){9}{!A1}{!A2}}
\multido{\i=3+4}{24}{%
\pstVerb{/kA \i\space def
/A1 kA 5 mul def
/A2 A1 5 add def}%
\pswedge*[linecolor={[cmyk]{0 0.5 1 0}}](0,0){9}{!A1}{!A2}}%
}%
\def\trameColorB{
\multido{\i=1+2}{36}{%
\pstVerb{/kA \i\space def
/A1 kA 5 mul def
/A2 A1 5 add def}%
\pswedge*(0,0){9}{!A1}{!A2}}%
\multido{\i=2+4}{25}{%
\pstVerb{/kA \i\space def
/A1 kA 5 mul def
/A2 A1 5 add def}%
\pswedge*[linecolor=green](0,0){9}{!A1}{!A2}}
\multido{\i=4+4}{24}{%
\pstVerb{/kA \i\space def
/A1 kA 5 mul def
/A2 A1 5 add def}%
\pswedge*[linecolor={[cmyk]{0 0.5 1 0}}](0,0){9}{!A1}{!A2}}%
}%
\def\trameColorC{
\multido{\i=2+2}{36}{%
\pstVerb{/kA \i\space def
/A1 kA 5 mul def
/A2 A1 5 add def}%
\pswedge*(0,0){9}{!A1}{!A2}}%
\multido{\i=3+4}{25}{%
\pstVerb{/kA \i\space def
/A1 kA 5 mul def
/A2 A1 5 add def}%
\pswedge*[linecolor=green](0,0){9}{!A1}{!A2}}
\multido{\i=5+4}{24}{%
\pstVerb{/kA \i\space def
/A1 kA 5 mul def
/A2 A1 5 add def}%
\pswedge*[linecolor={[cmyk]{0 0.5 1 0}}](0,0){9}{!A1}{!A2}}%
}%
\def\trameColorD{
\multido{\i=3+2}{36}{%
\pstVerb{/kA \i\space def
/A1 kA 5 mul def
/A2 A1 5 add def}%
\pswedge*(0,0){9}{!A1}{!A2}}%
\multido{\i=4+4}{25}{%
\pstVerb{/kA \i\space def
/A1 kA 5 mul def
/A2 A1 5 add def}%
\pswedge*[linecolor=green](0,0){9}{!A1}{!A2}}
\multido{\i=6+4}{24}{%
\pstVerb{/kA \i\space def
/A1 kA 5 mul def
/A2 A1 5 add def}%
\pswedge*[linecolor={[cmyk]{0 0.5 1 0}}](0,0){9}{!A1}{!A2}}%
}%
\def\imageFixe{
\psclip{\psframe[linestyle=none](-5,-7)(5,7)}
\trameColorA
\endpsclip
\psclip{\psframe[linestyle=none](-5,-5)(5,5)}
\trameColorB
\endpsclip
\psclip{\psframe[linestyle=none](-3.75,-3.75)(3.75,3.75)}
\trameColorC
\endpsclip
\psclip{\psframe[linestyle=none](-2.5,-2.5)(2.5,2.5)}
\trameColorD
\endpsclip
\psclip{\psframe[linestyle=none](-1.25,-1.25)(1.25,1.25)}
\trameColorA
\endpsclip
}
\def\transparent{%
\psclip{\psframe[linestyle=none](-5,-7)(5,7)}
\multido{\i=0+2}{36}{%
\pstVerb{/kA \i\space def
/A1 kA 5 mul def
/A2 A1 5 add def}%
\pswedge*(0,0){9}{!A1}{!A2}}%
\endpsclip}
%
\begin{document}
\multido{\nA=0.0+1.5}{121}{%
\psscalebox{0.5}{
\begin{pspicture}(-9,-9)(9,9)
\psframe(-9,-9)(9,9)
\imageFixe
\rput{\nA}{\transparent}
\end{pspicture}}
\newpage}
\end{document}
Aucun commentaire:
Enregistrer un commentaire