× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 |
GameProgrammingGems
空間内の三角形同士の衝突判定 1.一方の三角形が載っている平面の式を求める ax + by + cz + d = 0 (a,b,c)は平面の法線。(a,b,c)を求めたら、平面上の一点(x0,y0,z0)を式に代入して d を求める 2.もう一方の三角形がその平面と衝突しているか調べる 2点A(x0,y0,z0),B(x1,y1,z1)があるとき、媒介変数tを用いて a(x0*t + x1(1-t)) + b(y0*t + y1(1-t)) + c(z0*t + z1(1-t)) + d = 0 となり、これを解いて 0<= t <= 1なら衝突している 3.三角形を平面に投影する 4.三角形の頂点が、もう一方の三角形の内部にあるかどうか調べる 三角形の1辺に対して、頂点が重心と同じ側にあれば内側。これが3辺全部にあてはまれば内部にあることになる 両方の三角形について行う 一つでも当てはまる頂点があれば、衝突している PR |
|