タグ

数学に関するpomo123のブックマーク (2)

  • 当たり判定

    的な矩形の交差判定についてちょっと書いてみます。 とりあえず二つの矩形は次のようにして交差判定できます。 (Rect1.Left<=Rect2.Right)and (Rect1.Top<=Rect2.Bottom)and (Rect1.Right>=Rect2.Left)and (Rect1.Bottom>=Rect2.Top) この場合ではこれが最良だと思います。 次に、n個の場合はどうするかということを考えてみようと思います。 とりあえず、総当たりで調べてみます。 ソースコードata1.lzh(2.31kbyte) for i:=0 to num-1 do begin for j:=i+1 to num-1 do begin if (Rts[i].Rec.Left<=Rts[j].Rec.Right)and (Rts[i].Rec.Top<=Rts[j].Rec.Bottom)an

  • 交差判定_3DCG - FreeStyleWiki

    レイトレース処理での一番大事な部分、交差判定について記述します。ここではレイ(視点位置と視線ベクトルを持つ)とポリゴン(三角形)との交差判定になりますね。 単純な交差判定 三次元空間上のポリゴンをX/Y/Z軸を圧縮する形で2次元に投影してしまいます。これは、X-Y平面への投影・X-Z平面への投影・Z-Y平面への投影の3つの投影があります。一番確実なのは(誤差を少なくするのは)それぞれの面に投影した場合の面積を計算して、一番面積の大きい面に投影するとするといいです。 上図の場合は、X-Z平面に投影しています(三角形の頂点座標のうち、X/Z成分のみを取り出します)。 また、レイの方向ベクトルと面の法線ベクトルにより「直線と面の交点位置」を求めます(これは3次元空間での処理)。このときに交点が求まります。が、三角形内に内包されているかは分かりません。これを、X-Z平面に三角形を投影している場合は

  • 1