判断两条线段是否相交
生活随笔
收集整理的這篇文章主要介紹了
判断两条线段是否相交
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
如上圖,判斷線段AB和線段CD相交。
分析:如果線段AB和線段CD相交,只能是圖中的兩種相交情況。可以用向量叉乘來判斷。如果(向量AB叉乘向量AC)*(向量AB叉乘向量AD)<= 0 并且(向量CD叉乘向量CA)*(向量CD叉乘向量CB)<= 0,那么說明線段AB與線段CD相交。
設A(X1,Y1), B(X2, Y2), C(X3, Y3), D(X4, Y4),三角形ABC的面積為:2A =??= X1*Y2 + X3*Y1 + X2*Y3 - X3*Y2 - X1*Y3 - X2*Y1。
如果A>0,有向面積為正,ABC為逆時針排列;否則,ABC為順時針排列。
應用:NYOJ 1016 ?http://acm.nyist.net/JudgeOnline/problem.php?pid=1016
德萊聯盟
時間限制:1000?ms ?|? 內存限制:65535?KB 難度:1 描述歡迎來到德萊聯盟。。。。
德萊文。。。
德萊文在逃跑,卡茲克在追。。。。
我們知道德萊文的起點和終點坐標,我們也知道卡茲克的起點和中點坐標,問:卡茲克有可能和德萊文相遇嗎?,并且保證他們走的都是直線。
輸入每組數據 8個實數,分別表示德萊文的起點和終點坐標,以及卡茲克的起點和終點坐標
總結
以上是生活随笔為你收集整理的判断两条线段是否相交的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 你以为熬个3年工作经验就是Java高级开
- 下一篇: 欧拉函数和最大公约数的组合应用