ロドリゲスの回転公式
n × ( n × r ) = ( n ⋅ r ) n − r = [ ( n x r x + n y r y + n z r z ) n x − r x ( n x r x + n y r y + n z r z ) n y − r y ( n x r x + n y r y + n z r z ) n z − r z ] = [ n x 2 − 1 n x n y n z n x n x n y n y 2 − 1 n y n z n z n x n y n z n z 2 − 1 ] [ r x r y r z ] = [ − n y 2 − n z 2 n x n y n z n x n x n y − n z 2 − n x 2 n y n z n z n x n y n z − n x 2 − n y 2 ] [ r x r y r z ] = [ 0 − n z n y n z 0 − n x − n y n x 0 ] 2 [ r x r y r z ] = K 2 ( n ) r {\displaystyle {\begin{aligned}{\boldsymbol {n}}\times ({\boldsymbol {n}}\times {\boldsymbol {r}})&=({\boldsymbol {n}}\cdot {\boldsymbol {r}}){\boldsymbol {n}}-{\boldsymbol {r}}\\&={\begin{bmatrix}(n_{x}r_{x}+n_{y}r_{y}+n_{z}r_{z})n_{x}-r_{x}\\(n_{x}r_{x}+n_{y}r_{y}+n_{z}r_{z})n_{y}-r_{y}\\(n_{x}r_{x}+n_{y}r_{y}+n_{z}r_{z})n_{z}-r_{z}\end{bmatrix}}\\&={\begin{bmatrix}n_{x}^{2}-1&n_{x}n_{y}&n_{z}n_{x}\\n_{x}n_{y}&n_{y}^{2}-1&n_{y}n_{z}\\n_{z}n_{x}&n_{y}n_{z}&n_{z}^{2}-1\end{bmatrix}}{\begin{bmatrix}r_{x}\\r_{y}\\r_{z}\end{bmatrix}}\\&={\begin{bmatrix}-n_{y}^{2}-n_{z}^{2}&n_{x}n_{y}&n_{z}n_{x}\\n_{x}n_{y}&-n_{z}^{2}-n_{x}^{2}&n_{y}n_{z}\\n_{z}n_{x}&n_{y}n_{z}&-n_{x}^{2}-n_{y}^{2}\end{bmatrix}}{\begin{bmatrix}r_{x}\\r_{y}\\r_{z}\end{bmatrix}}\\&={\begin{bmatrix}0&-n_{z}&n_{y}\\n_{z}&0&-n_{x}\\-n_{y}&n_{x}&0\end{bmatrix}}^{2}{\begin{bmatrix}r_{x}\\r_{y}\\r_{z}\end{bmatrix}}\\&=K^{2}({\boldsymbol {n}}){\boldsymbol {r}}\end{aligned}}}
は n との外積に対応する交代行列(歪対称行列、或いは反対称行列とも呼ばれる)である。
また、単位軸ベクトル n を n = [n1 n2 n3] と表した場合、上記の行列 Rn(θ) の (i, j) 成分はクロネッカーのデルタ及び符号関数を用いて以下のように表すことも出来る。
n i n j ( 1 − cos  θ ) + δ i j cos  θ + { sgn  ( i − j ) } [ ∑ k = 1 3 sgn  { ( i − k ) ( j − k ) } n k ] sin  θ {\displaystyle \textstyle n_{i}n_{j}(1-\cos \theta )+\delta _{ij}\cos \theta +\{\operatorname {sgn}(i-j)\}\left[\sum _{k=1}^{3}\operatorname {sgn}\{(i-k)(j-k)\}n_{k}\right]\sin \theta }
なお、上記の添え字 k は結局、集合 {1, 2, 3} から集合 {i, j} を取り除いた残り1つの元に当たるもののみが残るから、差集合の考え方を用いて以下のように表しても良い。
であるから、以下に示す通り、本節のベクトル表現は前節の行列表現と同等であることが分かる。
三次元回転におけるロドリゲスの回転公式(英: Rodrigues' rotation formula)とは、ベクトル空間において、与えられた回転軸に対して回転を行うための効率的なアルゴリズムを指す。またこの公式は、任意の3つの基底ベクトルに対する、SO(3) 群上の回転行列を用いた変換の軸角度表現を与えている。つまり、この式は so(3)(SO(3) のリー代数)から SO(3) への指数写像を、行列の指数関数を計算せずに与えるアルゴリズムとなっている。
n i n j ( 1 − cos  θ ) + δ i j cos  θ + { sgn  ( j − i ) } ( − 1 ) i + j n k sin  θ ( k ∈ { 1 , 2 , 3 } ∖ { i , j } ) {\displaystyle \textstyle n_{i}n_{j}(1-\cos \theta )+\delta _{ij}\cos \theta +\{\operatorname {sgn}(j-i)\}(-1)^{i+j}n_{k}\sin \theta \qquad (k\in \{1,2,3\}\setminus \{i,j\})}
他の表現として、回転面を表すゼロでないベクトル a, b に対する軸ベクトルとしてクロス積 a × b を用いることができる。このとき、回転角 θ を a から離れた、もしくは b に向けた角として表せる。2つのベクトルがなす角を α とすると、θ と同様の意味を α に与えることができる(ただし2つは必ずしも一致しない)。このとき、単位軸ベクトル n は次のように書ける。
n = a × b ‖ a × b ‖ {\displaystyle {\boldsymbol {n}}={\frac {{\boldsymbol {a}}\times {\boldsymbol {b}}}{\|{\boldsymbol {a}}\times {\boldsymbol {b}}\|}}}
もし回転面を表すベクトルが事前に分かっている場合は、この形式を用いる。物理学における例として、トーマスの歳差運動が挙げられる。