Rodriguesの回転公式(Rodrigues' rotation formula)とは、$\mathbb{R}^3$ の単位ベクトル $n$ のまわりの角 $\theta$ の回転を $R_n(\theta)x=\cos\theta\,x+\sin\theta\,(n\times x)+(1-\cos\theta)(n\cdot x)n$ と書く式である。$Kx=n\times x$ とおくと $R_n(\theta)=I+\sin\theta\,K+(1-\cos\theta)K^2=e^{\theta K}$ となる。$\mathrm{SO}(3)$ の元 $R$ はどれもこの形で、角は $\operatorname{tr}R=1+2\cos\theta$ から、軸は $0< \theta< \pi$ なら $R-R^{\top}=2\sin\theta\,K$ から求まる。
$\mathbb{R}^3$ で、長さ $1$ のベクトル $n$ を軸とし、角 $\theta$ だけ回す回転を $R_n(\theta)$ とする。Rodrigues の回転公式(Rodrigues' rotation formula)は、この回転をベクトル積と内積だけで書く式
$$
R_n(\theta)\,x=\cos\theta\,x+\sin\theta\,(n\times x)+(1-\cos\theta)(n\cdot x)\,n
$$
である。行列で書けば、$K$ を $x\mapsto n\times x$ の行列として $R_n(\theta)=I+\sin\theta\,K+(1-\cos\theta)K^2$ であり、これは行列の指数関数 $e^{\theta K}$ に等しい。座標軸のまわりの回転行列を組み合わせなくても、軸と角から回転の行列が一度に書ける。
逆に、$3$ 次の回転行列(行列式 $1$ の直交行列)はどれも、ある軸のまわりのある角の回転である。軸と角は行列から読み取れ、角の余弦は跡から $\cos\theta=\frac{\operatorname{tr}R-1}2$、軸は $0< \theta< \pi$ なら交代部分 $R-R^{\top}=2\sin\theta\,K$ から求まる。同じ軸のまわりの回転は角を足せば合成できるが、軸が違えば角の和にはならない。
| 結果 | 内容 |
|---|---|
| thm-rod-main | Rodrigues の回転公式(ベクトルの形と行列の形)、$R_n(\theta)\in\mathrm{SO}(3)$、同じ軸での加法性 |
| prop-rod-exp | $R_n(\theta)=e^{\theta K}$ |
| thm-rod-euler | $\mathrm{SO}(3)$ の元はどれも $R_n(\theta)$。軸と角を跡と交代部分から求める式 |
| prop-rod-conjugate | 回転で回転を挟むと軸が移る:$gR_n(\theta)g^{-1}=R_{gn}(\theta)$ |
| ex-rod-counterexamples | 軸の長さ、軸の一致、$\sin\theta\ne0$ の条件を外した反例 |
以下、$\mathbb{R}^3$ の標準内積を $x\cdot y$、長さを $|x|=\sqrt{x\cdot x}$、ベクトル積を $x\times y$ とし、$e_1,e_2,e_3$ を標準基底とする。$\mathrm{SO}(3)$ は行列式 $1$ の $3$ 次の直交行列の群である。長さ $1$ のベクトルを単位ベクトルという。単位ベクトル $n$ に対し、$n^\perp:=\{w\in\mathbb{R}^3\mid n\cdot w=0\}$ を $n$ に直交する平面とする。
$n^\perp$ の元 $w$ について、$n\times w$ も $n^\perp$ に入り、$|n\times w|=|w|$、$w\cdot(n\times w)=0$ である(ベクトル積 の命題「ベクトル積の基本性質」の 3・4)。さらに二重ベクトル積の公式(同じ記事の定理「二重ベクトル積の公式と Jacobi 恒等式」の 1)から
$$
n\times(n\times w)=(n\cdot w)\,n-(n\cdot n)\,w=-w\qquad(w\in n^\perp)
$$
である。つまり $w\mapsto n\times w$ は、平面 $n^\perp$ の上の「$90^\circ$ の回転」であり、2 回行うと $-1$ 倍になる。これを使って回転を定める。
単位ベクトル $n\in\mathbb{R}^3$ と $\theta\in\mathbb{R}$ に対し、$x\in\mathbb{R}^3$ を $x=a\,n+w$($a\in\mathbb{R}$、$w\in n^\perp$)と分けて
$$
R_n(\theta)\,x:=a\,n+\cos\theta\,w+\sin\theta\,(n\times w)
$$
と定める。$R_n(\theta)$ を、軸 $n$ のまわりの角 $\theta$ の回転 という。
分け方は $a=n\cdot x$、$w=x-(n\cdot x)n$ とただ 1 通りであり、$a$ と $w$ は $x$ について線形なので、$R_n(\theta)$ は線形写像である。$R_n(\theta)$ は軸の上のベクトル($w=0$)を動かさず、平面 $n^\perp$ の上では $w\mapsto\cos\theta\,w+\sin\theta\,(n\times w)$ と働く。$n^\perp$ の単位ベクトル $u$ をとり $u':=n\times u$ とおくと、$(u,u',n)$ は正規直交基底で、$R_n(\theta)u=\cos\theta\,u+\sin\theta\,u'$、$R_n(\theta)u'=-\sin\theta\,u+\cos\theta\,u'$ である。すなわち $n^\perp$ を基底 $(u,u')$ で座標平面と見たとき、$R_n(\theta)$ は平面の角 $\theta$ の回転 $\begin{pmatrix}\cos\theta&-\sin\theta\\ \sin\theta&\cos\theta\end{pmatrix}$ として働く。$u$ から $u'=n\times u$ へ向かう向きは、$n$ の先端から見て反時計回りであり、$\theta>0$ はこの向き(右ねじの向き)の回転である。この定義は 特殊直交群 の例「空間の回転と回転角」の回転と同じものである。
ベクトル $x$ を、軸に沿った成分 $(n\cdot x)n$ と軸に直交する成分 $w$ に分けると、回転で変わるのは $w$ だけである。$w$ は平面 $n^\perp$ の中で角 $\theta$ だけ回り、その平面の「$90^\circ$ 先」の向きを与えるのが $n\times w$ である。平面の回転 $w\mapsto\cos\theta\,w+\sin\theta\,(n\times w)$ は、複素数で $w\mapsto e^{i\theta}w$ と書くのと同じ形をしている。Rodrigues の公式は、この分解を $x$ の言葉に書き直しただけの式であり、$\cos\theta\,x$ が「全体を縮める」項、$\sin\theta\,(n\times x)$ が「横へずらす」項、$(1-\cos\theta)(n\cdot x)n$ が「縮めすぎた軸方向の成分を戻す」項である。
単位ベクトル $n=(n_1,n_2,n_3)$ に対し、$x\mapsto n\times x$ の行列を
$$
K:=[n]_\times=\begin{pmatrix}0&-n_3&n_2\\ n_3&0&-n_1\\ -n_2&n_1&0\end{pmatrix}
$$
とおく。$K$ は交代行列($K^{\top}=-K$)である。
単位ベクトル $n\in\mathbb{R}^3$、$\theta\in\mathbb{R}$ とする。
段 1(ベクトルの形).$x=an+w$、$a=n\cdot x$、$w=x-(n\cdot x)n$ とする。$n\times n=0$ なので $n\times w=n\times x$ である。定義に代入すると
$$
R_n(\theta)x=(n\cdot x)n+\cos\theta\bigl(x-(n\cdot x)n\bigr)+\sin\theta\,(n\times x)=\cos\theta\,x+\sin\theta\,(n\times x)+(1-\cos\theta)(n\cdot x)n
$$
であり、1 が成り立つ。
段 2(行列の形).$Kx=n\times x$ であり、二重ベクトル積の公式から $K^2x=n\times(n\times x)=(n\cdot x)n-x$、すなわち $K^2=nn^{\top}-I$ である。1 の右辺は $\bigl(\cos\theta\,I+\sin\theta\,K+(1-\cos\theta)nn^{\top}\bigr)x$ であり、$nn^{\top}=I+K^2$ を代入すると $I+\sin\theta\,K+(1-\cos\theta)K^2$ になる。
段 3($\mathrm{SO}(3)$ に属すること).定義の後の段落の正規直交基底 $(u,u',n)$ をとる。$u'=n\times u$ は単位ベクトルで $u$・$n$ と直交する。$P:=(u\ u'\ n)$(この順に列を並べた行列)は直交行列で、
$$
\det P=(u\times u')\cdot n=\bigl(u\times(n\times u)\bigr)\cdot n=\bigl((u\cdot u)n-(u\cdot n)u\bigr)\cdot n=1
$$
である(ベクトル積 の命題「ベクトル積の基本性質」の 3 と二重ベクトル積の公式)。定義の後の段落の計算から、$R_n(\theta)P=P\,Q(\theta)$、
$$
Q(\theta):=\begin{pmatrix}\cos\theta&-\sin\theta&0\\ \sin\theta&\cos\theta&0\\ 0&0&1\end{pmatrix}
$$
である。よって $R_n(\theta)=PQ(\theta)P^{\top}$ で、$Q(\theta)$・$P$・$P^{\top}$ は直交行列なので $R_n(\theta)$ も直交行列であり、$\det R_n(\theta)=\det Q(\theta)=\cos^2\theta+\sin^2\theta=1$ である。
段 4(合成と逆).加法定理から $Q(\theta)Q(\varphi)=Q(\theta+\varphi)$ なので、$R_n(\theta)R_n(\varphi)=PQ(\theta)Q(\varphi)P^{\top}=R_n(\theta+\varphi)$ である。$\varphi=-\theta$ とすると $R_n(-\theta)=R_n(\theta)^{-1}$ で、直交行列なので逆行列は転置に等しい。1 の式で $n$ を $-n$ に替えると $\sin\theta$ の項だけ符号が変わり($(-n\cdot x)(-n)=(n\cdot x)n$)、これは $\theta$ を $-\theta$ に替えた式と同じである。周期 $2\pi$ は 1 の式から明らかである。$\square$
特に $n=e_3$ のとき、$K=\begin{pmatrix}0&-1&0\\1&0&0\\0&0&0\end{pmatrix}$、$K^2=\operatorname{diag}(-1,-1,0)$ なので
$$
R_{e_3}(\theta)=\begin{pmatrix}\cos\theta&-\sin\theta&0\\ \sin\theta&\cos\theta&0\\ 0&0&1\end{pmatrix}
$$
であり、$z$ 軸のまわりの見慣れた回転行列になる。thm-rod-main の 3 の証明は、一般の軸の回転が、軸を $z$ 軸に移す座標変換 $P$ でこの行列に共役であることを示している。
単位ベクトル $n$ と $\theta\in\mathbb{R}$ について、$K=[n]_\times$ とすると
$$
e^{\theta K}=\sum_{m=0}^{\infty}\frac{\theta^m}{m!}K^m=R_n(\theta)
$$
である。特に $\frac{d}{d\theta}R_n(\theta)=K\,R_n(\theta)$、$\frac{d}{d\theta}R_n(\theta)x\big|_{\theta=0}=n\times x$ である。
thm-rod-main の証明の段 2 のとおり $K^2=nn^{\top}-I$ であり、$Kn=n\times n=0$ から $K^3=K(nn^{\top}-I)=-K$ である。帰納法で $K^{2j+1}=(-1)^jK$($j\ge0$)、$K^{2j}=(-1)^{j-1}K^2$($j\ge1$)となる。指数関数の級数は各成分が絶対収束するので(行列の指数関数)、奇数次と偶数次に分けて
$$
e^{\theta K}=I+\Bigl(\sum_{j\ge0}\frac{(-1)^j\theta^{2j+1}}{(2j+1)!}\Bigr)K+\Bigl(\sum_{j\ge1}\frac{(-1)^{j-1}\theta^{2j}}{(2j)!}\Bigr)K^2=I+\sin\theta\,K+(1-\cos\theta)K^2
$$
であり、thm-rod-main の 2 により $R_n(\theta)$ に等しい。微分は 2 の式を項ごとに微分して $\cos\theta\,K+\sin\theta\,K^2$ となり、$K^3=-K$ を使うとこれは $K\bigl(I+\sin\theta\,K+(1-\cos\theta)K^2\bigr)=K+\sin\theta K^2-(1-\cos\theta)K$ に等しい。$\theta=0$ では $K$ である。$\square$
最後の式は、軸 $n$ のまわりを角速度 $1$ で回る点 $x$ の速度が $n\times x$ であることを表す。ベクトル積 の記事の命題「回転の指数表示」も同じ式を述べている。
$R\in\mathrm{SO}(3)$ とする。
段 1(固定ベクトルがある).$R^{\top}R=I$、$\det R=1$ から
$$
\det(R-I)=\det\bigl(R(I-R^{\top})\bigr)=\det(I-R^{\top})=\det(I-R)=(-1)^3\det(R-I)
$$
なので $\det(R-I)=0$ である。よって $Rn=n$ となる単位ベクトル $n$ がある。
段 2(直交平面への制限).$R$ は内積を保つので、$w\in n^\perp$ なら $n\cdot Rw=Rn\cdot Rw=n\cdot w=0$ で、$R$ は $n^\perp$ をそれ自身に写す。$n^\perp$ の単位ベクトル $u$ をとり、$u':=n\times u$、$P:=(u\ u'\ n)$ とする(thm-rod-main の証明の段 3 と同じく $P\in\mathrm{SO}(3)$)。$P^{\top}RP$ は第 3 列が $e_3$ の直交行列で、第 3 行も(直交行列の行は正規直交なので)$e_3^{\top}$ である。よって $P^{\top}RP=\operatorname{diag}(A,1)$、$A\in\mathrm{O}(2)$ で、$\det A=\det R=1$ である。2 次の直交行列の分類(回転行列 の定理「2 次の直交行列の分類」)により、$A=\begin{pmatrix}\cos\theta&-\sin\theta\\ \sin\theta&\cos\theta\end{pmatrix}$ となる $\theta$ がある。$R$ と $R_n(\theta)$ は基底 $u,u',n$ の上で一致するので $R=R_n(\theta)$ である。$\theta$ を $2\pi$ の整数倍だけずらして $\theta\in(-\pi,\pi]$ とし、$\theta< 0$ なら $R_n(\theta)=R_{-n}(-\theta)$(thm-rod-main の 4)で $n$ を $-n$ に替えれば、$\theta\in[0,\pi]$ にできる。
段 3(跡と交代部分).$\operatorname{tr}I=3$、$\operatorname{tr}K=0$、$\operatorname{tr}K^2=\operatorname{tr}(nn^{\top})-3=|n|^2-3=-2$ なので、thm-rod-main の 2 から $\operatorname{tr}R=3-2(1-\cos\theta)=1+2\cos\theta$ である。$K^{\top}=-K$、$(K^2)^{\top}=K^2$ から $R^{\top}=I-\sin\theta\,K+(1-\cos\theta)K^2$ で、$R-R^{\top}=2\sin\theta\,K$ である。
段 4(一意性).$\theta\in[0,\pi]$ では $\cos$ は単射なので、$\theta$ は $\operatorname{tr}R$ から決まる。$\operatorname{tr}R=3$ なら $\theta=0$ で $R=I$ である。$\theta\in(0,\pi)$ なら $\sin\theta>0$ で、段 3 の式から $[n]_\times$、したがって $n$ が決まる($a\mapsto[a]_\times$ は単射)。$\theta=\pi$ なら thm-rod-main の 2 から $R=-I+2nn^{\top}$ で、$R+I=2nn^{\top}$ の 0 でない列は $n$ の定数倍なので、$n$ は符号を除いて決まる。$R_n(\pi)=R_{-n}(\pi)$ なので符号は決まらない。$\square$
1 は「空間の回転にはかならず軸がある」という Euler の回転定理である。thm-rod-euler により、$\mathrm{SO}(3)$ は「軸 $n$ と角 $\theta\in[0,\pi]$」で表され、$\theta=\pi$ では $n$ と $-n$ が同じ回転を表す。
単位ベクトル $n$、$\theta\in\mathbb{R}$、$3$ 次の直交行列 $g$ について
$$
g\,R_n(\theta)\,g^{-1}=R_{gn}\bigl((\det g)\,\theta\bigr)
$$
である。特に $g\in\mathrm{SO}(3)$ なら $gR_n(\theta)g^{-1}=R_{gn}(\theta)$ であり、同じ角の回転どうしは $\mathrm{SO}(3)$ の中で共役である。
$y\in\mathbb{R}^3$ とし $x:=g^{-1}y$ とおく。thm-rod-main の 1 により
$$
gR_n(\theta)g^{-1}y=\cos\theta\,gx+\sin\theta\,g(n\times x)+(1-\cos\theta)(n\cdot x)\,gn
$$
である。$gx=y$、$n\cdot x=gn\cdot gx=gn\cdot y$($g$ は内積を保つ)、$g(n\times x)=(\det g)\,(gn\times gx)=(\det g)\,(gn\times y)$(ベクトル積 の定理「直交変換とベクトル積」。$\det g=\pm1$)なので、右辺は $\cos\theta\,y+(\det g)\sin\theta\,(gn\times y)+(1-\cos\theta)(gn\cdot y)\,gn$ である。$gn$ は単位ベクトルで、$\det g=\pm1$ から $\cos((\det g)\theta)=\cos\theta$、$\sin((\det g)\theta)=(\det g)\sin\theta$ なので、これは $R_{gn}((\det g)\theta)y$ である。$\square$
$n=\frac1{\sqrt3}(1,1,1)$、$\theta=\frac{2\pi}3$ とする。$K=\frac1{\sqrt3}\begin{pmatrix}0&-1&1\\ 1&0&-1\\ -1&1&0\end{pmatrix}$、$K^2=nn^{\top}-I=\frac13J-I$($J$ はすべての成分が $1$ の行列)、$\sin\theta=\frac{\sqrt3}2$、$1-\cos\theta=\frac32$ なので
$$
R_n\Bigl(\frac{2\pi}3\Bigr)=I+\frac12\begin{pmatrix}0&-1&1\\ 1&0&-1\\ -1&1&0\end{pmatrix}+\frac12J-\frac32I=\begin{pmatrix}0&0&1\\ 1&0&0\\ 0&1&0\end{pmatrix}
$$
である。これは $e_1\mapsto e_2\mapsto e_3\mapsto e_1$ と座標軸を巡回させる置換行列であり、立方体をそれ自身に移す回転の 1 つである。逆に thm-rod-euler で確かめると、跡は $0$ なので $\cos\theta=-\frac12$、$\theta=\frac{2\pi}3$ で、$R-R^{\top}=\begin{pmatrix}0&-1&1\\ 1&0&-1\\ -1&1&0\end{pmatrix}=\sqrt3\,K=2\cdot\frac{\sqrt3}2\,K$ から $n=\frac1{\sqrt3}(1,1,1)$ が戻る。
$R_{e_1}(\frac\pi2)=\begin{pmatrix}1&0&0\\0&0&-1\\0&1&0\end{pmatrix}$、$R_{e_2}(\frac\pi2)=\begin{pmatrix}0&0&1\\0&1&0\\-1&0&0\end{pmatrix}$ である(thm-rod-main の 1 で $e_2\times e_3=e_1$、$e_2\times e_1=-e_3$ などから列を求めた)。積は
$$
R_{e_1}\Bigl(\frac\pi2\Bigr)R_{e_2}\Bigl(\frac\pi2\Bigr)=\begin{pmatrix}0&0&1\\ 1&0&0\\ 0&1&0\end{pmatrix}
$$
で、ex-rod-diagonal により軸 $\frac1{\sqrt3}(1,1,1)$ のまわりの $120^\circ$ 回転である。$x$ 軸のまわりの $90^\circ$ 回転と $y$ 軸のまわりの $90^\circ$ 回転を続けると、どちらの軸とも違う軸のまわりの、$90^\circ+90^\circ$ でもない角の回転になる。順序を入れ替えた積 $R_{e_2}(\frac\pi2)R_{e_1}(\frac\pi2)=\begin{pmatrix}0&1&0\\0&0&-1\\-1&0&0\end{pmatrix}$ は跡が $0$ で、交代部分から軸は $\frac1{\sqrt3}(1,1,-1)$ と分かり、元の積とは異なる。
| 外した条件 | 反例 | 成り立たなくなること |
|---|---|---|
| 軸 $n$ が単位ベクトル | $n=2e_3$、$\theta=\frac\pi2$ を公式に代入した写像 | 直交行列であること(thm-rod-main の 3) |
| 2 つの回転の軸が同じ | $R_{e_1}(\frac\pi2)R_{e_2}(\frac\pi2)$ | 角の加法性 $R_n(\theta)R_n(\varphi)=R_n(\theta+\varphi)$ と指数法則 $e^{A}e^{B}=e^{A+B}$ |
| $\sin\theta\ne0$ | $R_{e_3}(\pi)=\operatorname{diag}(-1,-1,1)$ | 交代部分から軸を求める式(thm-rod-euler の 3) |
1 行目:$n=2e_3$(長さ $2$)、$\theta=\frac\pi2$ で $T(x):=\cos\theta\,x+\sin\theta\,(n\times x)+(1-\cos\theta)(n\cdot x)n=n\times x+(n\cdot x)n$ とおくと、$T(e_1)=2e_3\times e_1=2e_2$ で、長さが $2$ になる。よって $T$ は長さを保たず、直交行列でない。軸の向きだけが意味をもつので、公式を使う前に $n$ を $n/|n|$ に正規化しなければならない。
2 行目:ex-rod-composition により、積は軸 $\frac1{\sqrt3}(1,1,1)$ のまわりの $\frac{2\pi}3$ の回転で、$e_1$ 軸や $e_2$ 軸のまわりの回転ではない($R_{e_1}(\theta)$ は $e_1$ を固定するが、積は $e_1$ を $e_2$ に移す)。また $A:=\frac\pi2[e_1]_\times$、$B:=\frac\pi2[e_2]_\times$ とすると $A+B=\frac\pi{\sqrt2}[m]_\times$、$m:=\frac1{\sqrt2}(1,1,0)$ なので、prop-rod-exp により $e^{A+B}=R_m(\frac\pi{\sqrt2})$ である。これは $m$ を固定するが、積は $m$ を $\frac1{\sqrt2}(1,1,0)$ から $\frac1{\sqrt2}(0,1,1)$ に移すので、$e^Ae^B\ne e^{A+B}$ である。thm-rod-main の 4 の加法性は軸が同じことを使っている。
3 行目:$R_{e_3}(\pi)$ は対称行列なので $R-R^{\top}=O$ で、交代部分は軸について何も教えない。実際 $R_{e_3}(\pi)=R_{-e_3}(\pi)$ であり、軸の向きは決まらない。この場合は $R+I=2nn^{\top}=\operatorname{diag}(0,0,2)$ から $n=\pm e_3$ と求める(thm-rod-euler の 3 の $\theta=\pi$ の場合)。
単位ベクトル $n$ と $\theta$ から四元数 $q:=\cos\frac\theta2+\sin\frac\theta2\,(n_1\mathbf{i}+n_2\mathbf{j}+n_3\mathbf{k})$ を作り、$x\in\mathbb{R}^3$ を純四元数 $x_1\mathbf{i}+x_2\mathbf{j}+x_3\mathbf{k}$ と見ると、$x\mapsto qx\bar q$ は $R_n(\theta)$ に一致する(正多面体群 の記事に $qv\bar q$ を展開して Rodrigues の公式を得る証明がある)。同じことを $2\times2$ の複素行列で書いたものが Pauli行列 の記事の定理で、そこでは $\mathrm{SU}(2)$ の元 $\cos\frac\theta2I-i\sin\frac\theta2\,n\cdot\sigma$ による共役が $R_n(\theta)$ を与えることを示している。半分の角 $\frac\theta2$ が現れ、$q$ と $-q$ が同じ回転を与えることが、$\mathrm{SO}(3)$ の二重被覆 $\mathrm{SU}(2)\to\mathrm{SO}(3)$ の現れである(SO(3)とSU(2))。O. Rodrigues は、2 つの回転を続けた回転の軸と角を与える式を求めており、これは四元数による回転の表示を先取りするものであった(Voi21 §1.1、p. 5)。thm-rod-main の 1 の式は Voi21 Chapter 2 の演習 18(p. 33)に「Rodrigues の回転公式」として挙げられている。
Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する