幾何学的代数勉強会#9 実施報告(Tutorial: Geometric Computing in Computer Graphics using Conformal Geometric Algebra)
Series: 幾何学的代数勉強会
- 幾何学的代数勉強会#10 実施報告(GAのPythonプログラミング)
- 幾何学的代数勉強会#9 実施報告(Tutorial: Geometric Computing in Computer Graphics using Conformal Geometric Algebra)
- 幾何学的代数勉強会#8 実施報告(8章 共形空間と共形幾何学−幾何学的代数:後編)
- 幾何学的代数勉強会#7 実施報告(8章 共形空間と共形幾何学−幾何学的代数:中編)
- 幾何学的代数勉強会#6 実施報告(8章 共形空間と共形幾何学−幾何学的代数:前編)
- 幾何学的代数勉強会#5 実施報告(7章 同次空間とグラスマン−ケイリー代数:後編)
- 幾何学的代数勉強会#4 実施報告(7章 同次空間とグラスマン−ケイリー代数:前編)
- 幾何学的代数勉強会#3 実施報告(6章 幾何学積とクリフォード代数)
- 幾何学的代数勉強会#2 実施報告(5章 グラスマンと外積代数)
- 幾何学的代数勉強会#1 実施報告(特許、GAViewerの使い方)
今回のテーマは「Tutorial: Geometric Computing in Computer Graphics using Conformal Geometric Algebra, Dietmar Hildenbrand」です。基礎を終えて応用の範囲へ飛び出していきます。ロボットアームの例と、点群から平面・球面を求める例が出てきます。
勉強会の内容
- Application1(ロボットアームの先端の位置を決めて、各関節の角度を求める)とApplication2(点群を与えられて、それにもっとも合致する点・平面・球を求める)の例があげられている。
- 議論1: Application 1 におけるジョイント \(P_0, P_1, P_2\) は同一平面内で回転するか。
- ジョイントの種類が明示されていないが平面内で動作する前提で議論が展開されているようにみえる。可動範囲の指定もない。
- ジョイントがこれ以上増えて自由度が増えた場合はどうするか?
- 何らかの評価関数を置くのでは?実際のロボットアームはもっと自由度が高いものがありそう。
- Step1,2は始点と終点を定める。Step3で途中のジョイントの位置を定めていく。
- 議論2: 点対から点を取り出す(dissectする)方法
- 参考文献8 Geometric Algebra and its Application to Computer Graphics. Tutorial notes of the EUROGRAPHICS conference 2004 in Grenoble. 9.2節 Example: Dissecting a Point Pair (リンク先ページ上部の小さなPDFマークからPDFへリンクあり)
- その場では式を追い切れなかったため内容はスキップ。
- 議論3: Application2 式(56) \(\min (s^TBs)\) の最小化の計算過程がわからない。
- ラグランジュの未定乗数法を使用している。
- 議論4: 現在メンテされているGAのライブラリはないのか?
- CLUCalc リンク切れが多く、2015年辺りで更新が止まっている。
- GAViewer 更新されていない
- sympy (Python) にGAが含まれている
- clifford (Python)
- Mathematica
- Gaalop
- Gaigen
- 後日談:Pythonライブラリについて
動画
次回
次回はPythonを使って実際にプログラミングしてみます。