http://pstricks.blogspot.fr/2013/07/transformations-non-lineaires-de-textes.html
Elles furent concrétisées par quelques réalisations en postscript. Ce sont deux idées de Jean-Paul Vignault que je reprend aujourd'hui : la géométrie dans un triangle et une bulle qui enfle au milieu d'une phrase. Je ne sais pas si le code de Jean-Paul est toujours disponible sur :
http://melusine.eu.org/syracuse/
car je n'ai pas pu le vérifier, le site est actuellement inaccessible, c'est pourquoi je le donne ici :
applications-conformes
Le code de Jean-Paul est particulièrement ingénieux : on donne un chemin et par une interpolation linéaire le texte est modulé par ce chemin. Le code que je propose est un peu différent mais les résultats sont sensiblement identiques.

Le code pour l'animation :
\documentclass{article}
\usepackage{pst-nltr,multido}
\usepackage[a4paper,margin=2cm]{geometry}
\pagestyle{empty}
\begin{document}
\begin{center}
\multido{\n=8.0+-0.5,\N=2.0+-0.5,\nC=14.0+-00.5}{36}{%
\begin{pspicture}(\N,-2)(\nC,6)
\psframe(\N,-2)(\nC,6)
\pstVerb{
/arccos {
dup
dup mul neg 1 add sqrt
exch
atan
} def
/h 28.45 def
/FC {
/y exch def
/x exch def
/xM wx 3 div dup mul h dup mul sub sqrt def
x xM neg le x xM ge or{/a h def} if
x xM neg ge x xM le and {%
/theta x wx 3 div div arccos def
/a wx 3 div theta sin mul 1 mul def} if
x a 15 div y mul
} def}%
\psset{transform=FC}
\psTransformText[fillstyle=solid,fillcolor=green!50!orange,fontscale=1.1,pos=bc,PSfont=Helvetica](\n,0){voir la digestion du boa}%
\end{pspicture}\newpage}
\end{center}
\end{document}
Le code pour le triangle :
\documentclass{article}
\usepackage{pst-nltr}
\usepackage[a4paper,margin=2cm]{geometry}
\begin{document}
\begin{center}
\begin{pspicture}(-8,-1)(8,9)
\psframe(-8,-1)(8,9)
\pspolygon[linecolor=red,linewidth=0.05](-7.5,0)(0,6)(7.5,0)
\pstVerb{
/FC {
/y exch def
/x exch def
x 0 le {/a wy 2 mul wx div x mul wy add def}
{/a wy 2 mul wx div neg x mul wy add def}
ifelse
x a 3.66 div y mul
} def}%
\psset{transform=FC}
\psTransformText[fillstyle=solid,fillcolor={[rgb]{.25 0.75 0.25}},fontscale=1.5,pos=bc,PSfont=Times-Roman](0,0){La géométrie du triangle}%
\end{pspicture}
\end{center}
\end{document}
Le package pst-nltr est constitué de pst-nltr.pro, pst-nltr.sty et pst-nltr.tex qui sont dans le dossier :
applications-conformes
Aucun commentaire:
Enregistrer un commentaire