exponenta event banner

Печать в сферической системе координат

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

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

  • расстояние по радиусу

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

  • полярный угол

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

x = ρ грешат ϕ, потому что θ y грешат ϕ грех θ z потому что ϕ

Постройте график точки 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')
hold 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. The axes contains 7 objects of type line, parameterizedfunctionline, parameterizedfunctionsurface.