Next: 4.5.2 La couleur
Up: 4.5 Les surfaces
Previous: 4.5 Les surfaces
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=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}](img84.gif) |
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: 4.5.2 La couleur
Up: 4.5 Les surfaces
Previous: 4.5 Les surfaces
Pincon Bruno
6/23/2000