[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 11/18 18:27 / Filesize : 94 KB / Number-of Response : 386
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

初心者が3Dゲームを作るスレ



148 名前:名前は開発中のものです。 [2006/06/20(火) 21:54:59 ID:q3QYoQKK]
>>147
// 面と線の交点を求める
VectorMultiply( &a, &a, t);
VectorAdd( pos, &a, &begin);

// 0 = < t = < 1 以外の場合、交差していないので抜ける
if ( t < 0.0f || t > 1.0f) return false;

// 三角形内外判定
for ( int i = 0; i < 3; i++)
{
// 外積を利用して内外判定
VECTOR pn, p1, p2;
VectorSub( &p1, &v[((i+1)==3) ? 0: i+1], &v[i]);
VectorSub( &p2, pos, &v[i]);
CrossVector( &pn, &p1, &p2);

// 法線の方向判定用
pn.x = pn.x * n.x;
pn.y = pn.y * n.y;
pn.z = pn.z * n.z;

// すべての場合の法線が同一方向ならば、p は三角ポリゴン内に存在する
if ( (pn.x < -0.001) || (pn.y < -0.001) || (pn.z < -0.001)) return false;
}

// ここまで来たら交点有り
return TRUE;
}






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<94KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef