ホーム<ゲームつくろー!<衝突判定編 2D衝突編 その10 線分と線分の衝突 2Dの線分と線分の交点を求める問題は色々な局面で出てきます。直線同士と違い、線分は端が切れていますのでその分の処理が必要になりますが、最終的なアルゴリズムは極めてすっきりです。 ① 線分同士の衝突判定 線分の表現は2つの端点、もしくは始点とベクトルで表すのが普通です。より具体的な情報を持っているのは始点とベクトルの表現なので、ここでもそれを使います。 始点をS、終点に向けたベクトルをvとします。この時2つの線分を引き伸ばした直線は交差するか並行かのどちらかです。平行の判定は簡単で、2つの線分の方向ベクトルv1とv2の外積を取って0になったら平行です。平行でない場合は交点が1つ定まります。2直線の交点は次のように考えます: S1から交点へ伸ばしたベクトル(v1')はベクトルvとt2・v2の合成ベクトルです。つまりV