Borrar filtros
Borrar filtros

plot a partial sphere with a circular top like a bowl

12 visualizaciones (últimos 30 días)
monarch
monarch el 2 de Dic. de 2017
Editada: monarch el 2 de Dic. de 2017
I'd like to plot a partial sphere (like a bowl) where the radius from the centroid to the edge is .1385 and the radius of the mouth of the bowl is .0525.
I have this but I couldn't figure out how to cut off the square-ish top to only show the bowl-like shape
R = .1385;
[X,Y] = meshgrid(-.07:.001:.07);
Z = sqrt(R.^2 + X.^2 + Y.^2);
Z(imag(Z) ~= 0) =0;
mesh(X,Y,Z);

Respuesta aceptada

Akira Agata
Akira Agata el 2 de Dic. de 2017
I think one possible solution would be fsurf function. How about the following script?
R = 0.1385;
r1 = 0.0525;
theta = asin(r1/R);
funx = @(u,v) R*cos(u).*sin(v);
funy = @(u,v) R*sin(u).*sin(v);
funz = @(u,v) -R*cos(v);
fsurf(funx,funy,funz,[0 2*pi 0 theta])
  2 comentarios
monarch
monarch el 2 de Dic. de 2017
Brilliant - thanks! and if I add to keep the units on the axes the same
daspect([1 1 1])
it looks like it's supposed to look!!!
monarch
monarch el 2 de Dic. de 2017
Editada: monarch el 2 de Dic. de 2017
Another question: If I'm plotting several of these with different values of R, but I'd like the color to be the same across different plots for a given value on the z axis, how might I do that?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Surface and Mesh Plots en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by