Section : Graphiques
Précédent : Graphiques composés
Suivant : Exporter des graphiques

Dimension 3

Le tracé d'une courbe en dimension 3 se fait par la fonction param3d, selon les mêmes principes qu'en dimension 2.
xbasc()
t=linspace(0,2*%pi,50);
x=sin(t); y=sin(2*t); z=sin(3*t);
param3d(x,y,z)                // courbe de Lissajous
xbasc()
t=linspace(-%pi/2,%pi/2,1000);
x=cos(t*50).*cos(t);
y=sin(t*50).*cos(t);
z=sin(t);
param3d(x,y,z)                // helice spherique
Pour représenter une famille de courbes en dimension 3, il faut utiliser param3d1. Les arguments sont trois matrices de coordonnées pour lesquelles les différentes courbes sont en colonne.
xbasc()
t=linspace(0,2*%pi,100);
a=linspace(-%pi,%pi,10);
X=cos(t')*cos(a);             // matrice des abscisses
Y=sin(t')*cos(a);             // matrice des ordonnees
Z=ones(t')*sin(a);            // matrice des cotes
param3d1(X,Y,Z)               // paralleles d'une sphere
La représentation des surfaces se fait par plot3d ou plot3d1. Nous reprenons comme exemple la fonction de IR$ ^2$ dans IR qui à $ (x,y)$ associe $ \sin(xy)$ (figure 7).
x=linspace(-%pi,%pi,50);     // vecteur d'abscisses
y=x;                         // vecteur d'ordonnees
z=sin(x'*y);                 // matrice des valeurs de la fonction
help plot3d
xbasc()
plot3d(x,y,z)                // representation monochrome
plot3d1(x,y,z)               // representation coloree
xbasc()
R=[0:255]/256; G=R; B=0.5*ones(R);      
RGB=[R;G;B]';                // nouvelle matrice de couleurs
xset("colormap",RGB);
plot3d1(x,y,z)               // les couleurs dependent de z
xset("default")              // reinitialise les parametres graphiques
Pour représenter une surface définie par deux paramètres, il faut la définir comme une fonction, puis utiliser eval3dp qui prend comme argument cette fonction et deux vecteurs de paramètres, et retourne les arguments nécessaires pour la représentation par plot3d. Voici par exemple la représentation d'une sphère. Pour obtenir des couleurs variables, il faut parfois changer le sens d'un des deux vecteurs de paramètres.
deff("[x,y,z]=sphere(u,v)",.. // definition de la fonction
["x=cos(u).*cos(v);..         // abscisses
y=sin(u).*cos(v);..           // ordonnees
z=sin(v)"])                   // cotes

u = linspace(-%pi,%pi,50);
v = linspace(-%pi/2,%pi/2,25);// parametres
[x,y,z] = eval3dp(sphere,u,v);// calcul de la surface
plot3d1(x,y,z);               // representation monochrome     

u = linspace(%pi,-%pi,50);    // changement de sens
[x,y,z] = eval3dp(sphere,u,v);// nouveau calcul
xbasc()
plot3d1(x,y,z)                // les couleurs dependent de z

Figure 7: Représentation par plot3d1.

Dimension 3
param3d courbes paramétriques
param3d1 plusieurs courbes ou points
plot3d surface en dimension 3
fplot3d idem, définition par une fonction
plot3d1 surface par niveaux de couleurs
fplot3d1 idem, définition par une fonction
eval3dp surface paramétrée
hist3d histogrammes


Section : Graphiques
Précédent : Graphiques composés
Suivant : Exporter des graphiques

© B. Ycart (2001)