Графический вывод в сферической системе координат

В этом примере показано, как построить точку в сферических координатах и ее проекции к Декартовым координатам.

В сферических координатах, местоположении точки P может быть охарактеризован тремя координатами:

  • радиальное расстояние ρ

  • азимутальный угол θ

  • угол в полярных координатах ϕ

Отношение между Декартовыми координатами (x,y,z) из точки P и его сферические координаты (ρ,θ,ϕ) :

x=ρsinϕcosθy=ρsinϕsinθz=ρcosϕ

Постройте точку P использование plot3. Можно настроить местоположение точки путем изменения значений rho, theta, и phi.

rho = 0.8;
theta = 1.2;
phi = 0.75;
x = rho*sin (phi) *cos (theta);
y = rho*sin (phi) *sin (theta);
z = rho*cos (phi);
plot3 (x, y, z,'ko','MarkerSize',10,'MarkerFaceColor','k')
содержание on

Постройте проекцию линии точки P на z- ось и xy- плоскость с помощью fplot3.

syms r s
xr = r*sin(phi)*cos(theta);
yr = r*sin(phi)*sin(theta);
zr = r*cos(phi);
fplot3(xr,yr,zr,[0 rho],'k')
fplot3(xr,yr,sym(0),[0 rho],'k')
fplot3(xr,yr,sym(z),[0 rho],'k--')
fplot3(sym(x),sym(y),rho*sin(s),[0 pi/2-phi],'k')

Постройте плоскости, которые показывают промежуток азимутального угла θ и угол в полярных координатах ϕ.

syms s t
xa = rho*sin(s)*cos(t);
ya = rho*sin(s)*sin(t);
fsurf(xa,ya,0,[0 phi 0 theta],'FaceColor','b','EdgeColor','none')
syms u v
xp = u*sin(v)*cos(theta);
yp = u*sin(v)*sin(theta);
zp = u*cos(v);
fsurf(xp,yp,zp,[0 rho 0 phi],'FaceColor','g','EdgeColor','none')
xlabel('x')
ylabel('y')
zlabel('z')
view(115,30)
axis equal;
hold off

Figure contains an axes object. The axes object contains 7 objects of type line, parameterizedfunctionline, parameterizedfunctionsurface.