2010-07-13 6 views
0

Ceci est une affectation de classe. J'avais écrit quelques codes que j'espère que quelqu'un peut m'aider.ellipsoïde utilisant matlab

alt text http://i32.tinypic.com/2gw9so3.jpg

Voici le code que j'ai

% --- This is optional to verify whether my parametrization is consistent with the 
% --- original equation 
% syms x y z p t 
% ellipsoid=[2*sin(p)*cos(t),4*sin(t)*sin(p),sqrt(2)*cos(p)] 
% simplify(subs((x^2/4)+(y^2/16)+(z^2/2),[x,y,z],ellipsoid)) 
% --- END 

t=linspace(-2,2*pi,20); 
s=linspace(0,pi/2,20); 

[s t]=meshgrid(s,t); 

x=2*cos(t).*sin(s); 
y=4.*sin(s).*sin(t); 
z=sqrt(2).*cos(s); 

surf(x,y,z); 
grid on; 

xlabel('x');ylabel('y');zlabel('z'); axis equal 

hold on; 
% I think this is how we draw the lower half of the ellipsoid using -sqrt(2) 
t=linspace(-2,2*pi,20); 
s=linspace(0,pi/2,20); 

[s t]=meshgrid(s,t); 

x=-2.*cos(t).*sin(s); y=-4.*sin(s).*sin(t); z=-sqrt(2).*cos(s); 
surf(x,y,z) 
axis equal 

La deuxième façon de le faire est d'utiliser un commentaire ellipsoïde qui est la deuxième partie de ce problème.

[x, y, z] = ellipsoid(0,0,0,2.0,4.0,sqrt(2),20); 
surfl(x, y, z) 
colormap copper 
axis equal 

L'image outupt s'il vous plaît cliquer sur le lien ci-dessous (trop grand)

http://i26.tinypic.com/6ye1j7.jpg Le côté gauche est partie une et image de droite utilise ellipsoïde ...

Pensez-vous qu'ils sont identiques?

Merci

Répondre

1

Oui, ils sont à peu près les mêmes.

Vous pouvez le tester en traçant les deux ellipsoïdes dans les mêmes axes, à savoir après que vous avez tracé la première ellipsoïde, vous exécutez

[x, y, z] = ellipsoid(0,0,0,2.0,4.0,sqrt(2),20); 
sh = surfl(x, y, z); %# capture the handle, i.e. the unique identifier, of the surface 

%# set color to gray, make mostly transparent 
set(sh,'FaceColor',[0.5,0.5,0.5],'FaceAlpha',0.5) 

Maintenant, vous pouvez faire pivoter la parcelle (cliquez sur le bouton avec la flèche circlular, puis faites glisser l'intrigue) et vous verrez que les deux ellipsoïdes coïncident très bien. Si le second était plus grand que le premier, vous verriez un espace entre les deux; si le second était plus petit que le premier, vous ne verriez que le premier, opaque.