粒子法的な剛体運動の計算の話から、計算力学屋とCG屋の話まで

最初は、純粋に粒子法的に剛体運動をどうやって扱うか・・・みたいな話だったのに、いつの間にか計算力学とコンピューターグラフィックスがそれぞれ対象にする「物理計算」の違いにまでなった話
科学 計算力学 CG 物理計算 シミュレーション GPGPU GPU
6770view 1コメント
このまとめをお気に入りにして応援しよう!
0
藤本直明/FUJIMOTO Naoaki @naokiring
@kamonama おお、これは楽しみです。これって、座標軸まわしてるんじゃ無くて、何か力を加えてるって事なんでしょうか?
Masayuki Takagi @kamonama
@naokiring 回っているのは、単に初期条件で角運動量を与えてそのまま等速回転してるだけですー。粒子ベースで剛体シミュレーションというのがあったので実装してみようと思ってるんですが、時間をとれずになかなか進まず;
青子守歌 @aokomoriuta
@kamonama @naokiring 剛体衝突を粒子ベースでやるなら、各粒子で接触判定&質点系とみなして剛体全体の運動量ほかを計算してやればそんなに難しくないんじゃないでしょうか。流体ほかとの連成となるとちょっと面倒ですが。
藤本直明/FUJIMOTO Naoaki @naokiring
@aokomoriuta @kamonama 衝突判定が真なときに粒子にどれだけの力を加えるのか、っていうのと、質点に加わった力を、どのように剛体全体に伝搬させるのか、というのが疑問点ですねー。力や速度が大きくなったときに破綻しない方法(可変時間刻み幅)も必要なんでしょうか?
青子守歌 @aokomoriuta
@naokiring @kamonama 1つの粒子に加わる力は、例えば完全弾性衝突として運動量=力積から算出する方法があったはずです。力の伝搬(?)は、普通に質点系的な考え方でいいんじゃないですか? [lab]
藤本直明/FUJIMOTO Naoaki @naokiring
@aokomoriuta なるほどー、ちょっと考えてみます!、剛体の質点同士をどういうポテンシャルで結ぶのか、とかが、イマイチイメージわかないんですよね。振動しちゃう気がして…。
Masayuki Takagi @kamonama
@aokomoriuta @naokiring 剛体+その中の質点の集まりで考えます。粒子は衝突検出と衝突応答の計算に使って、衝突応答で求まった力を、剛体のその点に加わった力として、剛体の位置や回転を更新します。
藤本直明/FUJIMOTO Naoaki @naokiring
@kamonama @aokomoriuta なるほど、剛体は完全な剛体(ゆがんだり、ばらばらになったりしない)として扱ってるんですね。
Masayuki Takagi @kamonama
@aokomoriuta @naokiring剛体の位置と回転からまた粒子を再配置するので、バラバラにはならないです!
Masayuki Takagi @kamonama
@aokomoriuta @naokiring 最初論文を見たときには、なるほどなーと。
Masayuki Takagi @kamonama
@aokomoriuta @naokiring あと、流体との連成は、実はやりやすくて、流体のシミュレーションにも粒子法を使えば、流体と剛体を統一の系で扱うことができるんですよ
Masayuki Takagi @kamonama
@aokomoriuta @naokiring ただ、厳密な数値解析ではなく物理ベースCGの方面での手法なので、精度を追求したアプローチではないと思います
藤本直明/FUJIMOTO Naoaki @naokiring
@kamonama それは確かに粒子法の魅力ですねー>流体と剛体を同じように扱える。今回の剛体シミュも粒子法の一部として使えるってことでしょうか?
Masayuki Takagi @kamonama
@naokiring 固液連成させてる論文があるので、粒子法の一部として使えるようです
青子守歌 @aokomoriuta
@kamonama その「流体として計算して、後に剛体となるように位置を修正する」って方法、よく使われてるの論文でみますけど、エネルギー保存則的に重大な欠陥があるのであんまり使わない方がいいと思います。 [lab]
青子守歌 @aokomoriuta
「それっぽく見せる」というだけなら、別にDEMで十分だったりすること多いよなぁ・・・。パラメーターの調整が面倒だけど。 [lab]
青子守歌 @aokomoriuta
「それっぽい」って非常に粗くて、人間って多少変な風に見せられても脳内で勝手に補間するし、別にきちんと数値計算する必要は全然ない。時間差分にルンゲクッタ使わずにただの風下差分で十分だったり。 [lab]
青子守歌 @aokomoriuta
そういうのって、「物理空間を計算してる」んじゃなくて、「現実世界っぽく見える何かを作ってる」って感じがする。 [lab]
青子守歌 @aokomoriuta
「それっぽく見せたい」って言う人たちは、誤差とか変動とかどうでもよくて、例えば、計算上振動してるものを無理やり振動してないように見せることも可能なわけだし、「えー、そんな事したらまずいでしょ」ってことも平気でやってる論文を多々見かける。 [lab]
青子守歌 @aokomoriuta
自分らは(究極目標として)現実世界のエミュレートを目指しているんだけど、「きれいにそれっぽく見せる」って人たちは、(不完全な)シミュレートで満足してるというか、むしろ現実っぽく見せるためには数値的におかしいことをわざとやったりしてる感じ。 [lab]
青子守歌 @aokomoriuta
目標が違うから別にどっちが良い悪いって話じゃないけど、やっぱりそういうのは、見ててすごく気持ち悪いっていうのが正直な感想だなー。 [lab]
Masayuki Takagi @kamonama
@aokomoriuta そうですよね。CGの方っていかに計算量を減らすかという方向になりがちなので、論文でも保存則の検証とかあまりされない。
Kei-Kei@たまにいる @Kei_Kei
@aokomoriuta 「それっぽい」は評価が難しくて悩むことが多々。
青子守歌 @aokomoriuta
@Kei_Kei 100人に見せて80人が「それっぽい!」って思ったらいいんじゃないですかねー。 [lab]
残りを読む(43)

コメント

青子守歌 @aokomoriuta 2010年1月24日
とりあえず作ってはみたものの、なんだか順番がぐちゃっとしてる気がする・・・。抜けてる発言などあったら追加or修正してくださいな!
ログインして広告を非表示にする
ログインして広告を非表示にする