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

用語集

シミュレーション

しみゅれーしょんSimulation

概 要

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

解 説

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

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

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

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

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

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

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

研究分野では、粒子の物理的な解析にシミュレーションを活用することで、水しぶきの仕組みを解明するなど、物理現象の仕組みをひもとくことにも役立っています。

実現できること

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

将来の展開

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

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

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

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

補 足

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

PAGE TOP