Cours:ProcessingCourbe
Sommaire
Td 4 Tracé de fonction
On cherche à tracer les variations d’une fonction f telle que:f: [xmin,xmax] → y=f(x).
Par exemple, on veut tracer y = sin(x)pour x compris entre 0 et π.
Préparation du tracé
Pour pouvoir tracer une courbe sur un écran, quatre étapes sont nécessaires:
- l’échantillonnage
- la recherche des extrema en y: ymin et ymax
- la mise à l’échelle de la courbe
- le tracé sur l’écran.
Echantillonnage
On cherche à prendre un certain nombre de points régulièrement espacés entre xmin et xmax. La formule suivante: x[i]=xmin+i*(xmax-xmin)/N permet un échantillonnage sur N+1 points.
L’algorithme du calcul est alors le suivant:
- Pour i variant de 0 à N
- x[i]=xmin+i*(xmax-xmin)/N ;
- y[i]=sin(x[i]) ; // si on veut tracer sinus, sinon changer ici
Il sera utile de se documenter sur les tableaux dans Processing
Recherche des extrema
La recherche des extrema permettra de faire une mise à l'échelle lors du tracé.
On pourra s’inspirer de l’algorithme suivant:
- ymin=y[0];
- ymax=y[0];
- pour i variant de 1 à N
- si (y[i] < ymin)
- ymin=y[i];
- si (y[i] > ymax)
- ymax=y[i] ;
- si (y[i] < ymin)
Mise à l’échelle de la courbe
Pour tracer une courbe sur un écran d’ordinateur, il faut utiliser cet écran en mode graphique, c’est-à-dire sous forme de points (pixels)adressables individuellement.
En mode VGA standard, le coin en haut à gauche a pour coordonnées (0,0) et le coin diamétralement opposé (en bas à droite) (639,479). On dispose donc de 640 points en horizontal et 480 points en vertical.
Or, le tracé de la courbe consiste à placer les points de coordonnées(x,y=f(x)), sur l’intervalle [xmin, xmax], où la fonction f possède des extrema ymin et ymax. Il nous faut donc déterminer une transformation qui permet le tracé sur cet écran.
Montrer que la transformation est la suivante:
- xp = 639*(x-xmin)/(xmax-xmin)
- yp = 479 *(y-ymin)/(ymax-ymin)
Ce sont ces coordonnées (xp,yp) qui vont nous permettre de tracer la courbe sur l’écran.
Choisissez une taille d'écran et faire la mise à l'échelle
Tracé de la courbe
Utiliser les fonctions de tracé de processing ( [point()] ou [line()] pour représenter la courbe.