[Syracuse] Fonction numérique définie par un chemin

Auteur: Jean-Paul Vignault <jpv@melusine.eu.org>
Date: dim jun 18 2006 - 13:42:59 CEST

Bonjour,

lors de notre discussion sur les modulations d'amplitude, Manuel Luque
avait évoqué la possibilité de définir une modulation à partir d'un
chemin construit à coup de lineto et curveto.

La construction sur laquelle nous nous étions arrêté, permettait
n'importe quelle déformation définie par une fonction numérique
x --> f(x) ou par une transformation du plan (x, y) --> (X, Y).

Restait donc à définir une fonction numérique à partir d'un chemin
quelconque représentant le graphe d'une telle fonction.

Il me semble que les 2 procedures suivantes :
   http://melusine.eu.org/syracuse/bbgraf/jps2ps/pps/defppathtable.pps
   http://melusine.eu.org/syracuse/bbgraf/jps2ps/pps/interpolfunct.pps
permettent de répondre au problème.

La 1ère dépose sur la pile un tableau de points représentant le chemin
(transformé en suite de segments par "flattenpath"). La 2nde recoit un
x et un tableau de point définissant une fonction affine par morceaux,
et renvoie f (x) après un calcul d'interpolation.

Voici un fichier de test en quasi-pur postscript (3 lignes de jps) :
   http://melusine.eu.org/syracuse/bbgraf/banque/20060605/?opt=jps&f=505

puis le même, plus lisible, sans les definitions de "defppathtable" et
"interpolfunct" (qui font maintenant partie du format jps).
   http://melusine.eu.org/syracuse/bbgraf/banque/20060605/?opt=jps&f=506

La ligne bleue de l'image est là pour que l'on visualise le chemin. La
fonction définie par ce chemin est nommée f.
La transformation appliquée au texte est :
   (x, y) --> (x, y * f(x) / 20)
et la division par 20 est là pour ramener les valeurs de f(x) autour
de 1 (car le chemin choisi oscille autour de la valeur y = 20).

Bonne fin de we

Jean-Paul Vignault

_______________________________________________
Liste de diffusion Syracuse
Syracuse@melusine.eu.org
http://melusine.eu.org/cgi-bin/mailman/listinfo/syracuse
Adresses alternatives du site :
http://syracuse.eu.org/syracuse/
http://193.55.139.7/syracuse/
Received on Sun Jun 18 13:43:01 2006

Cette archive a été créée par hypermail 2.1.8 : lun jun 19 2006 - 10:37:02 CEST