0

以下は、球面座標からデカルト座標への変換です。

X = r cosθ sinΦ 
Y = r sinθ sinΦ 
Z = rcosΦ

逆の計算を使用して、デカルト座標から球座標を計算します。これは、次のように定義されます。

r = √(x^2+y^2+z^2 ) 
θ = atan⁡(Y./X) 
Φ = atan⁡(√(X^2+Y^2 )./Z)

Y と X がゼロの場合に問題が発生するため、θ は任意の値を取ることができるため、Matlab の計算中に NAN (数値ではない) が発生し、θ が不連続になります。この不連続性を取り除く補間手法と、この場合の θ の解釈方法はありますか。

θ はさまざまな点での行列であり、次の結果が得られます。次の結果には、不連続性を表すジャンプと黒のパッチがありますが、滑らかな変化で次の画像を生成する必要があります。取得したシータを確認し、リンクをクリックしてシータの変動を修正し、いくつかの変更を提案してください。 Discontinuous_Theta_variation 正確なシータ変動

4

1 に答える 1

0

デカルト座標系から球座標系への変換を行う際、ここに書かれている式は正しいですが、まずその物理的な意味を理解する必要があります。

「r」は原点からの距離です。θ は、正の x 軸から、与えられた点を XY 平面に投影して作成される線までの角度です。また、Φ は正の z 軸から原点と特定の点を結ぶ線までの角度です。 http://www.learningaboutelectronics.com/Articles/Cartesian-rectangular-to-spherical-coordinate-converter-calculator.php#answer

たとえば、X 座標と Y 座標が 0 の点は、z 軸上にあることを意味し、XY 平面への投影は原点にあることを意味します。したがって、X 軸からの原点の角度を正確に決定することはできません。ただし、ポイントは Z 軸上にあるため、Φ=0 または pi (Z が正か負かに応じて) になることに注意してください。

したがって、この問題をコーディングする際に、最初に Φ をチェックし、それが 0 または pi の場合はシータ = 0 (デフォルト) であるというこのアプローチを適応させることができます。これが目的に役立つことを願っています。

于 2016-01-26T04:12:31.620 に答える