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