Draw partial spheroid include a spheroid
Show older comments
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.
Accepted Answer
More Answers (2)
darova
on 19 Aug 2019
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 Comments
KOU DU
on 19 Aug 2019
darova
on 19 Aug 2019
What format of data output should be?
KOU DU
on 19 Aug 2019
KOU DU
on 21 Aug 2019
KOU DU
on 21 Aug 2019
darova
on 21 Aug 2019
Use surf() to draw 1/8 of sphere and patch() to create a planes
KOU DU
on 21 Aug 2019
darova
on 21 Aug 2019
Are your shapes (sphere and ellispoid?) always centered? Are their centers in origin?
KOU DU
on 22 Aug 2019
darova
on 22 Aug 2019
Here we go
darova
on 22 Aug 2019
Don't know how introduce 'p' parameter in that form
KOU DU
on 22 Aug 2019
KOU DU
on 22 Aug 2019
Abhisek Pradhan
on 7 Aug 2019
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');
Categories
Find more on Surface and Mesh Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

