Algorithm‎ > ‎

MPRTest (JP)

[English | Japanese]
[2013-07-20] GitHubに移行しました.

Gary Snethen 氏による Minkowski Portal Refinement (MPR) アルゴリズムのデモプログラムです。

                                             最終更新:2009年12月26日
                                                   公開開始:2008年11月16日


  


ダウンロード

MPRTest-200901226.7z

変更履歴

  • 2009-12-26
    • 連絡先を新しいものに更新
    • Experimental: メソッド 'MPRAlgorithm.get_contact()' 追加. このメソッドの戻り値・'ContactInfo' は衝突のおおよその位置、接触法線と形状間の貫通距離を保持するクラス.
  • 2009-06-14
    • Application.rb : 新形状 `MPRAlgorithm::Triangle' 追加
    • Shape.rb (Triangle): 追加
    • Draw.rb (self.triangle):追加
  • 2008-11-24
    • Shape.rb (Cylinder,Cone,Sphere): 追加
  • 2008-11-16
    • リリース

動作要件


使用方法


X:\> ruby Application.rb


または

X:\> ruby -rubygems Application.rb


  • 交差判定 (MPRAlgorithm::intersect())  が true となる場合に、2つの箱が半透明で描画されます。

操作

 または Esc プログラムの終了
 Space オブジェクトの設定をリセット
 WASD 赤いオブジェクトの移動
 Z 赤いオブジェクトの形状変更
 IJKL 青いオブジェクトの移動
 M 青いオブジェクトの形状変更
 マウスでの L/R 視点の移動

参考文献

注意

このデモでは現在交差判定のみを実装していますが、MPRアルゴリズム自体は接触情報(※接触法線など)も計算することが可能です。
詳細はGems7を参照してください。

クレジット

  • LT140 (http://sites.google.com/site/ltsevenscore/)

ライセンス

ソースコードは zlib/libpng ライセンスの条件下で利用可能です。
Comments