自然界は物理法則に拠っている

台風や大雪など気象予報の分野では、近年かなり精度が上がっていることを感じます。
今年の大雪の情報なども、数日後の○日頃には大雪に警戒が必要らしいということがわかり、除雪スコップの用意や対応策をある程度取ることができてとても助かりました。
(もちろん、それが空振りに終わることはありますが)

気象予報の分野で活躍しているのがスーパーコンピューターの存在です。
それらに物理演算エンジンによる複雑な計算をさせて、結果を幾つか算出し、それらを検討して予報が出されます。
複雑な計算を迅速に行うためには、コンピューターの処理能力が高くなければなりません。
性能を争う競争が行われている大きな理由の一つは、ここにあります。


物理演算エンジン(ぶつりえんざんエンジン、Physics engine)とは、質量・速度・摩擦・風といった、古典力学的な法則をシミュレーションするコンピュータのソフトウェアである。多くの場合、ミドルウェアライブラリを指す。 略して物理演算、物理エンジン、Physicsとも言う。
物理演算の基本となるのは衝突判定とダイナミックシミュレーション(動的シミュレーション。静止した一点の力のかかり方のみを見るのではなく、現実と同様に動く物体の動き全体をシミュレーションするもの)である。その他に、流体シミュレーション・モーションコントロール(スクリプト言語によって物体の動作をコントロールする機能)・COLLADAなどの外部形式のオブジェクトやシーンを読み込める機能などがついたものも多い。 長年、学術的シミュレーションや3DCGアニメ製作の現場などの専門分野でのみ使われていたが、最近では高度な物理演算エンジンを搭載したゲーム機やグラフィックカードの登場により、物理演算を利用した「リトルビッグプラネット」等のゲームソフトが人気を博すなど一般にもなじみが深いものとなっている。 また、物理演算を搭載した3DCGソフトウェアも、かつてはプロユーザーにしか手が出せなかったが、現在ではフリーのBlenderを初めとして一般人にも手が届く物がいくつも存在しているため、ゲームや映像を介して物理演算を実感するだけでなく自身で物理演算を利用した3DCGアニメーションを製作することも容易となっている。実際、BlenderやPhun等の物理演算を利用した動画が動画共有サイトに多数投稿されている。
(ウィキペディア「物理演算エンジン」項)

物理演算エンジンとは、古典力学に基づく物理法則をシミュレーションする仕組みです。
それが精細になればなるほど、また範囲を広げるほど精度が高まっていきます。

最近では、パーソナルコンピューターの性能も飛躍的に上がりましたので、個人レベルでも物理演算エンジンによるシミュレーションを行うことができるようになりました。

 

例として、Position Based Fluids Demonstration さんが公開している動画をご紹介します。

流体の動きを再現することは、これまではとても難しいことでした。
気象予報も流体の動きの予測ですね。

しかし、この動画は水槽の壁や物にあたって反射する動き、水槽から流出する水の動きがかなり自然に再現されています。

物理演算エンジンの長所は、現実的に実験を行なうととてつもなくお金がかかったり、現実的に不可能だったり、時間がかかったりするような実験が可能であるということです。

この物理演算エンジンを使って行った結果が公開されていますが、その中で興味深いものを幾つかご紹介します。

まずは、自然界の「自然の」状態が、物理の法則に則っているものであるということがよく分かる動画です。

■ munimunibekkanさんのシミュレーションより
【WebGL】木の生成 (樹木の枝は無闇矢鱈に伸びているのではないことがわかります) 
 

【WebGL】模様の生成 (動物の模様が、細胞レベルからのシミュレーションにより再現されています)

 

munimuniさんのシミュレーションより
■ 物理エンジンでネコを作った。(猫が頭を下に落ちてもくるりと回転する仕組みを再現しています)


「スイッチアプローチでのキャブダブルコーク1260」や、「シライ」などの再現もできますね。

 

最後に・・・・■千手観音の往復ビンタを検証した ←これは秀逸です。
物理演算エンジンによるシミュレーションの真骨頂ともいえるでしょう。
こういう遊び心をはいいですね。

技術の進歩により、さまざまなことが見えてきます。
ただ、何か分からない未知の領域、踏み込んではいけない領域は残してほしいものですね。
その部分は宗教が役割を果たす領域なのでしょう。



■関連ブログ記事
芸の神髄・千手観音
投稿者: kameno 日時: 2014年2月19日 09:46

コメントを送る