next up previous contents index
Next: 4.5.2 La couleur Up: 4.5 Les surfaces Previous: 4.5 Les surfaces

Introduction à plot3d

Si votre surface est donnée par une équation du type z = f(x,y), il est particulièrement simple de la représenter pour un domaine rectangulaire des paramètres. Dans l'exemple qui suit je représente la fonction f(x,y) = cos(x)cos(y) pour $(x,y) \in [0, 2 \pi] \times [0, 2 \pi]$ :
-->x=linspace(0,2*%pi,31);   // la discretisation en x (et aussi en y : c'est la meme)
 
-->z=cos(x)'*cos(x);  // le jeu des valeurs en z : une matrice z(i,j) = f(x(i),y(j))
 
-->plot3d(x,x,z)  // le dessin


  
Figure 4.6: la fonction z = cos(x)cos(y)
\begin{figure}
\begin{center}

\includegraphics [width=12cm]{surf1}\end{center}\end{figure}

Vous devez alors obtenir quelque chose qui ressemble à la figure (4.6)[*]. Ici j'ai utilisé plot3d dans sa syntaxe la plus simple mais vous pouvez préciser le point de vue et un certain nombre d'autres paramètres :

  plot3d(x,y,z [,theta,alpha,leg [,flag,ebox]])
  plot3d1(x,y,z [,theta,alpha,leg [,flag,ebox]])

où :

1.
x et y sont deux vecteurs lignes ((1,nx) et (1,ny)) correspondants à la discrétisation en x et en y ;
2.
z est une matrice ((nx,ny)) telle que z(i,j) est << l'altitude >> au point (x(i),y(j)) ;
3.
theta et alpha sont les deux angles (en degré) précisant le point de vue ;
4.
leg est une chaîne de caractères pour obtenir une légende pour chacun des axes (par exemple leg="x@y@z") ;
5.
flag est un vecteur à trois composantes flag=[mode type box] où :
(a)
le paramètre mode spécifie si on dessine ou non les faces cachées : si mode > 0 alors les faces cachées sont enlevées[*] , si mode = 0 c'est le contraire et si mode < 0 les faces cachées sont enlevées de même que le maillage (à partir de la version 2.3.1) ;
(b)
si type = 0 on utilise l'échelle précédente, si type = 1 on précise l'échelle avec :
ebox = [xmin,xmax,ymin,ymax,zmin,zmax]
sinon pour tout autre valeur l'échelle est calculée automatiquement avec les données ;
(c)
le paramètre box contrôle le pourtour du graphe :
  • box = 0 rien n'est dessiné autour,
  • box = 2 les axes sont dessinés,
  • box = 3 une boite entoure la surface...,
  • box = 4 une boite et les axes...
Voici un petit script où on utilise presque tous les paramètres de plot3d. C'est une animation qui vous permettra de comprendre le changement de point de vue avec les paramètres theta et alpha :
x=linspace(-%pi,%pi,31);
z=sin(x)'*sin(x);
n = 21
theta = linspace(20,80,n);
xbasc(); xselect()
xset("pixmap",1)   // pour activer le double buffer
alpha = linspace(60,30,n);
plot3d(x,x,z,theta(1),alpha(1),"x@y@z",[2 2 4])
xtitle("variation du point de vue avec le parametre theta")
xset("wshow")
// on fait varier theta
for i=2:n
  xset("wwpc") // effacement du buffer courant
  plot3d(x,x,z,theta(i),alpha(1),"x@y@z",[2 0 4])
  xtitle("variation du point de vue avec le parametre theta")
  xset("wshow")
end
// on fait varier alpha
for i=2:n
  xset("wwpc") // effacement du buffer courant
  plot3d(x,x,z,theta(n),alpha(i),"x@y@z",[2 0 4])
  xtitle("variation du point de vue avec le parametre alpha")
  xset("wshow")
end
xset("pixmap",0)  // on revient dans le mode initial


next up previous contents index
Next: 4.5.2 La couleur Up: 4.5 Les surfaces Previous: 4.5 Les surfaces
Pincon Bruno
6/23/2000