3D plot an ellipsoid?
조회 수: 6 (최근 30일)
이전 댓글 표시
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
채택된 답변
Akira Agata
2017년 11월 17일
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
Akira Agata
2019년 5월 29일
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;

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개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!