プロが教える店舗&オフィスのセキュリティ対策術

点(a,b)、点(c、d)を結ぶ直線Xと
点(e,f)、点(g、h)を結ぶ直線Yがある場合

この2直線が交差するかどうか判定するには
どういう公式に当てはめればいいのか、教えてください。

なお、直線X,Yは平行の場合もあります。

A 回答 (3件)

ベクトル(c - a, d - b)


とベクトル(g - e, h - f)
とを考えて、一方が他方の実数倍であれば2直線は平行。
そうでなければ2直線は交わる。

この回答への補足

失礼しました。直線ではなく線分の間違いでした。
ご回答ありがとうございます。

補足日時:2013/07/05 23:51
    • good
    • 1

傾きじゃなく、方向ベクトルを使えば簡明なんだけどね。



しかし、それ以前に、末行を見ると、どうやら
直線と線分がゴッチャになっているような気配が…

この回答への補足

おっしゃるとおり、ゴチャになっておりました。

正確には、線分が交わるかどうかを知りたいのです。

なにぶん不慣れなもので。。。ご指摘ありがとうございます。

補足日時:2013/07/05 23:50
    • good
    • 0

交差する = 2本の直線の傾きが異なる



よって、2本の直線の傾きを求め、それらが同じかどうかを
判定すればよいです。
ただし、特殊なケースとして、直線がy軸と平行である場合を
考慮する必要があるかもしれません。傾きを求める際、分母が0になってしまうからです。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング