Geometric algebra を勉強して思ったこと
単なる感想。
とっかかり
3 次元の幾何学、特にカメラ幾何を勉強すると、射影幾何がベースに使われてることがわかる。射影幾何の実装は単純で、ベクトルと行列の計算だけであり、ユークリッド空間の点に翻訳するときに無限遠の扱いに注意するだけ。
ただ、 3D 射影幾何(射影空間)では、直線が表現できず、結局交差判定などはそれ用に計算された式を成分に分解して行ったりして、うまみはあまり感じられない。
そこで、 geometric algebra に目を向けると、なんか線とか面とか球面とか、自由自在に扱ってるっぽいので、なんかすごいものらしいことは感じ取れる。私がおすすめの本の第一章が以下のサイトで読める。
入門書を読んでみる
Geometric algebra の入門的な本は結構たくさんある(ただしすべて英語)。ただ、いまいちどれもうーんと思うものばかりだった。というのも、
- ウェッジ積を導入して、面素ですよー、とか
- ジオメトリック積はウェッジ積とドット積の和ですよ、とか、
- いきなり 5D 空間を考えて、conformal とか言い出して、増やした謎の2つの基底についてごにょごにょ言い始めたり、
- 本によって記法が全然違ったり、
と、期待してた幾何学となんか違う気がして、不安が募る。そして、それをいったいどうやって実装するか、全然わからない。結局、すでにあげた私のおすすめ本に落ち着く。この本は、導入する幾何を明確にしながら話を展開するので不安にならないし、不思議な定義を導入するときも必ずモチベーションを説明してくれるので、不満も残らない。それから、実装に関するパートがあるので、必要なら読めばいい。
事前に分かっていると安心すること
- GA の計算は外積代数の上で行われる
- GA とは、外積代数の元に幾何学的解釈を与えるもの
- そして、代数上での計算が幾何学的操作としての意味合いを持つ
- 外積代数上の元の幾何学的解釈は、一通りではない
- 本によって、表現しているものが違うのは(ベースは同じなんだけど)、扱ってる対象が違うから
- たぶん、最も標準的なのは、 3D GA で原点を通る図形の幾何、射影幾何のように一次元上げた 4D GA で任意の直線や面を扱えるようになる幾何、 conformal GA とよばれる 5D GA で球面も扱えるようになる幾何、の3つなんだろう(お勧めの本で主に扱ってるのがこれら)。
- 現在も研究中なものに、 conic まで扱えるようにしたものなど、次元を上げて扱う対象を変えたものがある。
- 計算自体は外積代数なので線形代数の拡張で実装できる
- が、基底の数が 2n あるので、工夫しないとまともに計算できない
- geometric product は、理論上では大事だけど、入門としてはどうでもいい。
この辺を事前に明確にわかっていれば、あまり遠回りをしなかった気がする。
で、とりあえずサブゴールは conformal geometry
特に computer vision への応用では conformal geometric algebra しか使われてないので、これがなんなのかわかれば問題ない。一度理解した人にしか意味無いまとめだと思うが、以下が要点。
そして
今のところ、 2D conic まで言及している文献しか見たことないので、はやく 3D conic まで扱える GA をまとめる人が出てこないかなぁ、と。これが、なかなか使える幾何だったら結構便利だと思うのだが。
- Geometric Algebra with Applications in Engineering | Christian Perwass | Springer の 4.4, 4.5 が conic に関するもの *1
*1:つーか、 Springer のオンライン版が、章立てでナンバリングされてないので扱いづらい。 Chap. 4 は Geometries というタイトル。