lunes, 16 de marzo de 2015

Graficar una esfera con coordenadas esféricas en Matlab

Matlab utiliza la convención alta-azimutal para coordenadas esféricas por lo que se tiene que considerar a la hora de traducir funciones expresadas con otras convenciones.

%Esfera de radio unitario en coordenadas esféricas
theta = linspace(0,2*pi,50);
phi = linspace(-pi,pi,50);
r = ones(1,50);

%Construcción de malla
[phi,theta] = meshgrid(phi,theta);
r = meshgrid(r);

%La conversión se realiza después de construir la malla
[X,Y,Z] = sph2cart(theta,phi,r);

mesh(X,Y,Z), axis equal




2 comentarios:

Anónimo dijo...

Y si la quiero con radio r y centro en(x,y). Tu ejemplo cubre muy pocas posibilidades.

Rodolfo Escobar dijo...

Tan pocas como tu imaginación se limite a modificarlo :v.