球面座標データをXYZに変換し3Dグラフを作成
目次
サマリー
このチュートリアルでは、球面座標データの3Dグラフの作成に関わる操作と、Xファンクションsph2cart を使用して球面座標から直交座標のワークブックや行列に変換する方法を紹介します。
sph2cartの変換アルゴリズムを確認すると、Originは変換式の中で、仰角として
を使用し、方位角として
を使用することがわかります。
学習する項目
- 球面座標のワークシート(仮想行列)データを直交座標に変換して3D曲面図を作成
- 球面座標の行列オブジェクトを直交座標に変換して3D曲面図を作成
- 球面座標の3つの行列オブジェクトを直交座標に変換して個別の3D曲面図を作成
- 球面座標のワークシート(XYZ)データを直交座標(XYZ)に変換して3D空間に曲線を作成
ステップ
仮想行列のデータで3Dカラーマップ曲面図を作図
Originは、仮想行列(特別な座標形式)内のデータで曲面グラフを作図でき、カラーマップを追加できます。以下の操作で、カラーマップ曲面の楕円体を作図します。
このチュートリアルは、チュートリアルデータプロジェクト(<Origin EXE フォルダ>\Samples\TutorialData.opj)と関連しています。
- Tutorial Data.opjを選択し、フォルダSpherical Coordinatesを開きます。
- チュートリアルデータ内の仮想行列データspheriPlot を開くと、下図のような構造になっていることが確認できます。
- スクリプトウィンドウを開き、以下のコードを入力して実行します。
- 行列レイヤ内の行列Zの後に、カラーマップデータ用の行列オブジェクト「4」を追加します。
- Spherical Coordinatesフォルダのcolormap 行列のデータをコピーし、新しく追加した行列オブジェクトに貼り付けます。
- 行列データから3D曲面図を作成します。行列オブジェクトZをアクティブにして、次のようにメニューを選択します。作図:3D:3Dカラーマップ曲面をクリックします。
- CTRL+R を押して軸を再スケールし、軸上でダブルクリックしてダイアログを開きます。XYZ軸のスケールをすべて-1.2 から1.2に設定してOKボタンをクリックします。
- 楕円体にカラーマップを適用します。曲面上でダブルクリックして作図の詳細ダイアログを開き、塗りつぶしタブを開いて行列から等高線を塗りつぶすをMat(4)に変更します。
- カラーマップ/等高線タブでは、ヘッダをクリックして、レベルの設定、塗り方、等高線ダイアログを開くことができます。最小/最大の検索ボタンをクリックしてレベルを設定し、OKボタンをクリックして適用します。塗り方の「パレットをロード」で「Maple」を選択します。等高線ダイアログでは「全て隠す」を選択してOKをクリックし、適用をクリックして設定を適用します。
- 最終的なグラフは下図のようになります。
方位角と仰角は、 |
行列オブジェクトのデータを変換して3D曲面図を作図
- Originは球面座標の
曲面関数を構成することができます。方位角、仰角、半径は同じ行列に配置されます。球面座標の方程式から行列値を設定する前に、sph2cartで変換関係とシステム内での方位角、仰角の定義を確認できます。 - 新しい行列を作成します。メインメニューから行列:次数/ラベルの設定を選択します。次数を
にし、Xのマッピングを
、Yのマッピングを
に設定します。XとYは角度データで、Xは列を横断する方位角、Yは仰角です。
- メニューから「行列:セル値の設定」を選びます。値の設定ダイアログに以下の式を入力します。
- 球面座標の行列は、Xファンクションsph2cartを使用して直交座標に変換できます。ウィンドウ:スクリプトウィンドウを選択して以下のスクリプトを入力し、Enterキーを押して実行します。
- 行列データから3D曲面図を作図します。MSheet2 の行列オブジェクトZをアクティブにします。
- 曲面上でダブルクリックして、作図の詳細ダイアログを開き、下図のようにパラメトリック曲面を設定し、OKボタンをクリックします。
- CTRL+R を押して軸を再スケールし、軸上でダブルクリックして軸ダイアログを開きます。XYZ軸のスケールをすべて-0.5から0.5に設定し、主目盛を0.2にしてOKボタンをクリックします。
- グラフは下図のようになります。
- 曲面図をダブルクリックして、作図の詳細ダイアログを開きます。カラーマップ/等高線タブを開き、レベル/色塗り/線のヘッダをクリックして、それぞれのダイアログで下図のように設定を行います。

- メッシュタブを開き、透明度の自動のチェックを外して値を70%に変更します。

- カラーマップの設定については、パラメトリック曲面のチュートリアルを確認してください。下図が最終的なグラフです。

3つの行列オブジェクトのデータを変換して3D曲面図を作図
Originは球面座標の
曲面関数を構成することができます。方位角、仰角、半径は異なる行列に配置されます。以下のステップでは、3つの行列を使用して複数曲面図を作成する方法と、sph2cartを使用してXYZに変換する方法を紹介します。
- 新しい行列を作成します。行列次数/ラベルの設定ダイアログで、行列の次数を
に設定し、OKをクリックします。
- 行列ウィンドウの右上にあるDボタンをクリックし、メニューから追加を選択して行列ブックに2つのオブジェクトを追加します。
- 最初の行列オブジェクトに方位角を入力します。1番目の行列オブジェクトをアクティブにし(Dボタンをクリックして1/2/3を選択し切り替え)、メニューから行列:セル値の設定をクリックします。方位角の行列値は以下のように設定します。
- 値の設定ダイアログで、下の式を入力します。
- 仰角は2番目の行列オブジェクトにに入力します(操作2の方法で行列オブジェクト2を選択します)。次の式を使用して仰角の値を設定します。
pi/32*(i-17)
- 3番目の行列オブジェクトに、次式により半径を入力します。
![Col(i,j)=\begin{cases}
1 & \text{ if } i\in [1,32] \\
0.7 & \text{ if } i\in [33,65] \\
0.4& \text{ if } i\in [66,98] \\
\end{cases} Col(i,j)=\begin{cases}
1 & \text{ if } i\in [1,32] \\
0.7 & \text{ if } i\in [33,65] \\
0.4& \text{ if } i\in [66,98] \\
\end{cases}](/tutorials/ja/images/Convert_Data_from_Spherical_Coordinate_to_XYZ_and_Make_a_3D_Plot/math-7abab8c0325b08ec55387a3771b2aee6.png)
- 半径値の設定は区分的なので、操作3、4、5を参照し、次のコードを使用します。
1*(j<33)+0.7*(j>33&&j<66)+0.4*(j>66)
- 3つの行列で値を設定後、sph2cartを使用してデータをXYZに変換できます。スクリプトウィンドウを開き、以下のコードを入力して実行します。
- 新しい行列レイヤに作成されたXYZ行列オブジェクトを使用して3D曲面図を作成します。その際の操作は、上述のセクションの行列オブジェクトのデータを変換して3D曲面図を作図と同様です。
3列のデータを変換して3D空間に曲線を作図
Originでは、不等間隔なXYZ列データ(球面座標)で3Dの曲線を作成できます。以下の操作で、球の形状のらせんを作図します。
- 3つの列X、Y、Zを持つ新しいワークブックを作成します。Xの値として
から
までの値をセットするために、列を右クリックして、メニューから列値の一律設定:数値のセットを選択します。
- スクリプトウィンドウを開き、以下のコードを入力して実行します。
- 出力されたXYZデータを選択して、メニューから作図:3D:3D散布図を選択して作図します。シンボルサイズを0に設定し、シンボルを線で接続し、OKをクリックします。
- スケールや遠近法等を調節すると、最終的なグラフは以下のようになります。
新しく作成されたXYZデータのXYZ列を選択し、作図:3D:3Dカラーマップ曲面から3D曲面図を作図することもできます。
XとYの方位角、仰角は、 |

の範囲は-90から90です。
角度の単位には度を使用します。 








空間に偏在できます。
で、仰角
から
です。
角度の単位にはラジアンを使用します。 
は、球面調和関数の特定のセット)、
)に相当します。
と
は















