回転行列

出典: 謎の百科事典もどき『エンペディア(Enpedia)』
ナビゲーションに移動 検索に移動

回転行列とは、ユークリッド空間内における原点中心の回転変換の表現行列

概要[編集]

回転行列は、幾何学物理学CGでの計算で使われる。 多くの応用では2次元か3次元を扱うが、一般の次元でも回転行列を定義可能。
構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): n 次元ベクトル構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle (x_{1}, \cdots ,x_{n})}構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): n 次元の回転行列構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle R_{n}}構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): n 次元ベクトル構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle (y_{1}, \cdots ,y_{n})} に写すことを以下のように表現する。

構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle \begin{pmatrix} y_{1}\\ \vdots\\ y_{n}\\ \end{pmatrix} = R_{n} \begin{pmatrix} x_{1}\\ \vdots\\ x_{n}\\ \end{pmatrix} }

一般の次元における性質[編集]

構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): n 次元空間における回転行列は、実数を成分とする正方行列で、行列式が1の構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): n直交行列である。
回転行列構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle R} は、以下の等式を満たす。

  • 構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle R^T=R^{-1}} (転置行列逆行列が等しい↔直交行列である)
  • 構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle \det(R)=1} (行列式が1である)

2次元[編集]

2次元の構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle \theta} ラジアンだけ回す回転行列は以下のように表せる。

構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle R(\theta)= \begin{pmatrix} \cos(\theta) & -\sin(\theta)\\ \sin(\theta) & \cos(\theta)\\ \end{pmatrix} }

これは、三角関数の加法定理によって簡単に示せる。

また、行列指数関数を用いて、

構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle R(\theta)=\exp \left( {\theta \begin{pmatrix} 0 & -1\\ 1 & 0\\ \end{pmatrix} } \right) }

と表せる。
以上の2次元の回転行列は、複素数の行列表現になっている。 例えば、行列指数関数の表現に登場する

構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle \begin{pmatrix} 0 & -1\\ 1 & 0\\ \end{pmatrix} }

虚数単位構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle i} に対応する行列である。ただし、対応付けの方法次第では構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle -i} に相当する。
複素数でもド・モアブルの定理のように回転を表現しやすいのはこの対応を考えるとわかりやすい。

3次元[編集]

3次元空間での構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle x,y,z} 軸周りに構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle \theta} ラジアンだけ回す回転行列は、それぞれの以下のように表せる。

構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle R_{x}(\theta)= \begin{pmatrix} 1 & 0 & 0 \\ 0 & \cos(\theta) & -\sin(\theta)\\ 0 & \sin(\theta) & \cos(\theta)\\ \end{pmatrix} }
構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle R_{y}(\theta)= \begin{pmatrix} \cos(\theta) & 0 & \sin(\theta)\\ 0 & 1 & 0 \\ -\sin(\theta) & 0 & \cos(\theta)\\ \end{pmatrix} }
構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle R_{z}(\theta)= \begin{pmatrix} \cos(\theta) & -\sin(\theta) & 0\\ \sin(\theta) & \cos(\theta) & 0\\ 0 & 0 & 1 \\ \end{pmatrix} }

と表せる。
また、さらにベクトル構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle \boldsymbol{n}=(n_{x},n_{y},n_{z})} で表せられる軸周りに構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle \theta} ラジアンだけ回す回転行列は、

構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle R_{x}(\theta)= \begin{pmatrix} n_{x}^2(1-\cos(\theta))+\cos(\theta) & n_{x}n_{y}(1-\cos(\theta))-n_{z}\sin(\theta) & n_{x}n_{z}(1-\cos(\theta))+n_{y}\sin(\theta) \\ n_{y}n_{x}(1-\cos(\theta))+n_{z}\sin(\theta) & n_{y}^2(1-\cos(\theta))+\cos(\theta) & n_{y}n_{z}(1-\cos(\theta))-n_{x}\sin(\theta) \\ n_{z}n_{x}(1-\cos(\theta))-n_{y}\sin(\theta) & n_{z}n_{y}(1-\cos(\theta))+n_{x}\sin(\theta) & n_{z}^2(1-\cos(\theta))+\cos(\theta) \\ \end{pmatrix} }

と表せる。これを、ロドリゲスの回転公式ロドリゲスの定理と呼ぶ。
2次元の回転行列が絶対値が1の複素数に対応したように、3次元の回転は四元数を用いても表現できる。

双曲的回転の表現行列[編集]

2次元の回転行列は単位円(構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle x^2+y^2=1} )上での回転の表現行列で、複素数が対応した。また、その行列式や複素数の絶対値は1であった。 このような一般的な"回転"に対して、双曲的回転という概念がある。 そして、構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle \theta} だけ双曲的に回す表現行列は以下のように表せる。

構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle R(\theta)= \begin{pmatrix} \cosh(\theta) & \sinh(\theta)\\ \sinh(\theta) & \cosh(\theta)\\ \end{pmatrix} }

これは、双曲線関数の加法定理によって簡単に示せる。
標準形の双曲線(構文解析に失敗 (SVG(ブラウザのプラグインで MathML を有効にすることができます): サーバー「https://ja.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle x^2-y^2=1} )上での双曲的回転の表現行列は、分解型複素数が対応する。また、その行列式や分解型複素数の絶対値は1である。 これは、「円上の回転が円関数とも呼ばれる三角関数によって表されそれに対応する行列があった、 それに対して、双曲線上の"回転"は双曲線関数によって表される行列がある」、と考えると分かりやすい。 三角関数と複素数が円について関わりがあるのに対して、双曲線関数と分解型複素数が双曲線について関わりがあるのは、 それぞれオイラーの公式とその分解型複素数版の関係のように思える。
ちなみに、双曲的回転はローレンツ変換と関連がある。

関連項目[編集]