A Note

^_^


"fluid simulation" で検索して見つけた動画。考えてみたらシミュレーションというのはすごい。そういうときYoutubeに聞けば動画を見せてくれる。いい時代だ。この動画の投稿者が書いている説明、"私がNVIDIAにいたときに、GPUだけ使って動作するナヴィエ-ストークス方程式を用いたfluid solverを書きました"  僕も自分で部品買ってきてPC組んでNVIDIAビデオカード差したのでuserの一人だけど、それはともかくsimulatorをsolverとも書けるのはきっと、ここではナヴィエストークスequationをsolveすることがすなわちsimulatorの役割だからつまりsolverなんだろうか。

流体力学について、流体のシミュレーションについて生まれたての赤ん坊よりも何も知らない。これはどんな仕組みでやってるんだろう。bloodとあってこれは血をイメージした液体なんだろう。血というよりも赤いペンキにみえるけど、いずれにしてもたしかに水より粘性があるように見えている。今思い出したのが、PS3が出てくる前の技術デモの段階で、お風呂遊び用の黄色いアヒルをバスタブに浮かべてその挙動を見せるというものがあったと思う。数十匹のアヒルちゃんをリアルタイムでポチャポチャできるほどパワフルなPS3をアピールした。たしかにあれを見たとき次世代機はすげえぞと思わされた覚えがある。こんな水の挙動とか計算できんのかよ?

これは液体のように見えるけど限り無く細かい粒々に要素を分割した上で、その一粒ずつの挙動を計算しているということだろうか。しかしだとしたら、これだけ滑らかにまさに液体のように見えるためには、この水槽の中にいくつの赤い粒々が入っているということになるのか。数万個では足りないような気がする。でもある程度でかい粒でもその隙間に無条件に赤いのを充填して滑らかに見せるという約束みたいのを使えばかなりでかい粒でもいいのだろうか。

equationをsolveすることがsimulationなのだとしたら無限に長い時間をかければ、手で紙に書いて人力で計算してもこのシミュレーションができるのだろうか。もしここでコンピューターの計算力と人間の計算力との間にある違いが、ただ計算が速いか遅いかだけなら、限りなく長い時間というものを仮定すれば人間にもこのシミュレーションができるということになる。それとも人間にできなくてコンピューターにできる計算というものがあるのか。

この人は他にも布の挙動のシミュレーションとかいろんな動画を持ってる。全部自分で関わったものだろうか。面白い。