51nod 1264判斷線段相交

2021-07-10 19:30:16 字數 370 閱讀 9146

三角形的有向面積:a.x*b.y+b.x*c.y+c.x*a.y - a.x*c.y - c.x*b.y - b.x*a.y;

上面得到的即是以點a,b,c三點組成的三角形面積的兩倍。

如果area >0 則點a,b,c呈逆時針排列。

如果area<0  則點a,b,c呈順時針排列。

如果area=0  則點a,b,c三點共線。

那麼判斷線段1(兩個端點point a,b),與線段二是否相交(兩個端點point c,d) 只要求 a,b,c與a,b,d的有向面積乘積是否小於0 ,並且c,d,a與c,d,b的有向面積是否小於0即可。

只有兩線段相交,有向面積才會是乙個為正乙個為負。畫一下圖就知道了。

端點相交時乘積等於0。

51nod 1264 線段相交

題目 給出平面上兩條線段的兩個端點,判斷這兩條線段是否相交 有乙個公共點或有部分重合認為相交 如果相交,輸出 yes 否則輸出 no 這道題直接套白書裡面的模板就行 但是要注意的是因為白書給的那個模板不包含端點。所以我們這裡需要進行修改一下。包含了端點,所以自然點積就為0了。include incl...

51nod1264 線段相交

數學渣渣看了一下午各種找公式才明白 下面寫一下理解 判斷兩個線段相交與否。可以看成直線是否與線段相交 根據高數所學,向量的叉乘積,可以利用右手法則來判斷結果的方向。那麼如果兩種情況的方向乙個上,乙個下,那麼自然也就是不在直線的同側,那麼就滿足條件了。是有需要注意x,y用double型別,否則乘法會有...

51Nod 1264 線段相交

1264 線段相交 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 給出平面上兩條線段的兩個端點,判斷這兩條線段是否相交 有乙個公共點或有部分重合認為相交 如果相交,輸出 yes 否則輸出 no input 第1行 乙個數t,表示輸入的測試數量 1 t 1000 第2 t...