ロドリゲスの回転公式のソースを表示
←
ロドリゲスの回転公式
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
{{distinguish|{{ill2|オイラー–ロドリゲスのパラメータ|en|Euler–Rodrigues parameters}}|{{ill2|3次元回転のオイラー–ロドリゲス公式|en|SO(4)#The Euler–Rodrigues formula for 3D rotations}}}} {{出典の明記|date=2018-07}} {{正確性|date=2018-07}} 三次元回転における'''ロドリゲの回転公式'''({{lang-en-short|Rodrigues' rotation formula}})とは、[[空間ベクトル|ベクトル]]空間において、与えられた回転軸に対して回転を行うための効率的なアルゴリズムを指す。またこの公式は、任意の3つの[[基底 (線型代数学)|基底ベクトル]]に対する、{{Math|[[特殊直交群|SO]](3)}} 群上の[[回転行列]]を用いた変換の軸角度表現を与えている。つまり、この式は {{math|'''so'''(3)}}({{math|SO(3)}} の[[リー代数]])から {{Math|SO(3)}} への[[指数写像]]を、[[行列の指数関数]]を計算せずに与えるアルゴリズムとなっている。 == 性質 == [[画像:Right-hand grip rule.svg|100px|right]] {{Math|'''R'''{{sup|3}}}} 上の回転軸を表す[[単位ベクトル]] {{Math|'''''n''''' {{=}} {{sup|''t''}}[''n{{sub|x}}'' ''n{{sub|y}}'' ''n{{sub|z}}'']}}, [[右手の法則]]に基づく回転角度 {{mvar|θ}} に対して、ロドリゲスの回転公式は次の様に与えられる。 :<math>\begin{align} R_\boldsymbol{n} (\theta ) &= e^{\theta K(\boldsymbol{n})} \\ &= E + (\sin\theta) K(\boldsymbol{n}) + (1 - \cos\theta) K^2(\boldsymbol{n}) \\ &= \begin{bmatrix} n_x^2 \left( 1 - \cos \theta \right) + \cos \theta & n_x n_y \left( 1 - \cos \theta \right) - n_z \sin \theta & n_z n_x \left( 1 - \cos \theta \right) + n_y \sin \theta \\ n_x n_y \left( 1 - \cos \theta \right) + n_z \sin \theta & n_y^2 \left( 1 - \cos \theta \right) + \cos \theta & n_y n_z \left( 1 - \cos \theta \right) - n_x \sin \theta \\ n_z n_x \left( 1 - \cos \theta \right) - n_y \sin \theta & n_y n_z \left( 1 - \cos \theta \right) + n_x \sin \theta & n_z^2 \left( 1 - \cos \theta \right) + \cos \theta \\ \end{bmatrix} \end{align}</math> ここで {{mvar|E}} は3次[[単位行列]]であり、 :<math>\textstyle K(\boldsymbol{n}) = \begin{bmatrix} 0 & -n_z & n_y \\ n_z & 0 & -n_x \\ -n_y & n_x & 0 \end{bmatrix}</math> は {{mvar|'''''n'''''}} との外積に対応する[[交代行列]](歪対称行列、或いは反対称行列とも呼ばれる)である。 また、単位軸ベクトル {{mvar|'''n'''}} を {{Math|'''''n''''' {{=}} {{sup|''t''}}[''n''{{sub|1}} ''n''{{sub|2}} ''n''{{sub|3}}]}} と表した場合、上記の行列 {{Math|''R''{{sub|'''''n'''''}}(''θ'')}} の {{Math|(''i'', ''j'')}} 成分は[[クロネッカーのデルタ]]及び[[符号関数]]を用いて以下のように表すことも出来る。 :<math> \textstyle n_i n_j (1-\cos\theta) + \delta_{ij}\cos\theta + \{ \sgn(i-j) \} \left[ \sum_{k=1}^3\sgn \{ (i-k)(j-k) \} n_k \right] \sin\theta </math> なお、上記の添え字 {{mvar|k}} は結局、[[集合]] {{Math|{1, 2, 3} }} から集合 {{Math|{''i'', ''j''} }} を取り除いた残り1つの[[元 (数学)|元]]に当たるもののみが残るから、[[差集合]]の考え方を用いて以下のように表しても良い。 :<math> \textstyle n_i n_j (1-\cos\theta) + \delta_{ij}\cos\theta + \{ \sgn(j-i) \} (-1)^{i+j} n_{k} \sin\theta \qquad (k\in \{ 1,2,3 \} \setminus \{ i,j \}) </math> 他の表現として、回転面を表すゼロでないベクトル {{math2|'''''a''''', '''''b'''''}} に対する軸ベクトルとして[[クロス積]] {{math2|'''''a''''' × '''''b'''''}} を用いることができる。このとき、回転角 {{mvar|θ}} を {{mvar|'''a'''}} から離れた、もしくは {{mvar|'''b'''}} に向けた角として表せる。2つのベクトルがなす角を {{Mvar|α}} とすると、{{mvar|θ}} と同様の意味を {{mvar|α}} に与えることができる(ただし2つは必ずしも一致しない)。このとき、単位軸ベクトル {{mvar|'''n'''}} は次のように書ける。 :<math>\boldsymbol{n} = \frac{\boldsymbol{a} \times \boldsymbol{b}}{\| \boldsymbol{a} \times \boldsymbol{b} \|}</math> もし回転面を表すベクトルが事前に分かっている場合は、この形式を用いる。[[物理学]]における例として、トーマスの[[歳差|歳差運動]]が挙げられる。 == ベクトル表現との対応関係 == {{Math|'''R'''{{sup|3}}}} 上のベクトル {{Math|'''''r''''' {{=}} {{sup|''t''}}[''r{{sub|x}}'' ''r{{sub|y}}'' ''r{{sub|z}}'']}} を、単位ベクトル {{Math|'''''n''''' {{=}} {{sup|''t''}}[''n{{sub|x}}'' ''n{{sub|y}}'' ''n{{sub|z}}'']}} を軸に、右手の法則に基づく回転角度 {{mvar|θ}} だけ回転させた結果得られたベクトルを {{Math|'''''s''''' {{=}} {{sup|''t''}}[''s{{sub|x}}'' ''s{{sub|y}}'' ''s{{sub|z}}'']}} とすると、{{Math|'''''s'''''}} は以下のように表される<ref>『[https://w3e.kanazawa-it.ac.jp/math/physics/category/physical_math/linear_algebra/henkan-tex.cgi?target=/math/physics/category/physical_math/linear_algebra/rodrigues_rotation_formula.html ロドリゲスの回転公式]』 - KIT物理ナビゲーション([[金沢工業大学]])</ref>。 :<math> \begin{align} \boldsymbol{s} &= (\cos\theta)\boldsymbol{r} + (1-\cos\theta)(\boldsymbol{n}\cdot\boldsymbol{r})\boldsymbol{n} + (\sin\theta)(\boldsymbol{n}\times\boldsymbol{r}) \\ &= (\cos\theta)\boldsymbol{r} + (1-\cos\theta)\{ \boldsymbol{n}\times(\boldsymbol{n}\times\boldsymbol{r})+\boldsymbol{r} \} + (\sin\theta)(\boldsymbol{n}\times\boldsymbol{r}) \\ &= \boldsymbol{r} + (\sin\theta)(\boldsymbol{n}\times\boldsymbol{r}) + (1-\cos\theta)\{ \boldsymbol{n}\times(\boldsymbol{n}\times\boldsymbol{r}) \} \end{align} </math> なお、2番目の等号は[[三重積_(ベクトル解析)#ベクトル三重積|ベクトル三重積]]及び {{Math|'''''n'''''}} が単位ベクトルであることを用いた。 ここで、{{Math|'''''n''''' × '''''r'''''}} 及び {{Math|'''''n''''' × ('''''n''''' × '''''r''''')}} を[[行列要素|成分]]表示([[列ベクトル]]表示)し、[[正方行列]]と {{Math|'''''r'''''}} の積の形に変形すると、 :<math> \begin{align} \boldsymbol{n}\times\boldsymbol{r} &= \begin{bmatrix} n_y r_z - n_z r_y \\ n_z r_x - n_x r_z \\ n_x r_y - n_y r_x \end{bmatrix} \\ &= \begin{bmatrix} 0 & -n_z & n_y \\ n_z & 0 & -n_x \\ -n_y & n_x & 0 \end{bmatrix} \begin{bmatrix} r_x \\ r_y \\ r_z \end{bmatrix} \\ &= K(\boldsymbol{n})\boldsymbol{r} \end{align} </math> :<math> \begin{align} \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{align} </math> であるから、以下に示す通り、本節のベクトル表現は[[#性質|前節の行列表現]]と同等であることが分かる。 :<math> \begin{align} \boldsymbol{s} &= \boldsymbol{r} + (\sin\theta)(\boldsymbol{n}\times\boldsymbol{r}) + (1-\cos\theta)\{ \boldsymbol{n}\times(\boldsymbol{n}\times\boldsymbol{r}) \} \\ &= \boldsymbol{r} + (\sin\theta)K(\boldsymbol{n})\boldsymbol{r} + (1-\cos\theta)K^2(\boldsymbol{n})\boldsymbol{r} \\ &= \{ E + (\sin\theta)K(\boldsymbol{n}) + (1-\cos\theta)K^2(\boldsymbol{n}) \}\boldsymbol{r} \end{align} </math> == 脚注 == {{Reflist}} == 外部リンク == * {{高校数学の美しい物語|2649|ロドリゲスの回転公式(3次元の回転行列)}} {{linear-algebra-stub}} {{DEFAULTSORT:ろとりけすのかいてんこうしき}} [[Category:ユークリッド幾何学]] [[Category:方向]] [[Category:数学に関する記事]]
このページで使用されているテンプレート:
テンプレート:Distinguish
(
ソースを閲覧
)
テンプレート:Lang-en-short
(
ソースを閲覧
)
テンプレート:Linear-algebra-stub
(
ソースを閲覧
)
テンプレート:Math
(
ソースを閲覧
)
テンプレート:Math2
(
ソースを閲覧
)
テンプレート:Mvar
(
ソースを閲覧
)
テンプレート:Reflist
(
ソースを閲覧
)
テンプレート:出典の明記
(
ソースを閲覧
)
テンプレート:正確性
(
ソースを閲覧
)
テンプレート:高校数学の美しい物語
(
ソースを閲覧
)
ロドリゲスの回転公式
に戻る。
ナビゲーション メニュー
個人用ツール
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
特別ページ
ツール
リンク元
関連ページの更新状況
ページ情報