うさぎでもわかる線形代数 第14羽 回転変換(回転行列)・対称変換
同様に \( \vec \) は \( \theta = 90^ \) なので、\( \theta \) 回転させた \( f ( \vec ) \) は、\[ \beginf( \vec ) & = \left( \begin \cos (\theta + 90^) \\ \sin (\theta +90^) \end \right)\\ & = \left( \begin - \sin \theta \\ \cos \theta \end \right)\end \]となります*1。
よって2次元の回転変換を表す \( f \) の表現行列 \( R( \theta ) \) は、\[R(\theta) = \left( f ( \vec ), f ( \vec ) \right) = \left( \begin \cos \theta & - \sin \theta \\ \sin \theta & \cos \theta \end \right)\]となります。
回転変換を表す行列(2次元回転行列)2次元ベクトル空間において、ある点を原点中心の反時計回りに \( \theta \) 移す線形変換の表現行列(回転行列)\( R(\theta) \) は、\[R(\theta) = \left( \begin \cos \theta & - \sin \theta \\ \sin \theta & \cos \theta \end \right)\]となる。
回転行列は直交行列 となっています。
回転行列を用いることで、元の座標を \( (x,y) \) 、原点中心に \( \theta \) 回転させた座標を \( (x',y') \) とすると、\[\begin\left( \begin x' \\ y' \end \right) & = \left( \begin \cos \theta & - \sin \theta \\ \sin \theta & \cos \theta \end \right) \left( \begin x \\ y \end \right)\\ & = \left( \begin x \cos \theta - y \sin \theta \\ x \sin \theta + y \cos \theta \end \right)\end \]と表すことができます。
2.回転変換(3次元回転行列)
しかし、3次元の場合は回転する軸(\( x \) 軸回り、\( y \) 軸回り、\( z \) 軸回りの3つ)によって合計3パターンの回転行列が存在します。
いずれの3パターンの場合でも表現行列を求める際には、3次元標準基底\[\vec = \left( \begin 1 \\ 0 \\ 0 \end \right) , \ \ \\vec = \left( \begin 0 \\ 1 \\ 0 \end \right) , \ \ \\vec = \left( \begin 0 \\ 0 \\ 1 \end \right)\]の行き先を考えればOKです。
(1) x軸回りの回転まずは \( x \) 軸回りの回転変換 \( f \) の表現行列 \( R_x( \theta ) \) を求めてみましょう。
\( x \) 軸回りの回転なので \( x \) 軸方向の単位ベクトルを表す \( \vec \) は 変換の前後で向きが変化しません ね。なので、\[f ( \vec ) = \left( \begin 1 \\ 0 \\ 0 \end \right)\]となります。
残りの \( \vec \), \( \vec \) はそのまま考えるのは少しむずかしいので、 \( x \) の正の方向からみた \( yz \) 座標平面を書いて変換の前後でどのようにベクトルが変わるのかを考える ことをおすすめします*2。
上のように図示すると、2次元の場合と同じような要領で\[f ( \vec ) = \left( \begin 0 \\ \cos \theta \\ \sin \theta \end \right) \\f ( \vec ) = \left( \begin 0 \\ - \sin \theta \\ \cos x \end \right)\]を求めることができます。
よって、 \( x \) 軸回りに \( \theta \) 回転する変換 \( f \) の表現行列 \( R_x( \theta) \) は、\[ \beginR_x( \theta) & = \left( f ( \vec ), f ( \vec ) , f( \vec \right)\\ & = \left( \begin 1 & 0 & 0 \\ 0 & \cos \theta & - \sin \theta \\ 0 & \sin \theta & \cos \theta \end \right)\end \]と求められます。
(2) y軸回りの回転\( y \) 軸回りの回転変換 \( f \) の表現行列 \( R_y( \theta ) \) も(1)と同様に求められます。
\( y \) 軸回りの回転なので \( y \) 軸方向の単位ベクトルを表す \( \vec \) は変換の前後で向きが変化しませんね。なので、\[f ( \vec ) = \left( \begin 0 \\ 1 \\ 0 \end \right)\]となります。
残り2つのベクトルは(1)と同じように \( y \) の正の方向から見た \( zx \) 平面を書く ことで動きがわかりやすくなります。
※\( z \), \( x \) の順番に注意してください。
よって、残りの2つのベクトルも\[f ( \vec ) = \left( \begin \cos \theta \\ 0 \\ - \sin \theta \end \right) \ \ \f ( \vec ) = \left( \begin\sin \theta \\ 0 \\ \cos \theta \end \right)\]と求められます。
よって、 \( y \) 軸回りに \( \theta \) 回転する変換 \( f \) の表現行列 \( R_y( \theta) \) は、\[ \beginR_y( \theta) & = \left( f ( \vec ), f ( \vec ) , f( \vec \right)\\ & = \left( \begin \cos \theta & 0 & \sin \theta \\ 0 & 1 & 0 \\ - \sin \theta & 0 & \cos \theta \end \right)\end \]と求められます。
(3) z軸回りの回転\( z \) 軸回りの回転変換 \( f \) の表現行列 \( R_z( \theta ) \) も(1)と同様に求められます。
\( z \) 軸回りの回転なので \( z \) 軸方向の単位ベクトルを表す \( \vec \) は変化なし、よって\[f ( \vec ) = \left( \begin 0 \\ 0 \\ 1 \end \right)\]となります。
残り2つのベクトルも(1),(2)と同じように \( x \) の正の方向から見た \( xy \) 平面を書く とすぐわかります。
残りの2つのベクトルは\[f ( \vec ) = \left( \begin \cos \theta \\ \sin \theta \\ 0 \end \right) \ \ \f ( \vec ) = \left( \begin - \sin \theta \\ \cos \theta \\ 0 \end \right)\]と求められます。
よって、 \( z \) 軸回りに \( \theta \) 回転する変換 \( f \) の表現行列 \( R_z( \theta) \) は、\[ \beginR_z( \theta) & = \left( f ( \vec ), f ( \vec ) , f( \vec \right)\\ & = \left( \begin \cos \theta & - \sin \theta & 0 \\ \sin \theta & \cos \theta & 0 \\ 0 & 0 & 1 \end \right)\end \]と求められます。
3次元回転変換を表す行列(3次元回転行列)3次元ベクトル空間において、ある点をそれぞれの軸まわりの反時計回りに \( \theta \) 移す線形変換の表現行列(回転行列) \( R_x \), \( R_y \), \( R_z \) は、
\( x \) 軸回りの回転を表す回転行列 \( R_x \) \[R_x (\theta) = \left( \begin 1 & 0 & 0 \\ 0 & \cos \theta & - \sin \theta \\ 0 & \sin \theta & \cos \theta \end \right)\]
\( y \) 軸回りの回転を表す回転行列 \( R_x \) \[R_y (\theta) = \left( \begin \cos \theta & 0 & \sin \theta \\ 0 & 1 & 0 \\ - \sin \theta & 0 & \cos \theta \end \right)\]
\( z \) 軸回りの回転を表す回転行列 \( R_z \) \[R_z (\theta) = \left( \begin \cos \theta & - \sin \theta & 0 \\ \sin \theta & \cos \theta & 0 \\ 0 & 0 & 1 \end \right)\]
(4) ロドリゲスの回転公式(おまけ)任意の軸回りの回転変換 \( f \) を表す表現行列を参考までに紹介しておきます。
任意の軸 \[\vec = \left( n_x , n_y , x_z \right)\]回りの回転を表す回転行列は、
\[R_n (\theta )= \beginn_^ \left( 1- \cos\theta \right) + \cos \theta & n_n_ \left( 1- \cos\theta \right) - n_ \sin \theta & n_n_ \left( 1- \cos \theta \right) + n_ \sin \theta \\n_n_ \left( 1- \cos\theta \right) + n_ \sin\theta & n_^ \left( 1- \cos\theta \right) +\cos \theta & n_n_ \left( 1- \cos\theta \right) - n_ \sin \theta \\n_n_ \left( 1- \cos\theta \right) - n_\sin\theta & n_n_ \left( 1- \cos\theta \right) + n_\sin\theta & n_^\left( 1- \cos\theta \right) + \cos \theta \\\end\]
3.対称変換
原点を通るような直線 \( l \ : \ y = ax \) に関する対称移動を表す線形変換 \( f \) の表現行列を考えてみましょう。
直線 \( l \) の傾き \( a \) は、\( x \) 軸と \( l \) のなす角 \( \theta \) を用いて、\[a = \tan \theta\]と表すことができます。つまり、\[y = ( \tan \theta )x\]に関する対称移動を求めればいいことになります。
今まで通り2次元標準基底\[\vec = \left( \begin 1 \\ 0 \end \right) , \ \ \\vec = \left( \begin 0 \\ 1 \end \right)\]の行き先を考えることで表現行列を求めていきます。
\( \vec \) 、\( \vec \) を対称移動させた様子を図示すると、下のようになります。
[修正] \( \beta = \alpha - 2 \theta\) と書かれている部分は、正しくは \( \beta = \alpha - \theta \) です。
\( \vec \) から \( f( \vec ) \) への変換は比較的わかりやすいと思います。\[f( \vec ) = \left( \begin \cos 2 \theta \\ \sin 2 \theta \end \right)\]となります。
\( \vec \) から \( \vec \) への変換が少しわかりにくいかもしれません。
図のように \( \alpha \), \( \beta \) を取ると、\( \vec \) から \( f( \vec ) \) に変換する際に \( 2 \alpha \) 時計回りに回転していることがわかると思います。
\( 0^ \) 以降の回転している部分を \( \beta \) とすると、\( \alpha = 90^ - \theta \) なので、\[\begin\beta & = \alpha - \theta\\ & = (90^ - \theta) - \theta\\ & = 90^ - 2 \theta\end\]と計算できます。
時計回りに \( \beta \) 回転しているということは、反時計回りには \( - \beta \) 回転しているので、\( \vec \) は、\[ \beginf( \vec ) & = \left( \begin \cos (2 \theta - 90^) \\ \sin (2 \theta - 90^) \end \right)\\ & = \left( \begin \sin 2 \theta \\ - \cos 2 \theta \end \right)\end \]と求められます*3。
よって直線 \( l \ y = ( \tan \theta ) x \) に関する対称移動を表す線形変換 \( f \) の表現行列 \( S( \theta ) \) は、\[S(\theta) = \left( f ( \vec ), f ( \vec ) \right) = \left( \begin \cos 2 \theta & \sin 2 \theta \\ \sin 2 \theta & - \cos 2 \theta \end \right)\]となります。
ある直線に関する対称変換(対称変換行列)2次元ベクトル空間において、ある点を直線 \( l \ y = ( \tan \theta ) x \) に関する対称移動する線形変換の表現行列(対称変換行列)\( S(\theta) \) は、\[S(\theta) = \left( \begin \cos 2 \theta & \sin 2 \theta \\ \sin 2 \theta & - \cos 2 \theta \end \right)\]となる。
対称変換行列も回転行列と同様に直交行列 となります。
対称変換行列を用いることで、元の座標を \( (x,y) \) 、直線 \( l \ y = ( \tan \theta ) x \) に関する対称移動後の座標を \( (x',y') \) とすると、\[\begin\left( \begin x' \\ y' \end \right) & = \left( \begin \cos 2 \theta & \sin 2 \theta \\ \sin 2 \theta & - \cos 2 \theta \end \right) \left( \begin x \\ y \end \right)\\ & = \left( \begin x \cos 2 \theta + y \sin 2 \theta \\ x \sin 2 \theta - y \cos 2 \theta \end \right)\end \]と表すことができます。
4.練習問題
練習1(1) \( x \) 軸に関する対称移動(2) \( y \) 軸に関する対称移動(3) 原点に関する対称移動(4) \( y = x \) に関する対称移動(5) \( y = -x \) に関する対称移動
練習22次元ベクトル空間上における点A (6,4) を(1),(2)の方法で移動させた点の座標を求めなさい。
(1) 原点中心に \( 30^ \) 回転させた点Bの座標(2) 直線 \( y = 2x \) について対称移動させた点Cの座標
5.練習問題の答え
解答1(1) \( x \) 軸に関する対称移動
\( \theta = 0^ \) のときの直線 \( y = ( \tan \theta ) x \) に関する対称移動と同じ。
なので、\[S(\theta) = \left( \begin \cos 0^ & \sin 0^ \\ \sin 0^ & - \cos 0^ \end \right) = \left( \begin 1 & 0 \\ 0 & -1 \end \right)\]となる。
(2) \( y \) 軸に関する対称移動
\( \theta = 90^ \) のときの直線 \( y = ( \tan \theta ) x \) に関する対称移動と同じ。
(3) 原点に関する対称移動
原点に関する対称移動は、\( x \) 軸に関する対称移動 → \( y \) 軸に関する対称移動の2つの操作で実現できる。
よって、原点に関する対称変換行列は \( y \) 軸に関する対称移動と \( x \) 軸に関する対称移動の積で求められる*4。
よって、\[\left( \begin -1 & 0 \\ 0 & 1 \end \right) \left( \begin 1 & 0 \\ 0 & -1 \end \right) = \left( \begin -1 & 0 \\ 0 & -1 \end \right)\]と求められる。
原点に関する対称移動は、原点中心に \( 180^ \) 回転させた移動と同じ。
(4) \( y = x \) に関する対称移動
\( \theta = 45^ \) のときの直線 \( y = ( \tan \theta ) x \) に関する対称移動と同じ。
(5) \( y = -x \) に関する対称移動
\( \theta = -45^ \) のときの直線 \( y = ( \tan \theta ) x \) に関する対称移動と同じ。
解答2よって座標 \( B \) は、\[\left( \begin \frac < \sqrt> & - \frac \\ \frac & \frac < \sqrt> \end \right) \left( \begin 6 \\ 4 \end \right) = \left( \begin 3 \sqrt - 2 \\ 2 \sqrt + 3 \end \right)\]となる。
よって座標Cは、\[\frac \left( \begin -3 & 4 \\ 4 & 3 \end \right) \left( \begin 6 \\ 4 \end \right)= \frac \left( \begin -2 \\ 36 \end \right)\]となる。
6.さいごに
ちなみに、2次の直交行列は、回転を表す行列\[R(\theta) = \left( \begin \cos \theta & - \sin \theta \\ \sin \theta & \cos \theta \end \right)\]もしくは、対称変換を表す行列 \[S( \theta / 2) = \left( \begin \cos \theta & \sin \theta \\ \sin \theta & - \cos \theta \end \right)\](\( 2 \theta \to \theta \) に変えている)
*1 : わからなければ加法定理かなんかでバラしてゴリ押ししましょう。\[ \cos (\theta + 90^) = \cos \theta \cos 90^ - \sin \theta \sin 90^ = - \sin \theta\\ \sin (\theta + 90^) = \sin \theta \cos 90^ + \sin 90^ \cos \theta = \cos \theta\]
*2 : \( x \) 軸回りの回転では、 \( x \) 軸方向の成分が変化しないため、\( x \) 軸を考える必要はない。
*3 : わからなければ加法定理かなんかでバラしてゴリ押ししましょう。\[ \cos (2\theta - 90^) = \cos 2 \theta \cos 90^ + \sin 2 \theta \sin 90^ = \sin 2 \theta\\ \sin (2 \theta - 90^) = \sin 2 \theta \cos 90^ - \sin 90^ \cos 2 \theta = - \cos 2 \theta\]
*4 : 計算順序に要注意(今回の場合はどちらの操作を先にやっても答えが変わらないため、計算順序によって答えがわからないが、基本的に操作順序を間違えると答えが変わる)。 後に行う操作が左側、先に行う操作が右側 になる。
*5 : ここの計算は \( \tan \frac = t \) と置き換える積分を解くときに \( \cos x \), \( \sin x \) を \( t \) で置き換えるために必要な変形と一緒。詳しくはこちらから。
公開日: 2019年8月27日 更新日: 2022年12月30日 この記事を書いた人 コメント一覧 コメントはありません。 関連記事 うさぎでもわかる微分方程式 Part05 2階線形微分方程式の基礎(解の構造・ロンスキアン) うさぎでもわかる線形代数 第07羽 基底をジュースで考えよう!+基底の交換 確率統計分野で頻出な確率分布 離散型確率分布編 うさぎでもわかるアルゴリズム 動的計画法 【基本情報対策】うさぎでもわかるソフトウェア工学 Part09 モジュール分割とモジュール独立度(強度、結合度) うさぎでもわかる計算機システム Part03 固定小数点・浮動小数点 基本情報対策 うさぎでもわかるセキュリティ 前編 うさぎでもわかる解析(高校数学・数3) Part05 部分分数分解を用いた積分 うさぎでもわかるオートマトンと言語理論 第01羽 決定性オートマトン(DFA)とは うさぎでもわかるオートマトンと言語理論 第02羽 非決定性オートマトン(NFA)の書き方・決定性オートマトン(DFA)への変換カテゴリー
各種便利ツール・問い合わせ- 【完全無料】離散数学演習ツール・計算機まとめ
- 【ハッセ図】上界/下界・最大元/最小元・極大元/極小元・上限(最小上界)/下限(最大下界) 判定ツール
- 【ハッセ図】述語論理(∀・∃)真偽判定ツール
- 【離散数学】べき集合 2^A・P(A) 自動計算&全列挙ツール
- 【離散数学】真理値表 自動作成ツール(途中式あり)
- 【離散数学】集合の「∈・⊆」真偽チェッカー(答え合わせ用)
- 【離散数学テスト対策】真理値表の穴埋めガチ演習ツール
- 【離散数学テスト対策】集合の「∈・⊆」ガチ演習! 弱点分析つき○×ドリル
目次
工業大学生ももやまのうさぎ塾 (Momousagi Academy)