How to plot sphere in sphere coordinates?

3 visualizaciones (últimos 30 días)
Niklas Kurz
Niklas Kurz el 18 de Oct. de 2020
Comentada: Bruno Luong el 21 de Oct. de 2020
I'm just trying to plot known sphere coordinates:
function sphere(r)
phi = linspace(0,2*pi);
theta = linspace(0,pi);
x = r*cos(phi).*sin(theta);
y = r*sin(phi).*sin(theta);
z = r*cos(theta);
plot3(x,y,z)
end
However this isn't doing the trick. What have I mathematically confounded?

Respuesta aceptada

J. Alex Lee
J. Alex Lee el 19 de Oct. de 2020
Your problem is not with conversion or plotting, but defining the coordinates that you want...
[phi,theta] = meshgrid(linspace(0,2*pi),linspace(0,pi));
Also if you didn't know:
  2 comentarios
Niklas Kurz
Niklas Kurz el 21 de Oct. de 2020
yea, but I wanted to go through the rough way ;)
You could have said additionally that I need to swap plot3(x,y,z) with mesh(x,y,z), but all in all you've been nudging me in the right direction. Thx
J. Alex Lee
J. Alex Lee el 21 de Oct. de 2020
sure thing. if you decide you don't want the rough way and you haven't seen it, check
[X,Y,Z] = r*sphere(n)
mesh(X,Y,Z)
% surf(X,Y,Z) % filled in faces
Also check out

Iniciar sesión para comentar.

Más respuestas (1)

Bruno Luong
Bruno Luong el 21 de Oct. de 2020
function sphere(r)
phi = linspace(0,2*pi);
theta = linspace(0,pi).'; % first change
x = r*cos(phi).*sin(theta);
y = r*sin(phi).*sin(theta);
z = r*cos(theta)+0*phi; % second change, make z same-size 2d array as x and y
plot3(x,y,z);
end
  3 comentarios
Niklas Kurz
Niklas Kurz el 21 de Oct. de 2020
What a hoot! Just one thing: what does
.'
stand for?
Bruno Luong
Bruno Luong el 21 de Oct. de 2020
Click on .'

Iniciar sesión para comentar.

Categorías

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

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by