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 \def\epsRoot{C:/Dokumente und Einstellungen/Besitzer/Desktop/bergen/bergen/
}
23 \renewcommand{\ttdefault}{lmtt
}
25 \definecolor{syracuseGRIS
}{HTML
}{C1C1C1
}
26 \definecolor{syracuseVERT
}{HTML
}{029235}
28 \definecolor{sepia
}{rgb
}{1,
0.8,
0.8}
29 \definecolor{grisclair
}{rgb
}{0.8,
0.8,
0.8}
30 \definecolor{BleuCiel
}{cmyk
}{0.2,
0,
0,
0}
31 \definecolor{OrangePale
}{cmyk
}{0,
0.2,
0.4,
0}
36 basicstyle=
\ttfamily\small,
%
37 texcsstyle=*
\color{blue
},
%
38 identifierstyle=
\color{black
},
%
39 keywordstyle=
\color{syracuseVERT
},
%
40 otherkeywords=
{$, \
{, \
}, \
[, \
]},
41 stringstyle=
\color{syracuseVERT
},
%
42 commentstyle=
\color{syracuseVERT
},
%
43 backgroundcolor=
\color{syracuseGRIS!
30},
%
48 %rulesepcolor=\color{syracuseGRIS!30},%
51 showstringspaces=false,
%
56 breakautoindent=true,
%
60 morekeywords=
[6]{pspicture,center
},
%
61 keywordstyle=
[6]\color{FireBrick
},
%
62 %morekeywords=[7]{(,)},%
63 %keywordstyle=[7]\color{syracuseVERT}
66 \renewcommand{\lstlistingname}{Source
}
67 \renewcommand{\labelitemi}{$
\bullet$
}
70 \newcommand\cs[1]{\texttt{\char`\\
#1}}
71 \newcommand\file[1]{\texttt{#1}}
76 \def\syracuseTitle{Liste des macros et des options de `
\textsf{pst-anamorphosis
}'
}
77 %\def\syracuseGraphic{eiffel2}
82 %% === BEGIN == Page de garde =================================================
87 \begin{pspicture
}(
0,
0)(
21,
29.7)
88 \pspolygon[fillstyle=solid,linecolor=syracuseVERT,fillcolor=syracuseVERT
](
0,
0)(
10.5,
14.85)(
21,
0)
89 \pspolygon[fillstyle=solid,linecolor=syracuseGRIS,fillcolor=syracuseGRIS
](
0,
0)(
21,
29.7)(
0,
29.7)
90 \pspolygon[fillstyle=solid,linecolor=syracuseGRIS!
50,fillcolor=syracuseGRIS!
50](
21,
0)(
10.5,
14.85)(
21,
29.7)
93 \pstPutAbs(
2.5,-
3.75)
{%
94 \includegraphics[scale=
1]{pst-anamorphosis
}
96 \pstPutAbs(
2.5,-
5.25)
{%
97 \LARGE \textbf{\syracuseTitle}
99 \pstPutAbs(
2.5,-
13.5)
{%
100 \begin{pspicture
}(
0,
0)(
8,
8)
101 \rput(
4,
4)
{\includegraphics[height=
8cm
]{eiffel
}}
102 %\rput(4,4){\includegraphics[height=8cm]{\syracuseGraphic}}
106 \pstPutAbs(
12.5,-
15)
{%
107 \parbox{0.4\textwidth}{\Large\raggedleft
108 {\LARGE\textbf{Contributeurs
}}\\
[0.2cm
]
109 J\"
{u
}rgen
\textsc{Gilg
}\\
110 Manuel
\textsc{Luque
}\\
111 Jean-Michel
\textsc{Sarlat
}
115 \textcolor{white
}{\textbf{\today}}\\
[0.3cm
]
116 \textcolor{white
}{\url{http://melusine.eu.org/syracuse/G/pstricks/
}}\\
117 \includegraphics[scale=
0.4]{logo_syracuse
}
120 %% == END == Page de garde ====================================================
127 Le package `
\textsf{pst-anamorphosis
}' est compos\'
{e
}, actuellement, de
\mbox{deux~parties~:
}
129 \item `
\textsf{pst-anamorphosis
}' qui permet d'afficher l'anamorphose d'un fichier au format
\textsf{.eps
} ;
130 \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
}.
132 Ce package permet de calculer et dessiner les images anamorphiques planes obtenues par les anamorphoses suivantes :
136 \item sph\'
{e
}rique ;
138 \item perspective invers\'
{e
}e.
143 \section{\textbackslash{}psanamorphosis
}
144 \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)$.
146 Les
\textbf{options
}, avec leurs valeurs par d\'
{e
}faut :
148 \item Le type d'anamorphose
\textsf{[type=cylindrical
] }, voici les autres :
151 \item \textsf{conical
}
152 \item \textsf{spherical
}
153 \item \textsf{perspective
}
154 \item \textsf{inverseperspective
}
157 \item le rayon du cylindre, de la sph\`
{e
}re et de la base du c\^
{o
}ne :
\textsf{Rmirror=
3} ;
158 \item la hauteur du c\^
{o
}ne, la cote du sommet :
\textsf{Zs=
5}
159 \item l'abscisse de l'observateur (du point de vue, d'o\`
{u
} la lettre
\textsf{v
}) :
\textsf{Xv=
0} ;
160 \item l'ordonn\'
{e
}e de l'observateur :
\textsf{Yv=-
10} ;
161 \item la cote de l'observateur :
\textsf{Zv=
10} ;
162 \item l'ordonn\'
{e
}e du point de fuite principal $F$ :
\textsf{F=
10} ;
163 \item la distance de $F$ \`
{a
} $F'$ :
\textsf{D=
4} ;
164 \item l'unit\'
{e
} du quadrillage ou plut\^
{o
}t le demi-c\^
{o
}t\'
{e
} du carr\'
{e
} :
\textsf{ua=
2}.
165 \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 ;
166 \item un facteur d'\'
{e
}chelle
\textsf{[scale=
1 1]} suivant $x$ et $y$ pour adapter les dimensions de l'image au miroir.
169 \section{pst-anamorphosis-add
}
171 \subsection{Les macros
\textbackslash{}pscircleA,
\textbackslash{}pscurveA,
\textbackslash{}psccurveA,
\textbackslash{}psbezierA,
\mbox{\textbackslash{}pnodeA
} et
\textbackslash{}movetoA
}
173 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.
175 \subsection{Un texte
}
176 \verb+
\pstextA[options
](x,y)
{texte
}+ permet de placer le texte centr\'
{e
} au point de coordonn\'
{e
}es~$(x,y)$.
178 Les options de texte :
180 \item le type de fonte
\textsf{[PSfont=Times-Roman
]} ;
181 \item la taille en pts
\textsf{[fontsize=
40]} ;
182 \item un facteur d'\'
{e
}chelle
\textsf{[scale=
1 1]}, comme pour les images.
185 \subsection{Un fichier
\textsf{.pst
}}
187 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 :
189 \psset{Rmirror=
3,scale=-
0.5 -
0.5,translate=
0 1.5,type=conical
}
195 \subsection{Anamorphose cylindrique
}
197 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
]}.
199 \begin{pspicture
}[showgrid
](-
8,-
4)(
8,
10)
200 \pscircle[doubleline=true
]{3}
201 \psset{Yv=
100,linestyle=dotted
}
202 \psanamorphosis[scale=
1 -
1]{mickey.eps
}
203 \multido{\n=-
2.00+
0.50}{9}{%
204 \pnode(!
\n\space -
2.00)
{A
}
205 \pnode(!
\n\space 2.00)
{B
}
209 \multido{\N=-
2.00+
0.50}{9}{%
215 \pstextA[fontsize=
25,scale=
1.5 -
1,fillcolor=black
](
0,-
3)
{Mickey
}
219 \begin{pspicture
}[showgrid
](-
8,-
4)(
8,
10)
220 \pscircle[doubleline=true
]{3}
221 \psset{Yv=
100,linestyle=dotted
}
222 \psanamorphosis[scale=
1 -
1]{mickey.eps
}
223 \multido{\n=-
2.00+
0.50}{9}{%
224 \pnode(!
\n\space -
2.00)
{A
}
225 \pnode(!
\n\space 2.00)
{B
}
229 \multido{\N=-
2.00+
0.50}{9}{%
235 \pstextA[fontsize=
25,scale=
1.5 -
1,fillcolor=black
](
0,-
3)
{Mickey
}
239 \subsection{Anamorphose conique
}
241 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.
243 \begin{pspicture
}[showgrid
](-
6,-
6)(
6,
6)
244 \pscircle[doubleline=true
]{3}
246 \psanamorphosis[scale=
0.25 0.25](
0,-
1.5)
{parrot.eps
}
247 \psanamorphosis[scale=-
0.25 -
0.25](
0,
1.5)
{parrot.eps
}
248 \psset{linestyle=dotted
}
249 \multido{\n=-
1.50+
0.50}{7}{%
250 \pnode(!
\n\space -
2.50)
{A
}
251 \pnode(!
\n\space -
0.50)
{B
}
255 \multido{\N=-
2.50+
0.50}{5}{%
259 \psline[linecolor=green
](A)(B)
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}{%
273 \pstextA[fontsize=
10,fillcolor=green,scale=
1.5 1](
0,-
0.75)
{Le perroquet
}
274 \pstextA[fontsize=
10,fillcolor=green,scale=
1.5 -
1](
0,
0.75)
{Le perroquet
}
278 \begin{pspicture
}[showgrid
](-
6,-
6)(
6,
6)
279 \pscircle[doubleline=true
]{3}
281 \psanamorphosis[scale=
0.25 0.25](
0,-
1.5)
{parrot.eps
}
282 \psanamorphosis[scale=-
0.25 -
0.25](
0,
1.5)
{parrot.eps
}
283 \psset{linestyle=dotted
}
284 \multido{\n=-
1.50+
0.50}{7}{%
285 \pnode(!
\n\space -
2.50)
{A
}
286 \pnode(!
\n\space -
0.50)
{B
}
290 \multido{\N=-
2.50+
0.50}{5}{%
294 \psline[linecolor=green
](A)(B)
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}{%
308 \pstextA[fontsize=
10,fillcolor=green,scale=
1.5 1](
0,-
0.75)
{Le perroquet
}
309 \pstextA[fontsize=
10,fillcolor=green,scale=
1.5 -
1](
0,
0.75)
{Le perroquet
}
313 \subsection{Anamorphose h\'
{e
}misph\'
{e
}rique
}
315 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.
318 \begin{pspicture
}[showgrid
](-
7,-
19)(
7,
5)
319 \pscircle[doubleline=true
]{5}
320 \psset{type=spherical,Rmirror=
5}
321 \psanamorphosis[scale=
0.4 0.4](
0,-
4)
{tiger.eps
}
322 {\psset{linewidth=
0.5\pslinewidth}
323 \multido{\n=-
1.00+
0.20}{11}{%
324 \pnode(!
\n\space -
4.80)
{A
}
325 \pnode(!
\n\space -
3.20)
{B
}
329 \multido{\N=-
4.80+
0.20}{9}{%
336 \psbezier[linecolor=red,showpoints=true
](-
2,-
4)(-
1,-
3.2)(
1,-
4)(
2,-
3)
337 \psbezierA[showpoints=true,linecolor=red
](-
2,-
4)(-
1,-
3.2)(
1,-
4)(
2,-
3)
342 \begin{pspicture
}[showgrid
](-
7,-
19)(
7,
5)
343 \pscircle[doubleline=true
]{5}
344 \psset{type=spherical,Rmirror=
5}
345 \psanamorphosis[scale=
0.4 0.4](
0,-
4)
{tiger.eps
}
346 {\psset{linewidth=
0.5\pslinewidth}
347 \multido{\n=-
1.00+
0.20}{11}{%
348 \pnode(!
\n\space -
4.80)
{A
}
349 \pnode(!
\n\space -
3.20)
{B
}
353 \multido{\N=-
4.80+
0.20}{9}{%
360 \psbezier[linecolor=red,showpoints=true
](-
2,-
4)(-
1,-
3.2)(
1,-
4)(
2,-
3)
361 \psbezierA[showpoints=true,linecolor=red
](-
2,-
4)(-
1,-
3.2)(
1,-
4)(
2,-
3)
365 \subsection{Anamorphose oblique ou perspective
}
367 Les options sont particuli\`
{e
}res :
369 \item l'ordonn\'
{e
}e du point de fuite principal $F$ :
\textsf{F=
10} ;
370 \item la distance de $F$ \`
{a
} $F'$ :
\textsf{D=
4}
371 \item l'unit\'
{e
} du quadrillage ou plut\^
{o
}t le demi-c\^
{o
}t\'
{e
} du carr\'
{e
} :
\textsf{ua=
2}.
372 \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.
375 \begin{pspicture
}(-
4,-
3)(
4,
12)
376 \psgrid[subgriddiv=
0,gridcolor=lightgray,griddots=
10,gridlabels=
4pt
](-
3,-
3)(
3,
3)
377 \psset{ua=
3,F=
12,D=
2}
378 \psanamorphosis[type=perspective,scale=
0.75 0.75](
0,
0)
{parrot.eps
}
379 \psset{type=perspective
}
380 \multido{\i=-
3+
1}{7}{%
381 \pnode(!
\i\space -
3)
{A
}
382 \pnode(!
\i\space 3)
{B
}
384 \pslineA[linecolor=red
](A)(B)
386 \multido{\i=-
3+
1}{7}{%
389 \pslineA[linecolor=blue
](A)(B)
392 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,
2)
{P
}
393 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,
1)
{A
}
394 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,
0)
{R
}
395 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,-
1)
{R
}
396 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,-
2)
{O
}
397 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,-
3)
{T
}
401 \begin{pspicture
}(-
4,-
3)(
4,
12)
402 \psgrid[subgriddiv=
0,gridcolor=lightgray,griddots=
10,gridlabels=
4pt
](-
3,-
3)(
3,
3)
403 \psset{ua=
3,F=
12,D=
2}
404 \psanamorphosis[type=perspective,scale=
0.75 0.75](
0,
0)
{parrot.eps
}
405 \psset{type=perspective
}
406 \multido{\i=-
3+
1}{7}{%
407 \pnode(!
\i\space -
3)
{A
}
408 \pnode(!
\i\space 3)
{B
}
410 \pslineA[linecolor=red
](A)(B)
412 \multido{\i=-
3+
1}{7}{%
415 \pslineA[linecolor=blue
](A)(B)
418 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,
2)
{P
}
419 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,
1)
{A
}
420 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,
0)
{R
}
421 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,-
1)
{R
}
422 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,-
2)
{O
}
423 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,-
3)
{T
}
428 \subsection{Perspective invers\'
{e
}e
}
429 Ceci est extrait de la page
59 du Baltru
\v{s
}a\"
{\i}tis :
430 \begin{quote
}\itshape
431 <<~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
}.
432 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.~>>
436 \begin{pspicture
}(-
3,-
8)(
3,
3)
437 \psgrid[subgriddiv=
0,gridcolor=lightgray,griddots=
10,gridlabels=
6pt
](-
3,-
3)(
3,-
6)
438 \psset{ua=
3,F=
14,D=
3,type=inverseperspective,linewidth=
0.5\pslinewidth}
439 \multido{\i=-
3+
1}{7}{%
440 \pnode(!
\i\space -
3)
{A
}
441 \pnode(!
\i\space 3)
{B
}
445 \multido{\i=-
3+
1}{7}{%
451 \psanamorphosis{tiger.eps
}
452 \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}
453 \pstextA(
0,
2)
{TIGRE*
}
456 \pstextA(-
2.48,-
1)
{R
}
457 \pstextA(-
2.48,-
2)
{E
}
458 \pstextA(-
2.48,-
3)
{*
}
463 \begin{pspicture
}(-
3,-
4)(
3,
3)
464 \psgrid[subgriddiv=
0,gridcolor=lightgray,griddots=
10,gridlabels=
6pt
](-
3,-
3)(
3,-
6)
465 \psset{ua=
3,F=
14,D=
3,type=inverseperspective,linewidth=
0.5\pslinewidth}
466 \multido{\i=-
3+
1}{7}{%
467 \pnode(!
\i\space -
3)
{A
}
468 \pnode(!
\i\space 3)
{B
}
472 \multido{\i=-
3+
1}{7}{%
478 \psanamorphosis{tiger.eps
}
479 \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}
480 \pstextA(
0,
2)
{TIGRE!
}
483 \pstextA(-
2.48,-
1)
{R
}
484 \pstextA(-
2.48,-
2)
{E
}
485 \pstextA(-
2.48,-
3)
{!
}
489 \section{Les fichiers pst
}
492 \begin{pspicture
}[showgrid
](-
5,-
6)(
5,
3)
494 \psscalebox{0.6667}{%
495 \begin{pspicture
}(-
6,-
8)(
6,
4)
497 \pscircle[doubleline=true,linecolor=black
]{3}
498 \input{luckyluke.pst
}
500 \psset{linewidth=
0.5\pslinewidth}
501 \multido{\n=-
2.00+
0.50}{9}{%
502 \pnode(!
\n\space -
2.00)
{A
}
503 \pnode(!
\n\space 2.00)
{B
}
507 \multido{\N=-
2.00+
0.50}{9}{%
518 \begin{pspicture
}(-
6,-
8)(
6,
4)
520 \pscircle[doubleline=true,linecolor=black
]{3}
521 \input{luckyluke.pst
}
523 \psset{linewidth=
0.5\pslinewidth}
524 \multido{\n=-
2.00+
0.50}{9}{%
525 \pnode(!
\n\space -
2.00)
{A
}
526 \pnode(!
\n\space 2.00)
{B
}
530 \multido{\N=-
2.00+
0.50}{9}{%
538 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
}.
540 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).
542 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
}'
544 1. Open a DOS command prompt window (execute `cmd.exe' via `Start'! `Run').
545 2. At the DOS prompt, enter
546 initexmf --edit-config-file=latex
549 into the editor window that opens, save the file and quit the editor.
550 4. To rebuild the format, enter
551 initexmf --dump=latex
552 5. Repeat steps
2-
4 with config
554 initexmf --edit-config-file=pdflatex
556 initexmf --dump=pdflatex
558 initexmf --edit-config-file=xelatex
560 initexmf --dump=xelatex
563 \section{Normalisation d'une image au format
\textsf{.eps
}}
565 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.
567 \url{http://www.waouo.com/wp-content/uploads/
2011/
06/coloriagedonaldduck.jpg
}
570 \item Transformer l'image au format
\textsf{bmp
} avec
\textsf{The Gimp
} (par exemple).
571 \item Vectoriser l'image avec
\textsf{Potrace
}, en ligne de commande :
\textsf{potrace donald.bmp -o donald2.eps
}
572 \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
}.
573 \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+ .
574 \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}$.
575 \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+
577 4 28.45274 mul
633 div dup scale
578 4 453 add
2 div neg
640 7 add
2 div neg translate
580 On enregistre ce fichier.
581 \item \textsf{pstoedit
} intervient \`
{a
} nouveau, avec les m\^
{e
}mes options, et on enregistre le fichier final sous le nom :
\textsf{donald.eps
}.
584 \begin{pspicture
}[showgrid
](-
8,-
4)(
8,
10)
585 \pscircle[doubleline=true
]{3}
586 \psset{Yv=
100,linestyle=dotted
}
587 \psanamorphosis[scale=
1 -
1](
0,
0)
{donald.eps
}
588 \multido{\n=-
2.00+
0.50}{9}{%
589 \pnode(!
\n\space -
2.00)
{A
}
590 \pnode(!
\n\space 2.00)
{B
}
594 \multido{\N=-
2.00+
0.50}{9}{%
600 \pstextA[fontsize=
25,scale=
1.5 -
1,fillcolor=black
](
0,-
2.5)
{Donald
}
604 \begin{pspicture
}[showgrid
](-
8,-
4)(
8,
10)
605 \pscircle[doubleline=true
]{3}
606 \psset{Yv=
100,linestyle=dotted
}
607 \psanamorphosis[scale=
1 -
1](
0,
0)
{donald.eps
}
608 \multido{\n=-
2.00+
0.50}{9}{%
609 \pnode(!
\n\space -
2.00)
{A
}
610 \pnode(!
\n\space 2.00)
{B
}
614 \multido{\N=-
2.00+
0.50}{9}{%
620 \pstextA[fontsize=
25,scale=
1.5 -
1,fillcolor=black
](
0,-
2.5)
{Donald
}