はじめに
鏡映変換を2回行うことで回転変換は実現できるという記事で2つの鏡映変換から回転を生み出したわけですが、
この逆はできるんかとちょっと気になったので考えてみました。
(本記事は参考リンクの続編的な記事です。)
導出(※一意には定まらないことに注意してください)
回転軸 、回転角 から
2つの鏡映変換を表す、原点を通る平面の法線ベクトル を求めるというのが今回やりたいことです。
です。
幾何的に考えてみます。
先に を求めてみます。
は を法線とする原点を通る平面上のベクトルです。(なので、 は一意には定まりません。)
最終的にはプログラムに落とし込むことも考えてアルゴリズムを書きます。
の時、 より、以下が成り立ちます。
式 を について解きます。
に適当な値を代入します。 とすると、 は以下のようになります。
が定まりましたが、正規化されていないので、正規化します。
これで が求まりました。 以外の場合は、上記の方法を参考に対応してください。
次に を求めます。
を法線とする平面のなす角は です。
また、以下が成り立ちます。
とおいて、式 をまとめると、以下のようになります。
また、以下も成り立ちます。 とおきます。
式 で式が4つであり、求める変数 は3つであるので求まります。
(多分理論だけで終わらせるので、こんな書き方にしてしまいました。
式 から式を2つ採用し、それと式 を合わせて、連立方程式を逆行列を使って解けば求まると思います。)
が求まったら、正規化します。
以上より、 より、 が求まりました。
最後に
これプログラムで確認したほうがいいよなー。
確認したら、また書き込みます。
間違っていたら、連絡ください。