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.

clf()
t=linspace(0,2*%pi,50);
x=sin(t); y=sin(2*t); z=sin(3*t);
param3d(x,y,z)                // courbe de Lissajous
scf()                         // nouvelle fenetre
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.

clf()
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 $ \mathbb{R}^2$ dans $ \mathbb{R}$ 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
clf()
plot3d(x,y,z)                // representation monochrome
f=scf()
plot3d1(x,y,z)               // representation coloree
f.color_map = coolcolormap(32);
f.color_map = rainbowcolormap(32);
f.color_map = autumncolormap(32);

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
scf()
plot3d1(x,y,z)                // les couleurs dependent de z

Figure 7: Représentation par plot3d1 et avec rotation.
\includegraphics[width=10cm]{sinxy_surf}

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


         © UJF Grenoble, 2011                              Mentions légales