位置ベクトルの1軸回転

最近、固定座標軸2軸まわりの回転による位置ベクトルの移動を考察した。
位置ベクトルの2軸回転 - 科学のおもちゃ箱@Hatena

与えられた位置ベクトルを任意の位置に回転させるには、回転軸を任意に取れるならば本来1軸まわりの回転ですむ。回転軸は元ベクトル \boldsymbol{r} と先ベクトル \boldsymbol{R} の両方に垂直だから、両者のベクトル積方向となるだろう。

\boldsymbol{e}_\perp = \displaystyle\frac{\boldsymbol{r}\times\boldsymbol{R}}{|\boldsymbol{r}\times\boldsymbol{R}|}

方向だけ取り出して単位ベクトルとした。回転角は、

\psi = \sin^{-1}\displaystyle\frac{|\boldsymbol{r}\times\boldsymbol{R}|}{r^2}

となるが、電卓や数学ソフトでは \sin^{-1} の値域は -\pi/2~\pi/2 だから、拡張のために次のようにする。

\psi = (\boldsymbol{r}\cdot\boldsymbol{R} \ge 0)\cdot \sin^{-1}\displaystyle\frac{|\boldsymbol{r}\times\boldsymbol{R}|}{r^2} + (\boldsymbol{r}\cdot\boldsymbol{R} \lt 0)\cdot \left(\pi - \sin^{-1}\displaystyle\frac{|\boldsymbol{r}\times\boldsymbol{R}|}{r^2}\right)

不等号のあるのは論理式である。

以上で1軸回転の方法は終わりだが、これを検証するのはなかなか面倒なことになる。




次の手順をとることにする。
z 軸を \boldsymbol{e}_\perp の方向に回転させて z^\prime 軸とする。
z^\prime 軸まわりに \psi 回転する。
z^\prime 軸を z 軸にもどす。

①は、先の考察でやった方法で \boldsymbol{e}_z\boldsymbol{e}_\perp へと回転させる操作の逆をやればよい(今回は座標軸の回転だから)。

結果として回転操作の記述は次のようになるだろう。これはきわめて冗長な連続回転になっており、技術的な意味はほとんどなく、単に上の回転が正当であることを検証するためだけのものである。

\boldsymbol{R} = \mathcal{R}_z\left({\rm sgn}(\boldsymbol{e}_\perp\cdot\boldsymbol{e}_y) \cos^{-1}\displaystyle\frac{\boldsymbol{e}_\perp\cdot\boldsymbol{e}_x}{(\boldsymbol{e}_\perp\cdot\boldsymbol{e}_x)^2+(\boldsymbol{e}_\perp\cdot\boldsymbol{e}_y)^2}\right) \mathcal{R}_y(\cos^{-1}(\boldsymbol{e}_\perp\cdot\boldsymbol{e}_z)) \mathcal{R}_z(\psi) \\\qquad\qquad\qquad\cdot\mathcal{R}_y(-\cos^{-1}(\boldsymbol{e}_\perp\cdot\boldsymbol{e}_z)) \mathcal{R}_z\left(-{\rm sgn}(\boldsymbol{e}_\perp\cdot\boldsymbol{e}_y) \cos^{-1}\displaystyle\frac{\boldsymbol{e}_\perp\cdot\boldsymbol{e}_x}{(\boldsymbol{e}_\perp\cdot\boldsymbol{e}_x)^2+(\boldsymbol{e}_\perp\cdot\boldsymbol{e}_y)^2}\right) \boldsymbol{r}

Mathcad2001による検証…うまくいっているようだ