hi, i'm making a code that will plot an ellipsoid with the following equations:
x = a * (cos*phi) * (cos * theta); y = b * (cos*phi) * (sin * theta); z = b * (sin*phi);
and i'm supposed to plot it with a = 2, and b = 1, but it doesn't appear to be working.. help anyone?
a = 2;
b = 1;
x = a * (cos*phi) * (cos * theta);
y = b * (cos*phi) * (sin * theta);
z = b * (sin*phi);
[Xm, Ym] = meshgrid(x,y);
surf(x,y,z)

댓글 수: 1

Rik
Rik 2017년 11월 16일
phi and theta don't exist and you are using them as input to cos and sin.

댓글을 달려면 로그인하십시오.

 채택된 답변

Akira Agata
Akira Agata 2017년 11월 17일

2 개 추천

How about using a fsurf function, like:
a = 2;
b = 1;
funx = @(theta,phi) a*cos(theta).*cos(phi);
funy = @(theta,phi) b*cos(theta).*sin(phi);
funz = @(theta,phi) b*sin(theta);
fsurf(funx,funy,funz,[-pi/2 pi/2 -pi pi])

댓글 수: 4

Mat Ramada
Mat Ramada 2017년 11월 17일
wow, that fixed it! thank you so much!
Ahmed Karoui
Ahmed Karoui 2019년 5월 27일
Hi,
I´m wondering how I can transform (Rotate) this ellipsoid having already a rotation-matrix for example.
How can I execute the Rotation with the Matrice that I have if I defined my ellipsoid using function handles ?
How about using hgtransform ? The following is an example.
a = 2;
b = 1;
funx = @(theta,phi) a*cos(theta).*cos(phi);
funy = @(theta,phi) b*cos(theta).*sin(phi);
funz = @(theta,phi) b*sin(theta);
% Make rotation matrix (e.g Rotate pi/4 [rad] for y-axis)
M = makehgtform('yrotate',pi/4);
figure
h = fsurf(funx,funy,funz,[-pi/2 pi/2 -pi pi]);
daspect([1 1 1])
% Apply the rotation matrix
t = hgtransform('Parent',gca);
t.Matrix = M;
h.Parent = t;
example.png
DOMENICO GIOFFRE
DOMENICO GIOFFRE 2021년 1월 23일
Hello. I have a 3x3 matrix describing a tilted ellypsoid. How can i plot this? Besides, is there a way to calculate the distance between its center and a point on the surface in the direction of x, y and z axes?
Thank you!
229.435 1.889 -5.708
1.889 207.544 4.372
-5.708 4.372 184.297
how can I rotate it 'back'

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

질문:

2017년 11월 16일

댓글:

2021년 1월 23일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by