logo

logo

メールマガジン・新着情報一覧

  1. TOP
  2. メールマガジン・新着情報一覧
  3. A-0052. 3次元回転と極座標表示 — TT

2015.07.29

A-0052. 3次元回転と極座標表示 — TT

◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇

3次元回転と極座標表示

発行:エスオーエル株式会社
http://www.sol-j.co.jp/

連載「X線CTで高精度寸法測定!?」
2015年7月29日号 VOL.052

平素は格別のお引き立てを賜り、厚く御礼申し上げます。
X線CTスキャンによる精密測定やアプリケーション開発情報などをテーマに、
無料にてメールマガジンを配信いたしております。

◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇



今回も、3次元回転を取り上げます。

まず、3次元座標系を極座標で書いてみます。

最初に、それぞれが垂直に交わった3本の座標軸をイメージします。
座標系の取り方には、右手系と左手系がありますので、右手系を選びます。
右手系を選ぶと、右手の親指、人差指、中指をそれぞれ垂直に立てたときに、
親指がX、人差指がY、中指がZ に対応します。

この座標系上に点(点P と呼ぶことにします)を用意して、
その座標が (x, y, z) になっているとします。

原点O (0, 0, 0) から 点P (x, y, z) までの距離を r とします。
つまり、 r = √( x^2 + y^2 + z^2 ) です。

さて、この点Pを XY平面に垂直に落とし、その点を点H と呼ぶことにします。

そして、線分OPと線分OHの成す角度をθと表すことにします。

  Z軸と線分OPの成す角度をθとする流儀もありますが、
  Werthのソフトウェアの記法に合わせて進めていきます。

また、X軸と線分OHの成す角度をφと表すことにします。


では、線分PHの長さを計算してみましょう。
三角形POHは、頂点Oの角度がθで、頂点Hが直角なので、
三角関数で計算できます。

線分OPの長さが r なので、PH = r sinθ です。
この PH は、まさに点P の Z座標(XY平面からの高さ)なので、
  z = r sinθ
です。


次に、線分OHの長さを計算してみましょう。
同じく、三角形POHを考えると、今度はコサインです。
  OH = r cosθ
になります。


このOHをX成分とY成分に分解します。
点HをX軸に垂直に落とした点は、まさに x であり、
点HをY軸に垂直に落とした点は、まさに y になります。

ですから、OHを斜辺とする角度φをもつ直角三角形に着目すると、
  x = OH cosφ
  y = OH sinφ
になります。

OHの長さは、既に求めてあります。
先に計算した z も合わせて並べて書くと、

  x = r cosθ cosφ
  y = r cosθ sinφ
  z = r sinθ

となりました。
これが、3次元の極座標表示です。

点Pを指定するのに、
直交座標の (x, y, z) という3つの数値でもよいのですが、
極座標の (r, θ, φ) という3つの数値でもよいことになります。
そして、その表示方法間の関係が上の式になります。

ちなみに、この式は (r, θ, φ) を (x, y, z) に変換する式なので、
逆の (x, y, z) を (r, θ, φ) に変換する式も書いてみます。
r は、冒頭で既に出てきていますので、θとφを逆三角関数で計算します。
すると、

  r = √( x^2 + y^2 + z^2 )
  θ = arcsin ( z / √( x^2 + y^2 + z^2 ) )
  φ = arccos ( x / √( x^2 + y^2 ) )

となります。


では、点Pを回転してみます。

回転した後の点を点Qと呼び、直交座標系での座標を (u, v, w) とします。

Z軸周りに角度γ回転するのは、比較的簡単です。
回転の方向は、X軸からY軸に向かう方向を正とします。
φ を φ+γ にすればよいので、

  u = r cosθ cos(φ+γ)
  v = r cosθ sin(φ+γ)
  w = r sinθ

です。回転前の (x, y, z) から 回転後の (u, v, w) に変換する式は、
三角関数の加法定理を使うと計算できます。

cos(φ+γ) = cosφcosγ - sinφsinγ
sin(φ+γ) = sinφcosγ + cosφsinγ

ですので、

  u = r cosθ (cosφcosγ - sinφsinγ)
  v = r cosθ (sinφcosγ + cosφsinγ)

となり、これを xとy で書き直すと、

  u = x cosγ - y sinγ
  v = x sinγ + y cosγ
  w = z

となります。これが、Z軸周りに角度γ回転したときの式です。

よく見ると、これはXY平面で2次元回転をしているだけだということに気が付きます。
そこで、Y軸周りに角度β回転する場合は、
XZ平面で2次元回転をすればよいと気付きますので、そのようにやってみます。
回転の方向は、Z軸からX軸に向かう方向を正とします。
すると、

  u = x cosβ + z sinβ
  v = y
  w = -x sinβ + z cosβ

となります。これが、Y軸周りに角度β回転したときの式です。


同様に、X軸周りに角度α回転してみます。
これも、x が変化せずに、YZ平面で2次元回転すると考えて計算します。
すると、

  u = x
  v = y cosα - z sinα
  w = y sinα + z cosα

となります。これが、X軸周りに角度α回転したときの式です。

これで、3次元回転を実際にする場合の感覚が掴めたら、
もっと一般的な回転も式で書き下すことができるようになります。

回転を行列の公式を使うだけだと、とても便利ですが、
公式を忘れても導けるようになっておくと、
色々なものが見えてくるようになりますし、応用も利くようになります。


--
高野智暢


☆TomoScope専門サイトはこちら☆

一覧に戻る

お問い合わせ Contact

048-441-1133

お問合せフォーム