当社は埼玉県に本社をおく、測定機の "エスオーエル株式会社" です。 同名あるいは類似の企業名にご注意下さい。

メールマガジン記事

【 概 要 】

エスオーエルでは、精密測定やアプリケーション開発情報などをテーマに、 無料にてメールマガジンを配信いたしております。 Webでは公開されない情報があることや、最新情報をいち早くお届けするためにも、 メルマガ会員登録をおすすめしております。

【 記 事 】

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

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専門サイトはこちら☆


●┳┳┳●━━━━ 連 絡 先 ━━━━━━━━━━━━━
┣╋╋○ エスオーエル株式会社  ( SOL )
┣╋○ 〒335-0012 埼玉県戸田市中町1-34-1
┣○ Tel: 048-441-1133 Fax: 048-445-1678
● Email: sales@sol-j.co.jp Web: http://www.sol-j.co.jp
   --デモ測定を承ります-- 詳細は上記Webサイトまで

トップへ戻る