最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

球面座標系でのプロット

この例では、球面座標の点とその投影を直交座標にプロットする方法を示します。

球面座標では、点 P の位置は 3 つの座標で特徴付けることができます。

  • 半径距離 ρ

  • 方位角 θ

  • 極角 ϕ

P の直交座標 (x,y,z) とその球面座標 (ρ,θ,ϕ) の関係は、次のとおりです。

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

plot3 を使用して点 P をプロットします。rhotheta、および 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

fplot3 を使用して、点 P の直線の投影を z 軸と xy 平面にプロットします。

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