Draw partial spheroid include a spheroid
이전 댓글 표시
I want to draw 1/8 spheroid include a small spheroid and output the geometry for mesh. But my current coding always have discontinue in the cutting plan.

Can anyone help provide a idea of cutting the spheroid in 1/8 not for showing but get the data.
채택된 답변
추가 답변 (2개)
darova
2019년 8월 19일
Use patch() to generate planes
clc,clear
R = 10;
r = 3;
t = linspace(0,pi/2,20);
x = [r*cos(t) fliplr(R*cos(t))];
y = [r*sin(t) fliplr(R*sin(t))];
patch(x,y,x*0,'b')
hold on
patch(x,x*0,y,'b')
patch(x*0,x,y,'b')
hold off
alpha(0.5)
view(3)
댓글 수: 13
KOU DU
2019년 8월 19일
darova
2019년 8월 19일
What format of data output should be?
KOU DU
2019년 8월 19일
KOU DU
2019년 8월 21일
KOU DU
2019년 8월 21일
darova
2019년 8월 21일
Use surf() to draw 1/8 of sphere and patch() to create a planes
KOU DU
2019년 8월 21일
darova
2019년 8월 21일
Are your shapes (sphere and ellispoid?) always centered? Are their centers in origin?
KOU DU
2019년 8월 22일
darova
2019년 8월 22일
Here we go
darova
2019년 8월 22일
Don't know how introduce 'p' parameter in that form
KOU DU
2019년 8월 22일
KOU DU
2019년 8월 22일
Abhisek Pradhan
2019년 8월 7일
Following code may be used as an alternative to draw a sphere. Theta and Phi can be varied to get the desired result.
R=10;
Phi=linspace(-pi,pi);
Theta=linspace(0,2*pi);
[Phi,Theta]=meshgrid(Phi,Theta);
Z=R*sin(Phi);
X=R*cos(Phi).*cos(Theta);
Y=R*cos(Phi).*sin(Theta);
hSurface = surf(X,Y,Z);
set(hSurface,'FaceColor',[0 0 1], 'FaceAlpha',0.5,'FaceLighting','gouraud','EdgeColor','none');
카테고리
도움말 센터 및 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!


