暇な人間ほど何かを回したがる。例えば、ペン回し。例えばハンドスピナー。回転という動きがあるが単純な現象に、我々は強く惹かれるようである。では、ペンでもハンドスピナーでもないものを回してみよう。それは楕円である。
図形を回転させるというのは数学では難しいことのように思えるが、実際そこまで難しいことではない。ただ、ほんのりと高度な知識を要求されるだけである。
一つ目の準備として行列というものにほんの少しだけ触れておこう。行列というのは図形を引き延ばしたり反転させたりするための道具である。
図形を引き延ばす、反転させるなどの単純な変換のことを線形変換と呼ぶ。もっと厳密なことも言えるが、行列が単純な変換を一本化できる、とても便利なツールだということがわかれば十分である。
さて、行列というのは下のような見た目をしている数の集まりである。
この数の集まりがどんな物語を展開してくれるのだろうか。ここで、行列
とベクトルの積を
というふうに定義する。このように複雑に定義された積は色々と興味深い性質を満たすが、今回はあまり深入りしないことにする。
このようにベクトルと行列の積を定義したことで、さまざまな変換が一つの行列という概念のみで行える。
例えば次のような行列を考えてみよう。
これとベクトルの積を計算してみると、
が成り立つことがわかる。つまりこの行列はベクトルの成分を
倍、
成分を
倍する変換に対応していたわけだ。
また行列という行列について考える。この行列とベクトルの積を計算すると、
となって軸と
軸を入れ替えるような操作に対応していることがわかる。つまり
に対して対称に折り返すような変換である。
そして今回最も大切なのが、次のように定義される行列である。
名前から想像がつく通り、この行列こそが我々の知りたかった回転の変換を与えてくれるものである。次のような定理が成り立つ。
どんな二次元ベクトルでも長さと偏角
を用いて、
と書くことができる。これに回転行列
をかけると
これを三角関数の加法定理を用いて変形すると、となり、これは元のベクトルを原点中心に反時計まわり角度
だけ回転させたベクトルになっている
行列を用いるとベクトルの回転を容易に行えることがわかった。
二つ目の道具を用意する。これは高校数学でも勉強する、関数の平行移動の一般化となっている。
その前に、関数を少し拡張した概念を定義する。
零点集合のをうまく定めてやることで、さまざまな集合が表現できる。
任意の実数の部分集合は表現可能である。実数の部分集合に対して
を
なら
、
ならば
とすれば良い。
と定めると、零点集合は直線になる。
と定めると、零点集合は単位円になる。
と定めてやると、零点集合は
となる
このようにさまざまな集合を関数を用いて表現することができる。
さて、この零点集合に変換という操作を行う。
全単射は、一対一対応と言い換えてもらって構わない。
一対一対応しているということは、変換を元に戻すようなある変換が存在するということである。この変換のことを逆変換といい、にたいして、
と書く。
これだけではわかりにくいので変換の例を提示する。
を
と定義すると、これは変換になっている。
実際に変換になっていることを示す。全射かつ単射であることを示せばよい。
全射であるとは、行き先に漏れがないことを表すので、をとってきたときに
となる
が存在することを示せばよい。これは
ととれば達成できる。
この変換に対して像を定義する。
さて、以上で定義された概念に対して次のような定理が成り立つ。
意外にも簡単な変形によって示せる。集合の等号を示すときの常套手段として、同値変形を複数行う。
この事実は、を
軸方向に
だけずらしたときに関数が
となる事実の広範な一般化である。実際変換を
とおいて、
とおけば、そのことが容易に導ける。
以上の二つの準備により、われわれはついに楕円を回転させる資格を得た。
さて、横軸への長さ、縦軸への長さ
の楕円は半径
の円を横に
倍、縦に
倍引き伸ばせばよかった。
すなわち、軸を
倍、
軸を
倍に引き伸ばすような変換
を考えればよかった。
単位円はの零点集合と見做せたので、これに変換の原理を適用してやると、次のような式が得られる。
この標準形で表される楕円を原点に関して
だけ回転させたい。このとき、変換の原理より、
だけ内部の変数を回転させてやれば良いことがわかる。
つまり、という変換を施してやれば良いことがわかる。変数を計算すると、
を変数として取れば良いことが分かる。
これによって、回転した楕円は次のような方程式を満たすことがわかる。
パラメータをとして回転を可視化したのが以下の動画である。
上の式をデスモスに入力することで自分で色々いじることができるので、ぜひやってみるといい。
コピーするなら下から。スライドは自分で設定してください。