2 \documentclass[a4paper,fleqn
]{article
}
3 \usepackage[utf8
]{inputenc}
4 \usepackage[T1]{fontenc}
5 \usepackage{amsmath,amssymb
}
6 \usepackage[frenchb
]{babel
}
8 \usepackage[charter
]{mathdesign
}
9 \usepackage[margin=
2.5cm
]{geometry
}
12 \usepackage[svgnames
]{xcolor
}
14 \usepackage[nomessages
]{fp
}
16 \usepackage{pst-plot,pst-solides3d,pst-anamorphosis-add,pst-
3d
}
18 \usepackage[absolute,notitlepage
]{pst-abspos
}
21 \psset{path=C:/Dokumente und Einstellungen/Besitzer/Desktop/bergen/bergen/
}
22 %\def\epsRoot{C:/Dokumente und Einstellungen/Besitzer/Desktop/bergen/bergen/}
24 \renewcommand{\ttdefault}{lmtt
}
26 \definecolor{syracuseGRIS
}{HTML
}{C1C1C1
}
27 \definecolor{syracuseVERT
}{HTML
}{029235}
29 \definecolor{sepia
}{rgb
}{1,
0.8,
0.8}
30 \definecolor{grisclair
}{rgb
}{0.8,
0.8,
0.8}
31 \definecolor{BleuCiel
}{cmyk
}{0.2,
0,
0,
0}
32 \definecolor{OrangePale
}{cmyk
}{0,
0.2,
0.4,
0}
37 basicstyle=
\ttfamily\small,
%
38 texcsstyle=*
\color{blue
},
%
39 identifierstyle=
\color{black
},
%
40 keywordstyle=
\color{syracuseVERT
},
%
41 otherkeywords=
{$, \
{, \
}, \
[, \
]},
42 stringstyle=
\color{syracuseVERT
},
%
43 commentstyle=
\color{syracuseVERT
},
%
44 backgroundcolor=
\color{syracuseGRIS!
30},
%
49 %rulesepcolor=\color{syracuseGRIS!30},%
52 showstringspaces=false,
%
57 breakautoindent=true,
%
61 morekeywords=
[6]{pspicture,center
},
%
62 keywordstyle=
[6]\color{FireBrick
},
%
63 %morekeywords=[7]{(,)},%
64 %keywordstyle=[7]\color{syracuseVERT}
67 \renewcommand{\lstlistingname}{Source
}
68 \renewcommand{\labelitemi}{$
\bullet$
}
71 \newcommand\cs[1]{\texttt{\char`\\
#1}}
72 \newcommand\file[1]{\texttt{#1}}
77 \def\syracuseTitle{Les anamorphoses : liste des macros et des options
}
78 %\def\syracuseGraphic{eiffel2}
83 %% === BEGIN == Page de garde =================================================
88 \begin{pspicture
}(
0,
0)(
21,
29.7)
89 \pspolygon[fillstyle=solid,linecolor=syracuseVERT,fillcolor=syracuseVERT
](
0,
0)(
10.5,
14.85)(
21,
0)
90 \pspolygon[fillstyle=solid,linecolor=syracuseGRIS,fillcolor=syracuseGRIS
](
0,
0)(
21,
29.7)(
0,
29.7)
91 \pspolygon[fillstyle=solid,linecolor=syracuseGRIS!
50,fillcolor=syracuseGRIS!
50](
21,
0)(
10.5,
14.85)(
21,
29.7)
94 \pstPutAbs(
2.5,-
3.75)
{%
95 \includegraphics[scale=
1]{pst-anamorphosis
}
97 \pstPutAbs(
2.5,-
5.25)
{%
98 \LARGE \textbf{\syracuseTitle}
100 \pstPutAbs(
2.5,-
13.5)
{%
101 \begin{pspicture
}(
0,
0)(
8,
8)
102 \rput(
4,
4)
{\includegraphics[height=
8cm
]{eiffel
}}
103 %\rput(4,4){\includegraphics[height=8cm]{\syracuseGraphic}}
107 \pstPutAbs(
12.5,-
15)
{%
108 \parbox{0.4\textwidth}{\Large\raggedleft
109 {\LARGE\textbf{Contributeurs
}}\\
[0.2cm
]
110 J\"
{u
}rgen
\textsc{Gilg
}\\
111 Manuel
\textsc{Luque
}\\
112 Jean-Michel
\textsc{Sarlat
}
116 \textcolor{white
}{\textbf{\today}}\\
[0.3cm
]
117 \textcolor{white
}{\url{http://melusine.eu.org/syracuse/G/pst-anamorphosis/
}}\\
118 \includegraphics[scale=
0.4]{logo_syracuse
}
121 %% == END == Page de garde ====================================================
128 Le package `
\textsf{pst-anamorphosis
}' est compos\'
{e
}, actuellement, de
\mbox{deux~parties~:
}
130 \item `
\textsf{pst-anamorphosis
}' qui permet d'afficher l'anamorphose d'un fichier au format
\textsf{.eps
} ;
131 \item `
\textsf{pst-anamorphosis-add
}' qui est son compl\'
{e
}ment et qui adapte certaines macros de
\textsf{PSTricks
} comme
\verb+
\psline+ et d'autres d\'
{e
}taill\'
{e
}es par la suite, au trac\'
{e
} d'anamorphoses personnelles dessin\'
{e
}es avec ces commandes. De plus, cette partie permet l'affichage de texte anamorphos\'
{e
} et de dessins au format
\textsf{.pst
} c'est-\`
{a
}-dire compos\'
{e
} de commandes
\textsf{PSTricks
}.
133 Ce package permet de calculer et dessiner les images anamorphiques planes obtenues par les anamorphoses suivantes :
137 \item sph\'
{e
}rique ;
139 \item perspective invers\'
{e
}e.
144 \section{\textbackslash{}psanamorphosis
}
145 \verb+
\psanamorphosis[options
](x,y)
{fichier.eps
}+ dessine l'image et l'image anamorphique au point de coordonn\'
{e
}es $(x,y)$. Si les coordonn\'
{e
}es ne sont pas pr\'
{e
}cis\'
{e
}es l'origine est $(
0,
0)$.
147 Les
\textbf{options
}, avec leurs valeurs par d\'
{e
}faut :
149 \item Le type d'anamorphose
\textsf{[type=cylindrical
] }, voici les autres :
152 \item \textsf{conical
}
153 \item \textsf{spherical
}
154 \item \textsf{perspective
}
155 \item \textsf{inverseperspective
}
158 \item le rayon du cylindre, de la sph\`
{e
}re et de la base du c\^
{o
}ne :
\textsf{Rmirror=
3} ;
159 \item la hauteur du c\^
{o
}ne, la cote du sommet :
\textsf{Zs=
5}
160 \item l'abscisse de l'observateur (du point de vue, d'o\`
{u
} la lettre
\textsf{v
}) :
\textsf{Xv=
0} ;
161 \item l'ordonn\'
{e
}e de l'observateur :
\textsf{Yv=-
10} ;
162 \item la cote de l'observateur :
\textsf{Zv=
10} ;
163 \item l'ordonn\'
{e
}e du point de fuite principal $F$ :
\textsf{F=
10} ;
164 \item la distance de $F$ \`
{a
} $F'$ :
\textsf{D=
4} ;
165 \item l'unit\'
{e
} du quadrillage ou plut\^
{o
}t le demi-c\^
{o
}t\'
{e
} du carr\'
{e
} :
\textsf{ua=
2}.
166 \item Un bool\'
{e
}en
\textsf{[drawanamorphosis=true
]} qui dessine l'image anamorphique et qui positionn\'
{e
} \`
{a
} \textsf{[false
]} permet de faire des essais de dimensions et de cadrage par rapport au
\textit{cercle
} de base du miroir ;
167 \item un facteur d'\'
{e
}chelle
\textsf{[scale=
1 1]} suivant $x$ et $y$ pour adapter les dimensions de l'image au miroir.
168 \item Une option permettant de choisir, \'
{e
}ventuellement, le chemin du r\'
{e
}pertoire contenant les images au format eps :
\textsf{[path=
]}, il est vide par d\'
{e
}faut, ce qui implique que les images sont dans le m\^
{e
}me r\'
{e
}pertoire que le fichier de travail. Il faut signaler une particularit\'
{e
} li\'
{e
}e \`
{a
} l'interpr\'
{e
}teur postscript, que ce soit sous Windows ou Linux il ne doit pas comporter de
\textbackslash{}. On pourra utiliser par exemple :
170 \verb+
\psset{path=C:/Dokumente und Einstellungen/Besitzer/Desktop/workfolder/
}+
174 \section{pst-anamorphosis-add
}
176 \subsection{Les macros
\textbackslash{}pscircleA,
\textbackslash{}pscurveA,
\textbackslash{}psccurveA,
\textbackslash{}psbezierA,
\mbox{\textbackslash{}pnodeA
} et
\textbackslash{}movetoA
}
178 Ces commandes sont calqu\'
{e
}es sur celles de PStricks, elles ont donc les m\^
{e
}mes options, elles s'adaptent automatiquement au type d'anamorphose choisi.
181 \subsection{Un texte
}
182 \verb+
\pstextA[options
](x,y)
{texte
}+ permet de placer le texte centr\'
{e
} au point de coordonn\'
{e
}es~$(x,y)$.
184 Les options de texte :
186 \item le type de fonte
\textsf{[PSfont=Times-Roman
]} ;
187 \item la taille en pts
\textsf{[fontsize=
40]} ;
188 \item un facteur d'\'
{e
}chelle
\textsf{[scale=
1 1]}, comme pour les images.
192 \subsection{Un fichier
\textsf{.pst
}}
194 Une commande sp\'
{e
}cifique permet le calcul et l'affichage des fichiers au format
\textbf{.pst
} :
\mbox{\textbf{\textbackslash{}AFP\
{fichier.pst\
}}.
} Cette image peut \^
{e
}tre mise \`
{a
} une \'
{e
}chelle diff\'
{e
}rente ou d\'
{e
}plac\'
{e
}e si le type d'anamorphose choisie le n\'
{e
}cessite, comme dans l'exemple suivant :
196 \psset{Rmirror=
3,scale=-
0.5 -
0.5,translate=
0 1.5,type=conical
}
204 \subsection{Anamorphose cylindrique
}
206 L'anamorphose cylindrique est celle qui est trac\'
{e
}e par d\'
{e
}faut si aucun type n'est sp\'
{e
}cifi\'
{e
}. Comme options, elle ne n\'
{e
}cessite que le rayon du cylindre, l'abscisse et l'ordonn\'
{e
}e du point de vue, comme nous l'avons vu dans la partie th\'
{e
}orique la cote du point de vue n'intervient pas. Comme tous les autres types d'anamorphoses, le dessin pourra \^
{e
}tre mis \`
{a
} l'\'
{e
}chelle, si n\'
{e
}cessaire, avec l'option
\textsf{[scale=sx sy
]}.
209 \begin{pspicture
}[showgrid
](-
8,-
4)(
8,
10)
210 \pscircle[doubleline=true
]{3}
211 \psset{Yv=
100,linestyle=dotted
}
212 \psanamorphosis[scale=
1 -
1]{mickey.eps
}
213 \multido{\n=-
2.00+
0.50}{9}{%
214 \pnode(!
\n\space -
2.00)
{A
}
215 \pnode(!
\n\space 2.00)
{B
}
219 \multido{\N=-
2.00+
0.50}{9}{%
225 \pstextA[fontsize=
25,scale=
1.5 -
1,fillcolor=black
](
0,-
3)
{Mickey
}
230 \begin{pspicture
}[showgrid
](-
8,-
4)(
8,
10)
231 \pscircle[doubleline=true
]{3}
232 \psset{Yv=
100,linestyle=dotted
}
233 \psanamorphosis[scale=
1 -
1]{mickey.eps
}
234 \multido{\n=-
2.00+
0.50}{9}{%
235 \pnode(!
\n\space -
2.00)
{A
}
236 \pnode(!
\n\space 2.00)
{B
}
240 \multido{\N=-
2.00+
0.50}{9}{%
246 \pstextA[fontsize=
25,scale=
1.5 -
1,fillcolor=black
](
0,-
3)
{Mickey
}
251 \subsection{Anamorphose conique
}
253 Comme options, l'anamorphose conique ne n\'
{e
}cessite que le rayon de la base du c\^
{o
}ne
\textsf{Rmirror=
3}, la hauteur du c\^
{o
}ne et la cote
\textsf{Zv=
10} du point de vue.
255 \begin{pspicture
}[showgrid
](-
6,-
6)(
6,
6)
256 \pscircle[doubleline=true
]{3}
258 \psanamorphosis[scale=
0.25 0.25](
0,-
1.5)
{parrot.eps
}
259 \psanamorphosis[scale=-
0.25 -
0.25](
0,
1.5)
{parrot.eps
}
260 \psset{linestyle=dotted
}
261 \multido{\n=-
1.50+
0.50}{7}{%
262 \pnode(!
\n\space -
2.50)
{A
}
263 \pnode(!
\n\space -
0.50)
{B
}
267 \multido{\N=-
2.50+
0.50}{5}{%
271 \psline[linecolor=green
](A)(B)
273 \multido{\n=-
1.50+
0.50}{7}{%
274 \pnode(!
\n\space 2.50)
{A
}
275 \pnode(!
\n\space 0.50)
{B
}
279 \multido{\N=
2.50+-
0.50}{5}{%
285 \pstextA[fontsize=
10,fillcolor=green,scale=
1.5 1](
0,-
0.75)
{Le perroquet
}
286 \pstextA[fontsize=
10,fillcolor=green,scale=
1.5 -
1](
0,
0.75)
{Le perroquet
}
290 \begin{pspicture
}[showgrid
](-
6,-
6)(
6,
6)
291 \pscircle[doubleline=true
]{3}
293 \psanamorphosis[scale=
0.25 0.25](
0,-
1.5)
{parrot.eps
}
294 \psanamorphosis[scale=-
0.25 -
0.25](
0,
1.5)
{parrot.eps
}
295 \psset{linestyle=dotted
}
296 \multido{\n=-
1.50+
0.50}{7}{%
297 \pnode(!
\n\space -
2.50)
{A
}
298 \pnode(!
\n\space -
0.50)
{B
}
302 \multido{\N=-
2.50+
0.50}{5}{%
306 \psline[linecolor=green
](A)(B)
308 \multido{\n=-
1.50+
0.50}{7}{%
309 \pnode(!
\n\space 2.50)
{A
}
310 \pnode(!
\n\space 0.50)
{B
}
314 \multido{\N=
2.50+-
0.50}{5}{%
320 \pstextA[fontsize=
10,fillcolor=green,scale=
1.5 1](
0,-
0.75)
{Le perroquet
}
321 \pstextA[fontsize=
10,fillcolor=green,scale=
1.5 -
1](
0,
0.75)
{Le perroquet
}
326 \subsection{Anamorphose h\'
{e
}misph\'
{e
}rique
}
328 L'anamorphose sph\'
{e
}rique poss\`
{e
}de comme options le rayon du la sph\`
{e
}re et les
3 coordonn\'
{e
}es du point de vue. C'est la plus d\'
{e
}licate \`
{a
} mettre au point pour que tous les rayons r\'
{e
}fl\'
{e
}chis par le miroir parviennent \`
{a
} l'
\oe{}il.
331 \begin{pspicture
}[showgrid
](-
7,-
19)(
7,
5)
332 \pscircle[doubleline=true
]{5}
333 \psset{type=spherical,Rmirror=
5}
334 \psanamorphosis[scale=
0.4 0.4](
0,-
4)
{tiger.eps
}
335 {\psset{linewidth=
0.5\pslinewidth}
336 \multido{\n=-
1.00+
0.20}{11}{%
337 \pnode(!
\n\space -
4.80)
{A
}
338 \pnode(!
\n\space -
3.20)
{B
}
342 \multido{\N=-
4.80+
0.20}{9}{%
349 \psbezier[linecolor=red,showpoints=true
](-
2,-
4)(-
1,-
3.2)(
1,-
4)(
2,-
3)
350 \psbezierA[showpoints=true,linecolor=red
](-
2,-
4)(-
1,-
3.2)(
1,-
4)(
2,-
3)
355 \begin{pspicture
}[showgrid
](-
7,-
19)(
7,
5)
356 \pscircle[doubleline=true
]{5}
357 \psset{type=spherical,Rmirror=
5}
358 \psanamorphosis[scale=
0.4 0.4](
0,-
4)
{tiger.eps
}
359 {\psset{linewidth=
0.5\pslinewidth}
360 \multido{\n=-
1.00+
0.20}{11}{%
361 \pnode(!
\n\space -
4.80)
{A
}
362 \pnode(!
\n\space -
3.20)
{B
}
366 \multido{\N=-
4.80+
0.20}{9}{%
373 \psbezier[linecolor=red,showpoints=true
](-
2,-
4)(-
1,-
3.2)(
1,-
4)(
2,-
3)
374 \psbezierA[showpoints=true,linecolor=red
](-
2,-
4)(-
1,-
3.2)(
1,-
4)(
2,-
3)
379 \subsection{Anamorphose oblique ou perspective
}
381 Les options sont particuli\`
{e
}res :
383 \item l'ordonn\'
{e
}e du point de fuite principal $F$ :
\textsf{F=
10} ;
384 \item la distance de $F$ \`
{a
} $F'$ :
\textsf{D=
4}
385 \item l'unit\'
{e
} du quadrillage ou plut\^
{o
}t le demi-c\^
{o
}t\'
{e
} du carr\'
{e
} :
\textsf{ua=
2}.
386 \item Un bool\'
{e
}en
\textsf{perpsective=true
} qui repr\'
{e
}sente l'objet trait\'
{e
} en perspective et qui positionn\'
{e
} \`
{a
} \textsf{false
} donne la repr\'
{e
}sentation invers\'
{e
}e c'est-\`
{a
}-dire l'anamorphose oblique.
389 \begin{pspicture
}(-
4,-
3)(
4,
11)
390 \psgrid[subgriddiv=
0,gridcolor=lightgray,griddots=
10,gridlabels=
4pt
](-
3,-
3)(
3,
3)
391 \psset{ua=
3,F=
12,D=
2}
392 \psanamorphosis[type=perspective,scale=
0.75 0.75](
0,
0)
{parrot.eps
}
393 \psset{type=perspective
}
394 \multido{\i=-
3+
1}{7}{%
395 \pnode(!
\i\space -
3)
{A
}
396 \pnode(!
\i\space 3)
{B
}
398 \pslineA[linecolor=red
](A)(B)
400 \multido{\i=-
3+
1}{7}{%
403 \pslineA[linecolor=blue
](A)(B)
406 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,
2)
{P
}
407 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,
1)
{A
}
408 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,
0)
{R
}
409 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,-
1)
{R
}
410 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,-
2)
{O
}
411 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,-
3)
{T
}
415 \begin{pspicture
}(-
4,-
3)(
4,
12)
416 \psgrid[subgriddiv=
0,gridcolor=lightgray,griddots=
10,gridlabels=
4pt
](-
3,-
3)(
3,
3)
417 \psset{ua=
3,F=
12,D=
2}
418 \psanamorphosis[type=perspective,scale=
0.75 0.75](
0,
0)
{parrot.eps
}
419 \psset{type=perspective
}
420 \multido{\i=-
3+
1}{7}{%
421 \pnode(!
\i\space -
3)
{A
}
422 \pnode(!
\i\space 3)
{B
}
424 \pslineA[linecolor=red
](A)(B)
426 \multido{\i=-
3+
1}{7}{%
429 \pslineA[linecolor=blue
](A)(B)
432 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,
2)
{P
}
433 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,
1)
{A
}
434 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,
0)
{R
}
435 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,-
1)
{R
}
436 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,-
2)
{O
}
437 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,-
3)
{T
}
443 \subsection{Perspective invers\'
{e
}e
}
445 Ceci est extrait de la page
59 du Baltru
\v{s
}a\"
{\i}tis :
446 \begin{quote
}\itshape
447 <<~L'arrangement peut fonctionner dans les deux sens. Si le carr\'
{e
} en perspective se pr\'
{e
}sente comme un trap\`
{e
}ze, le trap\`
{e
}ze y appara\^
{\i}t comme un carr\'
{e
}.
448 Un renversement du point de vue ramen\'
{e
} au dessus du point principal (\`
{a
} une hauteur \'
{e
}gale \`
{a
} l'\'
{e
}loignement de la distance) et install\'
{e
} en quelque sorte dans le tableau, aboutit \`
{a
} un effet contraire. Les m\^
{e
}mes r\'
{e
}tr\'
{e
}cissements corrigent les formes et les rapprochent au lieu de les \'
{e
}loigner et de les alt\'
{e
}rer, comme dans un film \`
{a
} l'envers. La perspective est \`
{a
} rebours.~>>
452 \begin{pspicture
}(-
3,-
5)(
3,
3)
453 \psgrid[subgriddiv=
0,gridcolor=lightgray,griddots=
10,gridlabels=
6pt
](-
3,-
3)(
3,-
5)
454 \psset{ua=
3,F=
14,D=
3,type=inverseperspective,linewidth=
0.5\pslinewidth}
455 \multido{\i=-
3+
1}{7}{%
456 \pnode(!
\i\space -
3)
{A
}
457 \pnode(!
\i\space 3)
{B
}
461 \multido{\i=-
3+
1}{7}{%
467 \psanamorphosis{tiger.eps
}
468 \psset{fillcolor=
{[cmyk
]{0.2 0.55 0.85 0.0}},linecolor=
{[cmyk
]{0.2 0.55 0.85 0.0}},fontsize=
40,scale=
1.32 1}
469 \pstextA(
0,
2)
{TIGRE*
}
472 \pstextA(-
2.48,-
1)
{R
}
473 \pstextA(-
2.48,-
2)
{E
}
474 \pstextA(-
2.48,-
3)
{*
}
479 \begin{pspicture
}(-
3,-
4)(
3,
3)
480 \psgrid[subgriddiv=
0,gridcolor=lightgray,griddots=
10,gridlabels=
6pt
](-
3,-
3)(
3,-
6)
481 \psset{ua=
3,F=
14,D=
3,type=inverseperspective,linewidth=
0.5\pslinewidth}
482 \multido{\i=-
3+
1}{7}{%
483 \pnode(!
\i\space -
3)
{A
}
484 \pnode(!
\i\space 3)
{B
}
488 \multido{\i=-
3+
1}{7}{%
494 \psanamorphosis{tiger.eps
}
495 \psset{fillcolor=
{[cmyk
]{0.2 0.55 0.85 0.0}},linecolor=
{[cmyk
]{0.2 0.55 0.85 0.0}},fontsize=
40,scale=
1.32 1}
496 \pstextA(
0,
2)
{TIGRE*
}
499 \pstextA(-
2.48,-
1)
{R
}
500 \pstextA(-
2.48,-
2)
{E
}
501 \pstextA(-
2.48,-
3)
{*
}
506 \section{Les fichiers
\textsf{pst
}}
509 \begin{pspicture
}[showgrid
](-
5,-
6)(
5,
3)
511 \psscalebox{0.6667}{%
512 \begin{pspicture
}(-
6,-
8)(
6,
4)
514 \pscircle[doubleline=true,linecolor=black
]{3}
515 \input{luckyluke.pst
}
517 \psset{linewidth=
0.5\pslinewidth}
518 \multido{\n=-
2.00+
0.50}{9}{%
519 \pnode(!
\n\space -
2.00)
{A
}
520 \pnode(!
\n\space 2.00)
{B
}
524 \multido{\N=-
2.00+
0.50}{9}{%
535 \begin{pspicture
}(-
6,-
8)(
6,
4)
537 \pscircle[doubleline=true,linecolor=black
]{3}
538 \input{luckyluke.pst
}
540 \psset{linewidth=
0.5\pslinewidth}
541 \multido{\n=-
2.00+
0.50}{9}{%
542 \pnode(!
\n\space -
2.00)
{A
}
543 \pnode(!
\n\space 2.00)
{B
}
547 \multido{\N=-
2.00+
0.50}{9}{%
555 Les fichiers
\textsf{.pst
} sont des fichiers de commandes PSTricks obtenues par conversion d'un fichier
\textsf{.eps
} au moyen d'un script \'
{e
}crit par Jean-Michel
\textsc{Sarlat
}.
557 L'anamorphose d'une telle image est obtenue \`
{a
} l'aide d'une seule commande
\verb+
\AFP{luckyluke.pst
}+ (AFP $=$
\textbf{A
}namorphose \`
{a
} partir d'un
\textbf{F
}ichier
\textbf{P
}STricks). De tels fichiers pourront donc \^
{e
}tre obtenues au moyen du script ou bien directement sur le serveur de
\textsf{syracuse
} (adresse \`
{a
} pr\'
{e
}ciser).
559 En fonction de la complexit\'
{e
} du fichier (du nombre de lignes de commandes qu'il contient) il sera n\'
{e
}cessaire d'allouer un suppl\'
{e
}ment de m\'
{e
}moire \`
{a
} \TeX. Par exemple, sous Windows, \`
{a
} partir de MiK
\TeX~
2.8, Alexander
\textsc{Grahn
} donne la proc\'
{e
}dure \`
{a
} suivre dans la documentation de son package : `
\textsf{animate
}'
561 1. Open a DOS command prompt window (execute `cmd.exe' via `Start'! `Run').
562 2. At the DOS prompt, enter
563 initexmf --edit-config-file=latex
566 into the editor window that opens, save the file and quit the editor.
567 4. To rebuild the format, enter
568 initexmf --dump=latex
569 5. Repeat steps
2-
4 with config
571 initexmf --edit-config-file=pdflatex
573 initexmf --dump=pdflatex
575 initexmf --edit-config-file=xelatex
577 initexmf --dump=xelatex
580 \section{Normalisation d'une image au format
\textsf{.eps
}}
582 Il est souvent n\'
{e
}cessaire de ``pr\'
{e
}parer'' l'image \`
{a
} anamorphoser. Voici le d\'
{e
}tail de la proc\'
{e
}dure suivie \`
{a
} partir d'une image de Donald Duck captur\'
{e
}e sur un site de coloriage.
584 \url{http://www.waouo.com/wp-content/uploads/
2011/
06/coloriagedonaldduck.jpg
}
587 \item Transformer l'image au format
\textsf{bmp
} avec
\textsf{The Gimp
} (par exemple).
588 \item Vectoriser l'image avec
\textsf{Potrace
}, en ligne de commande :
\textsf{potrace donald.bmp -o donald2.eps
}
589 \item Avec
\textsf{pstoedit
} convertir au format vectoriel ps simplifi\'
{e
} avec courbes. On peut op\'
{e
}rer en ligne de commande :
\textsf{pstoedit -f ps donald2.eps donald1.eps
} ou bien avec
\textsf{GSview
} dans le menu Edition, cliquer sur
\textsf{Conversion vers un format vectoriel
} et choisir
\textsf{ps : Simplified Postscript with curves
}, on enregistre sous le nom
\textsf{donald1.eps
}.
590 \item Avec votre \'
{e
}diteur de texte rechercher \`
{a
} la fin du fichier la ligne qui donne les dimensions de la bo\^
{\i}te :
\verb+
%%BoundingBox: 4 7 453 640+ .
591 \item La hauteur de l'image eps est $
640-
7 =
633$\,pts, c'est la plus grande dimension. Supposons que votre image finale doive poss\'
{e
}der une longueur de
4\,cm dans sa plus grande dimension. Sachant que
1\,cm vaut
28.45274\,pts, il faut donc lui appliquer un facteur d'\'
{e
}chelle \'
{e
}gal \`
{a
} $
\dfrac{4\times28.45274
}{633}$.
592 \item Ensuite il faut d\'
{e
}placer cette image pour que le centre de celle-ci soit \`
{a
} l'origine $(
0,
0)$, il faut donc appliquer la translation $-
\dfrac{453+
4}{2},\,-
\dfrac{640+
7}{2}$, ce qui convertit en postscript se traduira par l'ajout de ces deux lignes dans le fichier
\textsf{donald1.eps
}, au d\'
{e
}but du fichier juste apr\`
{e
}s la ligne :
\verb+
%%Page: 1 1+
594 4 28.45274 mul
633 div dup scale
595 4 453 add
2 div neg
640 7 add
2 div neg translate
597 On enregistre ce fichier.
598 \item \textsf{pstoedit
} intervient \`
{a
} nouveau, avec les m\^
{e
}mes options, et on enregistre le fichier final sous le nom :
\textsf{donald.eps
}.
602 \begin{pspicture
}[showgrid
](-
8,-
5)(
8,
10)
603 \pscircle[doubleline=true
]{3}
604 \psset{Yv=
100,linestyle=dotted
}
605 \psanamorphosis[scale=
1 -
1](
0,
0)
{donald.eps
}
606 \multido{\n=-
2.00+
0.50}{9}{%
607 \pnode(!
\n\space -
2.00)
{A
}
608 \pnode(!
\n\space 2.00)
{B
}
612 \multido{\N=-
2.00+
0.50}{9}{%
618 \pstextA[fontsize=
25,scale=
1.5 -
1,fillcolor=black
](
0,-
2.5)
{Donald
}
623 \begin{pspicture
}[showgrid
](-
8,-
5)(
8,
10)
624 \pscircle[doubleline=true
]{3}
625 \psset{Yv=
100,linestyle=dotted
}
626 \psanamorphosis[scale=
1 -
1](
0,
0)
{donald.eps
}
627 \multido{\n=-
2.00+
0.50}{9}{%
628 \pnode(!
\n\space -
2.00)
{A
}
629 \pnode(!
\n\space 2.00)
{B
}
633 \multido{\N=-
2.00+
0.50}{9}{%
639 \pstextA[fontsize=
25,scale=
1.5 -
1,fillcolor=black
](
0,-
2.5)
{Donald
}