IPSJ情報処理カタログ #ジョーショリ

用語集

シミュレーション

しみゅれーしょんSimulation

概 要

現実と同じ動きをするモデルを作って、さまざまな挙動を確認すること。たとえば、物理現象をシミュレーションする「物理シミュレーション」を使うと、物体の衝突、粒子の拡散などを確認できる。

解 説

3Dグラフィックを扱うソフトウェアには、物理シミュレーション機能をもつものもあります。こうした物理シミュレーションは、「物理演算エンジン」とも呼ばれます。

物理シミュレーションを使うには、3次元の物体に対して、「重さ」「重心」「材質」などを設定します。すると、物体が物理法則通りに動くようになります。空中に置けば重力で落下し、床に当たれば床で跳ね返ります。ゴムのような材質を設定すれば、何度かバウンドします。

物理で学習する運動量保存則などを使って計算するのが基本。
しかし実際には摩擦もある。さらに、ビリヤードの球の中央ではなく「上」を叩けばバックスピンがかかるし、「左」や「右」を叩けばカーブもする。物理エンジンでは、こうした細かい計算も行う。

物理シミュレーション機能を使えば、「ビリヤード」や「ボーリング」のようなゲームが簡単に作れます。

物理シミュレーションのメリットは、開発者(プログラマー)が、ひとつひとつの動きを計算して作る必要がないことです。設定した物体は物理法則の通りに自動で動き、物体同士が衝突すれば、「衝突した」という通知(「イベント」と言います)が発生するので、そのときに、どんな処理をしたいかというプログラムを記述するだけで済みます。

スマホなどでは「傾けると画面上のボールが動いて、穴に落とすゲーム」などがありますが、こうしたゲームは、物理シミュレーション機能を使って作られており、比較的簡単に作れます。

物理シミュレーションはゲームに限らず、実務でも役立ちます。シミュレーションでは、実際にモノを動かさずにあれこれと試行できます。たとえば車のメーカーは車体の形状によって空気抵抗がどのぐらい変わるのかをシミュレートして、形状の決定に役立てていますし、衝突のときの衝撃も、実際にぶつけてテストする前にシミョレーションで確認しています。

研究分野では、粒子の物理的な解析をすることで、たとえば水しぶきの仕組みを解明するなど、物理現象の仕組みをひもとくのにも役立っています。

実現できること

  • ・ビリヤードやボーリングなどのゲーム
  • ・モノを壊さない試行錯誤
  • ・自然現象の解明
  • ・予報・予測

将来の展開

ゲームで使う程度なら、計算処理にさほど時間がかかりませんが、正確かつ大量なシミュレーションには、とても時間がかかります

とくに粒子など、とても細かく数が多いものをシミュレーションするのは、ふつうのコンピュータでは不可能です。スーパーコンピュータなど、処理能力が高いコンピュータを使います。処理能力が上がれば、より細かくシミュレーションできます。

シミュレーションして法則がわかれば、将来予測にも役立ちます。実際、天気予報は現在の気象情報から「次にどのような状況になるのか」を計算した結果ですし、地震予測も同様です。

コンピュータの性能が向上すれば、こうした予報の精度も向上します。

補 足

物理シミュレーションにも、レンダリングと同じく、その処理計算にGPUを使うほうが高速に処理できます。

PAGE TOP