Surfaces z=f(x,y)
1. Surface définie par une fonction
Une surface z=f(x,y) définie par une fonction est tracée avec la fonction fplot3d.
fplot3d(args,style)
- args.f
:
fonction de la forme f(x,y)
- args.xmin, args.xmax, args.ymin, args.ymax, args.zmin, args.zmax
:
domaine à tracer. L'intervalle [zmin,zmax] est utilisé pour le calcul des couleurs.
- args.nx, args.ny
:
nombres de points sur chaque axe
- style.wireframe
:
true ou false (valeur par défaut). Si true, seul le maillage de la surface est tracé.
- style.hsv
:
couleur HSV utilisé pour le tracé des facettes. Une des trois valeurs est variable.
- hsvvar
:
0,1, ou 2 : indice de la variable dans la couleur HSV. La valeur de la variable est (z-zmin)/(zmax-zmin).
- wire
:
true ou false (valeur par défaut). Si true, les facettes sont entourées d'un bord.
- width
:
largeur relative du bord des facettes (si wire=true)
Comme premier exemple, voici le tracé d'un maillage :
Dans l'exemple suivant, on colorie les facettes en faisant varier la variable H (hue) de la couleur HSV :
Si on veut une couleur uniforme, il suffit de fixer la valeur de h (hue) et de donner la valeur 3 à hsvvar. On peut aussi dans ce cas attribuer la valeur 2 à hsvvar pour faire varier la variable v (value).
La même chose avec des bords autour des facettes :
2. Surface animée définie par une fonction
Une surface animée est définie par une fonction z=f(x,y,t) où t représente le temps. La fonction fplot3d_animate génère l'animation.
Le calcul de la surface (et des normales) est effectué par le processeur graphique (dans le vertex shader). La couleur de la surface est uniforme.
fplot3d_animate(args,style)
- args.fsrc
:
expression de la fonction z=f(x,y,t), sous forme d'une chaine de caractères
- args.xmin, args.xmax, args.ymin, args.ymax
:
domaine à tracer. L'intervalle [zmin,zmax] est utilisé pour le calcul des couleurs.
- args.nx, args.ny
:
nombres de points sur chaque axe
- args.tmin, args.tmax
:
intervalle de variation de la variable t
- args.duration
:
durée réelle (en secondes) correspondant à l'intervalle [tmin,tmax]
- style.color
:
couleur de la surface
Exemple :
Dans l'expression de la fonction, les nombres constants doivent être définis explicitement avec le sépareteur décimal. On écrira donc 20.0 et nom simplement 20.
3. Surface définie par une matrice
La fonction matplot3d trace la surface définie par une matrice. Cette fonction possède les mêmes styles que fplot3d.
matplot3d(args,style)
- args.mat
:
matrice définissant la surface
- args.xmin, args.xmax, args.ymin, args.ymax, args.zmin, args.zmax
:
domaine à tracer. L'intervalle [zmin,zmax] est utilisé pour le calcul des couleurs.
- style.wireframe
:
true ou false (valeur par défaut). Si true, seul le maillage de la surface est tracé.
- style.hsv
:
couleur HSV utilisé pour le tracé des facettes. Une des trois valeurs est variable.
- hsvvar
:
0,1, ou 2 : indice de la variable dans la couleur HSV. La valeur de la variable est (z-zmin)/(zmax-zmin).
- wire
:
true ou false (valeur par défaut). Si true, les facettes sont entourées d'un bord.
- width
:
largeur relative du bord des facettes (si wire=true)
Dans l'exemple ci-dessous, la matrice résulte d'un calcul numérique; elle est chargée à partir d'un fichier javascript potentiel.js. Le nom de la variable javascript contenant la matrice est potentiel.
La fonction matcolorsplot3d permet de définir les couleurs par des matrices : une matrice H, une matrice S et une matrice V.
matcolorsplot3d(args,style)
- args.mat
:
matrice définissant la surface
- args.xmin, args.xmax, args.ymin, args.ymax
:
domaine à tracer. L'intervalle [zmin,zmax] est utilisé pour le calcul des couleurs.
- args.matH, args.matS, args.matV
:
matrices qui définissent les couleurs des facettes