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/pstricks/
}}\\
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.
170 \section{pst-anamorphosis-add
}
172 \subsection{Les macros
\textbackslash{}pscircleA,
\textbackslash{}pscurveA,
\textbackslash{}psccurveA,
\textbackslash{}psbezierA,
\mbox{\textbackslash{}pnodeA
} et
\textbackslash{}movetoA
}
174 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.
176 \subsection{Un texte
}
177 \verb+
\pstextA[options
](x,y)
{texte
}+ permet de placer le texte centr\'
{e
} au point de coordonn\'
{e
}es~$(x,y)$.
179 Les options de texte :
181 \item le type de fonte
\textsf{[PSfont=Times-Roman
]} ;
182 \item la taille en pts
\textsf{[fontsize=
40]} ;
183 \item un facteur d'\'
{e
}chelle
\textsf{[scale=
1 1]}, comme pour les images.
186 \subsection{Un fichier
\textsf{.pst
}}
188 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 :
190 \psset{Rmirror=
3,scale=-
0.5 -
0.5,translate=
0 1.5,type=conical
}
196 \subsection{Anamorphose cylindrique
}
198 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
]}.
200 \begin{pspicture
}[showgrid
](-
8,-
4)(
8,
10)
201 \pscircle[doubleline=true
]{3}
202 \psset{Yv=
100,linestyle=dotted
}
203 \psanamorphosis[scale=
1 -
1]{mickey.eps
}
204 \multido{\n=-
2.00+
0.50}{9}{%
205 \pnode(!
\n\space -
2.00)
{A
}
206 \pnode(!
\n\space 2.00)
{B
}
210 \multido{\N=-
2.00+
0.50}{9}{%
216 \pstextA[fontsize=
25,scale=
1.5 -
1,fillcolor=black
](
0,-
3)
{Mickey
}
220 \begin{pspicture
}[showgrid
](-
8,-
4)(
8,
10)
221 \pscircle[doubleline=true
]{3}
222 \psset{Yv=
100,linestyle=dotted
}
223 \psanamorphosis[scale=
1 -
1]{mickey.eps
}
224 \multido{\n=-
2.00+
0.50}{9}{%
225 \pnode(!
\n\space -
2.00)
{A
}
226 \pnode(!
\n\space 2.00)
{B
}
230 \multido{\N=-
2.00+
0.50}{9}{%
236 \pstextA[fontsize=
25,scale=
1.5 -
1,fillcolor=black
](
0,-
3)
{Mickey
}
240 \subsection{Anamorphose conique
}
242 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.
244 \begin{pspicture
}[showgrid
](-
6,-
6)(
6,
6)
245 \pscircle[doubleline=true
]{3}
247 \psanamorphosis[scale=
0.25 0.25](
0,-
1.5)
{parrot.eps
}
248 \psanamorphosis[scale=-
0.25 -
0.25](
0,
1.5)
{parrot.eps
}
249 \psset{linestyle=dotted
}
250 \multido{\n=-
1.50+
0.50}{7}{%
251 \pnode(!
\n\space -
2.50)
{A
}
252 \pnode(!
\n\space -
0.50)
{B
}
256 \multido{\N=-
2.50+
0.50}{5}{%
260 \psline[linecolor=green
](A)(B)
262 \multido{\n=-
1.50+
0.50}{7}{%
263 \pnode(!
\n\space 2.50)
{A
}
264 \pnode(!
\n\space 0.50)
{B
}
268 \multido{\N=
2.50+-
0.50}{5}{%
274 \pstextA[fontsize=
10,fillcolor=green,scale=
1.5 1](
0,-
0.75)
{Le perroquet
}
275 \pstextA[fontsize=
10,fillcolor=green,scale=
1.5 -
1](
0,
0.75)
{Le perroquet
}
279 \begin{pspicture
}[showgrid
](-
6,-
6)(
6,
6)
280 \pscircle[doubleline=true
]{3}
282 \psanamorphosis[scale=
0.25 0.25](
0,-
1.5)
{parrot.eps
}
283 \psanamorphosis[scale=-
0.25 -
0.25](
0,
1.5)
{parrot.eps
}
284 \psset{linestyle=dotted
}
285 \multido{\n=-
1.50+
0.50}{7}{%
286 \pnode(!
\n\space -
2.50)
{A
}
287 \pnode(!
\n\space -
0.50)
{B
}
291 \multido{\N=-
2.50+
0.50}{5}{%
295 \psline[linecolor=green
](A)(B)
297 \multido{\n=-
1.50+
0.50}{7}{%
298 \pnode(!
\n\space 2.50)
{A
}
299 \pnode(!
\n\space 0.50)
{B
}
303 \multido{\N=
2.50+-
0.50}{5}{%
309 \pstextA[fontsize=
10,fillcolor=green,scale=
1.5 1](
0,-
0.75)
{Le perroquet
}
310 \pstextA[fontsize=
10,fillcolor=green,scale=
1.5 -
1](
0,
0.75)
{Le perroquet
}
314 \subsection{Anamorphose h\'
{e
}misph\'
{e
}rique
}
316 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.
319 \begin{pspicture
}[showgrid
](-
7,-
19)(
7,
5)
320 \pscircle[doubleline=true
]{5}
321 \psset{type=spherical,Rmirror=
5}
322 \psanamorphosis[scale=
0.4 0.4](
0,-
4)
{tiger.eps
}
323 {\psset{linewidth=
0.5\pslinewidth}
324 \multido{\n=-
1.00+
0.20}{11}{%
325 \pnode(!
\n\space -
4.80)
{A
}
326 \pnode(!
\n\space -
3.20)
{B
}
330 \multido{\N=-
4.80+
0.20}{9}{%
337 \psbezier[linecolor=red,showpoints=true
](-
2,-
4)(-
1,-
3.2)(
1,-
4)(
2,-
3)
338 \psbezierA[showpoints=true,linecolor=red
](-
2,-
4)(-
1,-
3.2)(
1,-
4)(
2,-
3)
343 \begin{pspicture
}[showgrid
](-
7,-
19)(
7,
5)
344 \pscircle[doubleline=true
]{5}
345 \psset{type=spherical,Rmirror=
5}
346 \psanamorphosis[scale=
0.4 0.4](
0,-
4)
{tiger.eps
}
347 {\psset{linewidth=
0.5\pslinewidth}
348 \multido{\n=-
1.00+
0.20}{11}{%
349 \pnode(!
\n\space -
4.80)
{A
}
350 \pnode(!
\n\space -
3.20)
{B
}
354 \multido{\N=-
4.80+
0.20}{9}{%
361 \psbezier[linecolor=red,showpoints=true
](-
2,-
4)(-
1,-
3.2)(
1,-
4)(
2,-
3)
362 \psbezierA[showpoints=true,linecolor=red
](-
2,-
4)(-
1,-
3.2)(
1,-
4)(
2,-
3)
366 \subsection{Anamorphose oblique ou perspective
}
368 Les options sont particuli\`
{e
}res :
370 \item l'ordonn\'
{e
}e du point de fuite principal $F$ :
\textsf{F=
10} ;
371 \item la distance de $F$ \`
{a
} $F'$ :
\textsf{D=
4}
372 \item l'unit\'
{e
} du quadrillage ou plut\^
{o
}t le demi-c\^
{o
}t\'
{e
} du carr\'
{e
} :
\textsf{ua=
2}.
373 \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.
376 \begin{pspicture
}(-
4,-
3)(
4,
12)
377 \psgrid[subgriddiv=
0,gridcolor=lightgray,griddots=
10,gridlabels=
4pt
](-
3,-
3)(
3,
3)
378 \psset{ua=
3,F=
12,D=
2}
379 \psanamorphosis[type=perspective,scale=
0.75 0.75](
0,
0)
{parrot.eps
}
380 \psset{type=perspective
}
381 \multido{\i=-
3+
1}{7}{%
382 \pnode(!
\i\space -
3)
{A
}
383 \pnode(!
\i\space 3)
{B
}
385 \pslineA[linecolor=red
](A)(B)
387 \multido{\i=-
3+
1}{7}{%
390 \pslineA[linecolor=blue
](A)(B)
393 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,
2)
{P
}
394 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,
1)
{A
}
395 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,
0)
{R
}
396 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,-
1)
{R
}
397 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,-
2)
{O
}
398 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,-
3)
{T
}
402 \begin{pspicture
}(-
4,-
3)(
4,
12)
403 \psgrid[subgriddiv=
0,gridcolor=lightgray,griddots=
10,gridlabels=
4pt
](-
3,-
3)(
3,
3)
404 \psset{ua=
3,F=
12,D=
2}
405 \psanamorphosis[type=perspective,scale=
0.75 0.75](
0,
0)
{parrot.eps
}
406 \psset{type=perspective
}
407 \multido{\i=-
3+
1}{7}{%
408 \pnode(!
\i\space -
3)
{A
}
409 \pnode(!
\i\space 3)
{B
}
411 \pslineA[linecolor=red
](A)(B)
413 \multido{\i=-
3+
1}{7}{%
416 \pslineA[linecolor=blue
](A)(B)
419 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,
2)
{P
}
420 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,
1)
{A
}
421 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,
0)
{R
}
422 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,-
1)
{R
}
423 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,-
2)
{O
}
424 \pstextA[fontsize=
35,fillcolor=green
](-
2.5,-
3)
{T
}
429 \subsection{Perspective invers\'
{e
}e
}
430 Ceci est extrait de la page
59 du Baltru
\v{s
}a\"
{\i}tis :
431 \begin{quote
}\itshape
432 <<~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
}.
433 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.~>>
437 \begin{pspicture
}(-
3,-
8)(
3,
3)
438 \psgrid[subgriddiv=
0,gridcolor=lightgray,griddots=
10,gridlabels=
6pt
](-
3,-
3)(
3,-
6)
439 \psset{ua=
3,F=
14,D=
3,type=inverseperspective,linewidth=
0.5\pslinewidth}
440 \multido{\i=-
3+
1}{7}{%
441 \pnode(!
\i\space -
3)
{A
}
442 \pnode(!
\i\space 3)
{B
}
446 \multido{\i=-
3+
1}{7}{%
452 \psanamorphosis{tiger.eps
}
453 \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}
454 \pstextA(
0,
2)
{TIGRE*
}
457 \pstextA(-
2.48,-
1)
{R
}
458 \pstextA(-
2.48,-
2)
{E
}
459 \pstextA(-
2.48,-
3)
{*
}
464 \begin{pspicture
}(-
3,-
4)(
3,
3)
465 \psgrid[subgriddiv=
0,gridcolor=lightgray,griddots=
10,gridlabels=
6pt
](-
3,-
3)(
3,-
6)
466 \psset{ua=
3,F=
14,D=
3,type=inverseperspective,linewidth=
0.5\pslinewidth}
467 \multido{\i=-
3+
1}{7}{%
468 \pnode(!
\i\space -
3)
{A
}
469 \pnode(!
\i\space 3)
{B
}
473 \multido{\i=-
3+
1}{7}{%
479 \psanamorphosis{tiger.eps
}
480 \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}
481 \pstextA(
0,
2)
{TIGRE!
}
484 \pstextA(-
2.48,-
1)
{R
}
485 \pstextA(-
2.48,-
2)
{E
}
486 \pstextA(-
2.48,-
3)
{!
}
490 \section{Les fichiers pst
}
493 \begin{pspicture
}[showgrid
](-
5,-
6)(
5,
3)
495 \psscalebox{0.6667}{%
496 \begin{pspicture
}(-
6,-
8)(
6,
4)
498 \pscircle[doubleline=true,linecolor=black
]{3}
499 \input{luckyluke.pst
}
501 \psset{linewidth=
0.5\pslinewidth}
502 \multido{\n=-
2.00+
0.50}{9}{%
503 \pnode(!
\n\space -
2.00)
{A
}
504 \pnode(!
\n\space 2.00)
{B
}
508 \multido{\N=-
2.00+
0.50}{9}{%
519 \begin{pspicture
}(-
6,-
8)(
6,
4)
521 \pscircle[doubleline=true,linecolor=black
]{3}
522 \input{luckyluke.pst
}
524 \psset{linewidth=
0.5\pslinewidth}
525 \multido{\n=-
2.00+
0.50}{9}{%
526 \pnode(!
\n\space -
2.00)
{A
}
527 \pnode(!
\n\space 2.00)
{B
}
531 \multido{\N=-
2.00+
0.50}{9}{%
539 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
}.
541 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).
543 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
}'
545 1. Open a DOS command prompt window (execute `cmd.exe' via `Start'! `Run').
546 2. At the DOS prompt, enter
547 initexmf --edit-config-file=latex
550 into the editor window that opens, save the file and quit the editor.
551 4. To rebuild the format, enter
552 initexmf --dump=latex
553 5. Repeat steps
2-
4 with config
555 initexmf --edit-config-file=pdflatex
557 initexmf --dump=pdflatex
559 initexmf --edit-config-file=xelatex
561 initexmf --dump=xelatex
564 \section{Normalisation d'une image au format
\textsf{.eps
}}
566 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.
568 \url{http://www.waouo.com/wp-content/uploads/
2011/
06/coloriagedonaldduck.jpg
}
571 \item Transformer l'image au format
\textsf{bmp
} avec
\textsf{The Gimp
} (par exemple).
572 \item Vectoriser l'image avec
\textsf{Potrace
}, en ligne de commande :
\textsf{potrace donald.bmp -o donald2.eps
}
573 \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
}.
574 \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+ .
575 \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}$.
576 \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+
578 4 28.45274 mul
633 div dup scale
579 4 453 add
2 div neg
640 7 add
2 div neg translate
581 On enregistre ce fichier.
582 \item \textsf{pstoedit
} intervient \`
{a
} nouveau, avec les m\^
{e
}mes options, et on enregistre le fichier final sous le nom :
\textsf{donald.eps
}.
585 \begin{pspicture
}[showgrid
](-
8,-
4)(
8,
10)
586 \pscircle[doubleline=true
]{3}
587 \psset{Yv=
100,linestyle=dotted
}
588 \psanamorphosis[scale=
1 -
1](
0,
0)
{donald.eps
}
589 \multido{\n=-
2.00+
0.50}{9}{%
590 \pnode(!
\n\space -
2.00)
{A
}
591 \pnode(!
\n\space 2.00)
{B
}
595 \multido{\N=-
2.00+
0.50}{9}{%
601 \pstextA[fontsize=
25,scale=
1.5 -
1,fillcolor=black
](
0,-
2.5)
{Donald
}
605 \begin{pspicture
}[showgrid
](-
8,-
4)(
8,
10)
606 \pscircle[doubleline=true
]{3}
607 \psset{Yv=
100,linestyle=dotted
}
608 \psanamorphosis[scale=
1 -
1](
0,
0)
{donald.eps
}
609 \multido{\n=-
2.00+
0.50}{9}{%
610 \pnode(!
\n\space -
2.00)
{A
}
611 \pnode(!
\n\space 2.00)
{B
}
615 \multido{\N=-
2.00+
0.50}{9}{%
621 \pstextA[fontsize=
25,scale=
1.5 -
1,fillcolor=black
](
0,-
2.5)
{Donald
}