Meshless Deformations Based on Shape Matchingを実装してみた

以下の論文にあるShape MatchingによるMeshless Deformable Objectを
実装してみた。


Meshless Deformations Based on Shape Matching
http://www.beosil.com/publications.html
http://www.beosil.com/download/MeshlessDeformations_SIG05.pdf


実装したものの動画はこれ


パーティクルからShape Matchingで剛体などの物理パラメータを求めて
それにあわせてパーティクルが引き寄せられる先(goal)を制約として
与えることでMesh構造のない変形表現を実現している。




ShapeMachingをおこなううえで、
Polar decomposition(極分解)をおこなう必要があるが
これの計算方法は以下に書いてある。


力学演習
http://www.jancae.org/study/04/pdf/an01.pdf


でsqrt(transpose(Apq)Apq)を求めるために行列の対角化が必要になる。
最初はQR分解のコードがすでにあるという理由で
QR法を使用していたが、


QR法による対角化
http://home.f01.itscom.net/toge/programingreport/program/clang/qr.html


3x3ぐらいの行列だとJacobi法による対角化のほうが、かなり速いようである。


Jacobi法
http://hooktail.org/computer/index.php?Jacobi%CB%A1
実対称行列の対角化
http://pc-physics.com/taikakuka.html


右の青いほうの直方体はShape MachingをしたときのGoalとなるべき
頂点の位置を求めてみた例である。
Scalingも含めてそれらしい値が求まっていると思われる。


接続情報を持たないと論文には書いてあるが、
実際にはその役割をしている部分があるようである。
こちらの資料では
http://graphics.stanford.edu/courses/cs468-05-fall/slides/maksim_deformation_matching_fall_05.pdf
いくつかのclusterにまたがっているparticleがあって、
それはclusterごとのgoalの平均値をgoalとするようである。
私のものでもそのように実装してみた。


この手法ではパーティクルごとの処理が割りと軽いのでclusterを少なめにして
運用するのがよいと思われる。
もちろんクラスターが少なければ細かい変形はしなくなるが。


少ない物理パラメータで複雑な物体の動きを近似してしまうというと、
昔FFD(Free Form Deformation)で大雑把なParticleの格子を作って
衝突判定はポリゴン単位でおこなうというものを作ったりもしてた。
http://www.ceres.dti.ne.jp/~ykuroda/oyaj/dialy/diary2000-4-30.html
接触などの取り扱いの仕方に問題があるのでそこら辺がよろしくないが。


大雑把な物理パラメータで弾性物体を表現することは
構造的にはまり込みを起こすことなどを起こしにくくし、
シミュレーションを取り扱いやすくするという効果もある。

ShapeMachingではParticleごとの計算量は小さいので
大雑把にクラスターをきれば計算量は小さくなる。
FFDでは頂点ごとの計算量が結構大きかったので
この点の効果は少し少なかったと思うが。


あと元の論文ではParticleをgoalへ引き寄せる力の成分はdtで割っている。
これは安定性を得ることができるが、
dtを変更するとそれに応じてばねの係数が変わっているような結果が出ることは
気に留めておいたほうがいいかもしれない。


右の赤いほうの直方体はついでにTight FitなOBBを求めてみたもの。
共分散行列の固有ベクトルをOBBの軸とするというもの。
PCA-basedなものに比べるとTight Fitではないらしいが
OBBを求める速度はこちらのほうが速いと思われる。


OBBTree: A Hierarchical Structure for Rapid Interference Detection
http://www.owlnet.rice.edu/~comp650/Spring01/presentations/OBB/OBBTree.ppt


Realtime Collision Detection
http://www.amazon.co.jp/Real-Time-Collision-Detection-Inteacive-Technolagy/dp/1558607323


とりあえずいろいろな知見を得ることができた。
今後に生かしたい。