物理シミュレーションに関して



物理シミュレーションの手法

物理シミュレーションの種類

  • 剛体シミュレーション
    • 衝突判定(collision detection)
    • 摩擦(friction)
    • 粒状物体(granular material)
  • 変形物体シミュレーション
    • 粘弾性体(viscoelastic body)
    • 布(cloth)
    • 髪,毛(hair, fur)
    • 弾性棒(elastic rod)
    • 破壊(fracture)
    • 可展面(developable surface)
    • 筋肉(muscle)
  • 流体シミュレーション
    • 非圧縮性流体
      • 気体(煙,雲など) (gas)
      • 液体(水など) (liquid)
      • 粘性流体(viscoelastic fluid)
    • 圧縮性流体
      • 爆発(explosion)
      • 衝撃波(shock wave)
    • 乱流(turbulent flow)
    • 気泡(bubble)
    • 泡(foam)
    • 波(wave)
  • 熱(流体)シミュレーション
    • 炎(fire)
    • 氷解(ice melting)
    • 沸騰(boiling)
  • 植物シミュレーション
  • 侵食,風化シミュレーション
  • その他
    • 磁石,磁性流体

物理シミュレーションエンジン

  • SOLID - 3D衝突検出ライブラリ.
  • OPCODE - 3D衝突検出ライブラリ.
  • Processing - 画像・アニメーション・サウンドをプログラミングしたい人のためのオープンソースプログラミング言語・環境.基本的な3Dエンジンの機能にさらに画像処理,バネ-質点モデル・CA・流体(まだ最適化されてないので低速)・パーティクルシステム・QuickTime動画入力・PDF出力なども備えている.

物理シミュレーションに使えそうなソフトウェア/ライブラリ

  • Gmsh - FEM用に四面体メッシュを作ってくれるソフトウェア(SDKあり).任意形状で中が詰まった粒子群を作りたい場合などにも使えそう.
  • DualSPHysics - SPH法を用いた流れのシミュレーションライブラリ.

物理シミュレーション+3DCGのプログラム作成・結果動画出力までの流れ

  1. 3Dモデルの用意
    • 3Dファイルフォーマットの種類
    • blenderなどの3Dモデラーソフトで作成
    • フリー素材サイトからダウンロード
    • 研究用によく用いられるモデル
      • Teapot
      • Bunny
      • Dragon
      • Armadillo
      • Happy Budda
      • Lucy
  2. 3Dモデルの読み込み
  3. 3Dモデルをシミュレーション用の表現形式(ボクセル,パーティクル,陰関数など)に変換
  4. 物理シミュレーション
  5. 結果のレンダリング(OpenGL, Ray-tracing, Volume rendering etc.)
    • GLSLを使った各種レンダリングについてはGLSL参照
  6. 結果の出力
  7. シーンを設定し3Dモデルデータをレンダリング
    • POV-Rayなど
  8. 連番画像から素材動画を生成
  9. 動画を編集

リンク

  • SPlisHSPlasH SPH法のソースコード.CG分野で使われるSPH法のほとんどを網羅している(WCSPH,PCISPH,IISPH,DFSPH,PBF,PF).境界粒子や表面張力,多層流体なども扱える.
  • PositionBasedDynamics ↑と同じグループによるPBDのソースコード.弾性体,剛体,流体(PBF),ロッドなど様々なPBDの実装が含まれる.
  • Fluid Engine Dev - Jet 「Fluid Engine Development」というCG,ゲーム向けの流体シミュレーションの本のソースコード.粒子法(SPH,PCISPH),格子法(レベルセット法(FMM含む))の他に,PIC,FLIP,APICといった両者のハイブリッド手法のコードも含まれる.

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2024-03-08 (金) 18:06:06