タグ

プログラミングと当たり判定に関するedo_m18のブックマーク (2)

  • その13 OBBとOBBの衝突

    ホーム<ゲームつくろー!<衝突判定編< OBBとOBBの衝突 3D衝突編 その13 OBBとOBBの衝突 衝突の丸の1つ「OBBとOBB」の衝突です。大きさの違うお互いに3次元的に回転した直方体が衝突しているかどうかを調べるというのはやはり簡単ではありませんが、これができると多種多様な方面で役に立ちます。OBB同士の衝突として主流なのは「分離軸判定」と呼ばれる方法でして、ここでもそれについて見ていきます。ちょっと深呼吸してご覧下さい(^-^; ① 「分離軸」判定とは? OBBの衝突には「分離軸」という物が登場します。これがいったい何なのか?まずは下の図をご覧下さい。 上のOBBは明らかに衝突していません。この時、両方のOBBを分ける直線が「絶対に」存在します。この直線は、ちょっと小難しい言葉で言うと分離超平面(Separating hyperplane)と呼ばれています。直線なのに平面と

  • 第55回 平面上における三角形の内側か外側かを外積で調べる | gihyo.jp

    お題は、xy平面の三角形について考える。すると、xy平面上のベクトルの外積は、角度が必ずxy平面と垂直つまりz軸と平行になる。つぎにその方向は、ふたつのベクトルが時計回りの位置にあれば、右ネジの向きであるz軸の正方向だ。逆に、xy平面上のふたつのベクトルAとBの外積A×Bがz軸正方向だったとすると、ベクトルAの右側にBがある。 そこで、三角形の3辺を時計回りの向きのベクトルと考えよう。調べる座標が三角形の内側にある場合、1辺のベクトルとその始点からその座標へのベクトルとの外積を求める(図2⁠)⁠。3辺のベクトルすべてについて、調べる座標のベクトルが右側にあれば、すなわちその座標は三角形の内側になる。 図2 外積で2次元平面上の座標が三角形の内側にあるかどうかを調べる では早速、ふたつのベクトルを与えて、右ネジの位置にあるかどうか調べる関数(xIsRight())を定めよう。ベクトルはxy平

    第55回 平面上における三角形の内側か外側かを外積で調べる | gihyo.jp
  • 1