Draw partial spheroid include a spheroid
Afficher commentaires plus anciens
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.
Réponse acceptée
Plus de réponses (2)
darova
le 19 Août 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 commentaires
KOU DU
le 19 Août 2019
darova
le 19 Août 2019
What format of data output should be?
KOU DU
le 19 Août 2019
KOU DU
le 21 Août 2019
KOU DU
le 21 Août 2019
darova
le 21 Août 2019
Use surf() to draw 1/8 of sphere and patch() to create a planes
KOU DU
le 21 Août 2019
darova
le 21 Août 2019
Are your shapes (sphere and ellispoid?) always centered? Are their centers in origin?
KOU DU
le 22 Août 2019
darova
le 22 Août 2019
Here we go
darova
le 22 Août 2019
Don't know how introduce 'p' parameter in that form
KOU DU
le 22 Août 2019
KOU DU
le 22 Août 2019
Abhisek Pradhan
le 7 Août 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');
1 commentaire
KOU DU
le 19 Août 2019
Catégories
En savoir plus sur Surface and Mesh Plots dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


