平面上の2点間の距離を保つ1次変換は,ある点の周りの回転と,ある直線に関する対称移動(鏡映)に限られる。
これは線形代数の教科書に載っているようなことだが,原点を通るどんな直線に関する鏡映変換も,適当な回転変換と x 軸もしくは y 軸に関する鏡映変換との合成で表すことができる。
そのことを理解するには移そうと思っている点の偏角の変化を分解すればよい。
原点と異なる点 P を,原点を通り x 軸とのなす角がθであるような直線 L に関して対称移動すると,点 P の偏角(線分 OP が x 軸の正の部分となす角)α は,
α+2(θ-α)=2θ-α
へと変化する。
偏角の変化が最終的にこうなるような回転と鏡映の組み合わせは,最も簡単なもので次のようなものがある。
まず x 軸に関して対称移動すると移った点の偏角は -α になる。さらに 2θ だけ原点を中心に回転すれば,偏角は -α+2θ=2θ-α になる。
原点を中心とする角 θ だけの回転を Rot(θ),原点を通る角θだけ傾いた直線に関する折り返し(鏡映)を Ref(θ) と書くことにすると,x 軸に関する折り返しは Ref(0) と表せるため,上で述べたことは
Ref(θ)=Rot(2θ)Ref(0)
という等式が成り立つこととなる。
あるいは,
-(α-2θ)=2θ-α
であることに注意すると,原点を中心に -2θ 回転してから x 軸に関して折り返してもよいこと,すなわち等式
Ref(θ)=Ref(0)Rot(-2θ)
が成り立つことがわかる。この関係式を利用すると,同じ直線に関する鏡映を2回繰り返すと元に戻ることが次のようにしてわかる:
Ref(θ)Ref(θ)=Rot(2θ)Ref(0)Ref(0)Rot(-2θ)=Rot(2θ)Rot(-2θ)=Rot(0).
ここで,回転変換の合成について Rot(α)Rot(β)=Rot(α+β) が成り立つことと,Ref(0)Ref(0) が恒等変換になることを用いた。得られた結果の Rot(0) も恒等変換であるから,同じ直線に関する鏡映を2回繰り返すと元に戻ることがわかった。
2本の直線に関する折り返しを続けて行うとどうなるであろうか。それは先ほどと同じように考えればすぐにわかる。
Ref(α)Ref(β)=Rot(2α)Ref(0)Ref(0)Rot(-2β)=Rot(2(α-β))
となり,これは角 2(α-β) の回転を一回行うことに相当する。
【補足】僕が以前自分で考えた分解は,まず -θ 回転して直線を x 軸に一致させてから x 軸に関して折り返し,+θ 回転して戻すといったものであった:
Ref(θ)=Rot(θ)Ref(0)Rot(-θ).
これはいわば
前世に戻って (Rot(-θ))
問題を修正してから (Ref(0))
現世に戻る (Rot(θ))
といったタイプの合成である。それが線形代数のテキストを見るとたった二つの変換の合成で表されていたので大いに驚いた。
後付けになるが,Ref(0)Rot(-θ)=Rot(θ)Ref(0) という交換法則を用いれば,
Rot(θ)Ref(0)Rot(-θ)=Rot(θ)Rot(θ)Ref(0)=Rot(2θ)Ref(0)
のように,3つの変換から2つの変換に減らせたのである。【補足終】
このように,鏡映変換を合成するとどうやら回転変換という別の種類の変換になってしまうようである。このことは,合成という演算について閉じている回転変換とは著しく異なる特徴である。ただしそう断定するためには,一般に回転変換を鏡映変換で表せないことを示す必要がある。それにはどうしたらよいだろうか。実は,すでに用いた Ref(0)Ref(0)=Rot(0) という関係式がここで役に立つ。
背理法で示そう。
もし Ref(0)=Rot(θ) を満たす実数θが存在したとすると,Ref(0)Ref(0)=Rot(2θ) が Rot(0) に等しいことから,2θ は整数 n を用いて 2θ=2nπと表せなければならない。つまりθはπの整数倍である。したがって Rot(θ) は Rot(0) もしくは Rot(π) のいずれかに等しいことになるが,このいずれであっても点 (1,1) は (1,1) もしくは (-1,-1) のいずれかにしか移らず,x 軸に関して折り返した点 (1,-1) には一致しない。これは矛盾である。■
実は x 軸に関する折り返しが回転変換では表せないことは回転変換の行列表示を見ればただちに了解されることであるが,わざわざもってまわった証明を述べてしまった。事のついでに,複素数を利用した証明も紹介しておこう。
x 軸を複素数平面の実軸だと思えば,x 軸に関する折り返しは複素共役を取る操作に対応する。また,原点を中心とする回転は,絶対値が 1 であるような複素数を掛ける操作に対応する。ここでは複素数 z の複素共役を [z] と表すことにする。
もし,ある複素数 w で,どんな複素数 z に対しても [z]=wz を満たすようなものがあったとすると,z として特に [w] を選べば
[[w]]=w[w]
が成り立つことになる。左辺は w に等しく,右辺は w の絶対値の 2 乗に等しいが,つまり実数 1 に等しい。したがって w=1 となるが,これをもともとの式に代入すると任意の複素数 z に対して [z]=z が成り立つこととなり,例えば z を虚数単位の i とすれば -i=i となって i≠0 に矛盾する。■
一般に鏡映変換を回転変換のみで表すことは不可能であることはわかったが,だからといって,逆に回転変換を鏡映変換のみで表すことができないとは結論できない。むしろ事実は逆である。実際,
Ref(θ)=Rot(2θ)Ref(0)
であったから,Ref(0)Ref(0) が恒等変換であることを用いると
Ref(θ)Ref(0)=Rot(2θ)Ref(0)Ref(0)=Rot(2θ)
となり,このことから原点を中心とする角 α の回転が Ref(α/2)Ref(0) という二種類の折り返しの合成で表せることがわかる。
最後に,今回明らかになった事実をまとめておく。
最近,空間における剛体の運動をきちんと勉強したいと思っている。剛体は伸びも縮みもしないので,剛体が受け付ける変換は等長変換のみである。空間における等長変換が平行移動と回転・鏡映の三種類しかないのかどうか調べていないが,おそらく物理的に受け付けられるのは平行移動と回転のみであり,鏡映は拒絶されるだろうという予想を立てている。このあたりの事情は幾何学の入門書で取り上げられていそうな気がするが,できれば自分の頭できちんと定式化して考えたいものである。上にとんがっている三角コーンがある時刻で急に上下が逆転して逆さまになったら,エネルギー保存則やらなんやらに思いっきり反することになるだろうことは想像に難くない。回転変換と鏡映変換との間に横たわる,上で述べたような本質的な差異が関係あるのか,それとも関係ないのか。気になるところである。
これは線形代数の教科書に載っているようなことだが,原点を通るどんな直線に関する鏡映変換も,適当な回転変換と x 軸もしくは y 軸に関する鏡映変換との合成で表すことができる。
そのことを理解するには移そうと思っている点の偏角の変化を分解すればよい。
原点と異なる点 P を,原点を通り x 軸とのなす角がθであるような直線 L に関して対称移動すると,点 P の偏角(線分 OP が x 軸の正の部分となす角)α は,
α+2(θ-α)=2θ-α
へと変化する。
偏角の変化が最終的にこうなるような回転と鏡映の組み合わせは,最も簡単なもので次のようなものがある。
まず x 軸に関して対称移動すると移った点の偏角は -α になる。さらに 2θ だけ原点を中心に回転すれば,偏角は -α+2θ=2θ-α になる。
原点を中心とする角 θ だけの回転を Rot(θ),原点を通る角θだけ傾いた直線に関する折り返し(鏡映)を Ref(θ) と書くことにすると,x 軸に関する折り返しは Ref(0) と表せるため,上で述べたことは
Ref(θ)=Rot(2θ)Ref(0)
という等式が成り立つこととなる。
あるいは,
-(α-2θ)=2θ-α
であることに注意すると,原点を中心に -2θ 回転してから x 軸に関して折り返してもよいこと,すなわち等式
Ref(θ)=Ref(0)Rot(-2θ)
が成り立つことがわかる。この関係式を利用すると,同じ直線に関する鏡映を2回繰り返すと元に戻ることが次のようにしてわかる:
Ref(θ)Ref(θ)=Rot(2θ)Ref(0)Ref(0)Rot(-2θ)=Rot(2θ)Rot(-2θ)=Rot(0).
ここで,回転変換の合成について Rot(α)Rot(β)=Rot(α+β) が成り立つことと,Ref(0)Ref(0) が恒等変換になることを用いた。得られた結果の Rot(0) も恒等変換であるから,同じ直線に関する鏡映を2回繰り返すと元に戻ることがわかった。
2本の直線に関する折り返しを続けて行うとどうなるであろうか。それは先ほどと同じように考えればすぐにわかる。
Ref(α)Ref(β)=Rot(2α)Ref(0)Ref(0)Rot(-2β)=Rot(2(α-β))
となり,これは角 2(α-β) の回転を一回行うことに相当する。
【補足】僕が以前自分で考えた分解は,まず -θ 回転して直線を x 軸に一致させてから x 軸に関して折り返し,+θ 回転して戻すといったものであった:
Ref(θ)=Rot(θ)Ref(0)Rot(-θ).
これはいわば
前世に戻って (Rot(-θ))
問題を修正してから (Ref(0))
現世に戻る (Rot(θ))
といったタイプの合成である。それが線形代数のテキストを見るとたった二つの変換の合成で表されていたので大いに驚いた。
後付けになるが,Ref(0)Rot(-θ)=Rot(θ)Ref(0) という交換法則を用いれば,
Rot(θ)Ref(0)Rot(-θ)=Rot(θ)Rot(θ)Ref(0)=Rot(2θ)Ref(0)
のように,3つの変換から2つの変換に減らせたのである。【補足終】
このように,鏡映変換を合成するとどうやら回転変換という別の種類の変換になってしまうようである。このことは,合成という演算について閉じている回転変換とは著しく異なる特徴である。ただしそう断定するためには,一般に回転変換を鏡映変換で表せないことを示す必要がある。それにはどうしたらよいだろうか。実は,すでに用いた Ref(0)Ref(0)=Rot(0) という関係式がここで役に立つ。
背理法で示そう。
もし Ref(0)=Rot(θ) を満たす実数θが存在したとすると,Ref(0)Ref(0)=Rot(2θ) が Rot(0) に等しいことから,2θ は整数 n を用いて 2θ=2nπと表せなければならない。つまりθはπの整数倍である。したがって Rot(θ) は Rot(0) もしくは Rot(π) のいずれかに等しいことになるが,このいずれであっても点 (1,1) は (1,1) もしくは (-1,-1) のいずれかにしか移らず,x 軸に関して折り返した点 (1,-1) には一致しない。これは矛盾である。■
実は x 軸に関する折り返しが回転変換では表せないことは回転変換の行列表示を見ればただちに了解されることであるが,わざわざもってまわった証明を述べてしまった。事のついでに,複素数を利用した証明も紹介しておこう。
x 軸を複素数平面の実軸だと思えば,x 軸に関する折り返しは複素共役を取る操作に対応する。また,原点を中心とする回転は,絶対値が 1 であるような複素数を掛ける操作に対応する。ここでは複素数 z の複素共役を [z] と表すことにする。
もし,ある複素数 w で,どんな複素数 z に対しても [z]=wz を満たすようなものがあったとすると,z として特に [w] を選べば
[[w]]=w[w]
が成り立つことになる。左辺は w に等しく,右辺は w の絶対値の 2 乗に等しいが,つまり実数 1 に等しい。したがって w=1 となるが,これをもともとの式に代入すると任意の複素数 z に対して [z]=z が成り立つこととなり,例えば z を虚数単位の i とすれば -i=i となって i≠0 に矛盾する。■
一般に鏡映変換を回転変換のみで表すことは不可能であることはわかったが,だからといって,逆に回転変換を鏡映変換のみで表すことができないとは結論できない。むしろ事実は逆である。実際,
Ref(θ)=Rot(2θ)Ref(0)
であったから,Ref(0)Ref(0) が恒等変換であることを用いると
Ref(θ)Ref(0)=Rot(2θ)Ref(0)Ref(0)=Rot(2θ)
となり,このことから原点を中心とする角 α の回転が Ref(α/2)Ref(0) という二種類の折り返しの合成で表せることがわかる。
最後に,今回明らかになった事実をまとめておく。
平面において原点を中心とする回転変換と原点を通る直線に関する鏡映変換について,
・鏡映変換を複数の回転変換の合成として表すことは一般にできないが,
・任意の回転変換は二つの鏡映変換の合成で表すことができる。
最近,空間における剛体の運動をきちんと勉強したいと思っている。剛体は伸びも縮みもしないので,剛体が受け付ける変換は等長変換のみである。空間における等長変換が平行移動と回転・鏡映の三種類しかないのかどうか調べていないが,おそらく物理的に受け付けられるのは平行移動と回転のみであり,鏡映は拒絶されるだろうという予想を立てている。このあたりの事情は幾何学の入門書で取り上げられていそうな気がするが,できれば自分の頭できちんと定式化して考えたいものである。上にとんがっている三角コーンがある時刻で急に上下が逆転して逆さまになったら,エネルギー保存則やらなんやらに思いっきり反することになるだろうことは想像に難くない。回転変換と鏡映変換との間に横たわる,上で述べたような本質的な差異が関係あるのか,それとも関係ないのか。気になるところである。