連載「X線CTで高精度寸法測定!?」

◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇ 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サイトまで

測定機に関する理論や解析技術の情報発信として、定期的にメールマガジンを無料配信しています。メルマガにご登録頂くと、最新情報やWEB未公開の情報をいち早くお手元にお届けすることができます。

メルマガご登録はこちらから