タグ

collisionに関するJ138のブックマーク (2)

  • X-LABO: 斜面への衝突判定と反射1

    この記事のURL http://www.dango-itimi.com/blog/archives/2005/000830.html ついにねんがんの物体斜面衝突反射判定方法をてにいれたぞ! 左図のような真っ直ぐな面にボールがぶつかった時の衝突判定と反射方法は簡単に実現可能です。 しかし右図のような斜面にボールがぶつかった場合の衝突判定と反射方法はどのようにしたら求めることができるのかなあと以前から悩んでおり、自分の中の課題の一つとなっていました。 今回三日ほど山に篭って頭を沸騰させた結果、なんとか実現方法への解を導き出せたので以下にその手順を記します。 成果物はこちら。 黒い点はドラッグ&ドロップして移動することが可能です。斜面にぶつかったボールが等角に反射できている事が確認できると思います。 まずは図による考え方から記します。 我流で考えた方法故、途中とても無駄な処理がある恐れがありま

  • 衝突判定のアルゴリズム

    2 つの図形の衝突判定 (コリジョン判定) のアルゴリズムをまとめます。 図が用意できておらず見難いですが、ご勘弁を。 太字はベクトルを表します。 線分と三角形 線分を p+tl、 三角形を (1-u-v)q0+uq1+vq2 で表します (t, u, v は媒介変数)。 Tomas Moller のアルゴリズム を Cramer の公式で解きます。 0.0≦t≦1.0, 0.0≦u, 0.0≦v, u+v≦1.0 なら交差と判定します。 半直線と三角形 線分と三角形の場合と同様の計算を行います。 0.0≦t, 0.0≦u, 0.0≦v, u+v≦1.0 なら交差と判定します。 点と球 点と球の中心の距離の 2 乗を求めて、 その長さが球の半径の 2 乗以下なら交差と判定します。 線分と球 線分の始点から終点へのベクトルを v、 線分の始点から球の中心へのベクトルを c とします。 v・c

    衝突判定のアルゴリズム
  • 1