Cinquième Exemple: Equation paramétrique

Script Equation Grapher est également capable de traiter des équations paramétriques, c'est à dire ou le couple de coordonées (x,y) ou (r,@) n'est pas lié par une relation directe de type y=f(x) ou r=f(@) mais par des relations distinctes à un paramètre t...

Script Equation Grapher est donc capable de traiter des équations de type:

x=f(t);
y=g(t);

ou

r=f(t);
@=g(t);

Exemple : les courbes de Lissajoux

Les courbes de Lissajoux ont pour équation :

x=sin(a1*t+p1);
y=cos(a2*t+p2);

Avant d'écrire ce script, c'est peut-être le moment d'en apprendre un peu plus sur le moteur de script. Bien sur vous pouvez écrire sans en savoir plus un script traitant les équations ci-dessus:

a1=1;
a2=2;
p1=0;
p2=1;
x=sin(a1*t+p1);
y=cos(a2*t+p2);

Cependant, ce script est exécuté intégralement pour chacune des valeurs de t précisées dans la fenêtre des bornes. Hors les quatre premières lignes correspondent juste à une initialisation de certaines variables du script...

En fait le moteur de script travaille par section. Jusqu'ici, en l'absence de section, le moteur exécutait les lignes de script sans chercher plus loin.
Mais il est possible d'écrire un script sous la forme:

[Section]
{
    instructions ...
}

Le moteur de script reconnaît par défaut cinqsections : [Init], [Begin], [Body], [End] et [Timer]...

La section [Init] est appelée après chaque compilation, ou avant chaque lancement d'animation ( voir le Huitième Exemple).
La section [Begin] est appelée avant le tracé de la courbe.
La section [Body] est appelée pour chaque point de tracé, quelque soit le type de courbe.
La section [End] est appelée après chaque tracé de courbe.
La section [Timer] est appelée de manière asynchrone ( voir le Huitième Exemple).

En utilisant les sections, l'écriture du script précédent devra plutôt s'écrire:

[Init]
{
    a1=1;
    a2=2;
    p1=0;
    p2=1;
}
[Body]
{
    x=sin(a1*t+p1);
    y=cos(a2*t+p2);
}

Le même travail peut être fait avec des équations polaires...

r=t*(1+sin(t)/3);
@=PI*sin(t);

donnerait:en cartésien et en polaire...

 

Les séries