2
A
回答
2
我將解釋如何檢查(X0,Y0)位於 「下」 到(X1,Y1)和(x2,y2)的線路。本質上,你需要矢量(x0-x1,y0-y1)指向(x2-x1,y2-y1)的「右邊」。這相當於說矩陣
x0-x1 y0-y1
x2-x1 y2-y1
有一個負面的決定因素。所以你的病情變成
(x0-x1)(y2-y1) < (y0-y1)(x2-x1).
你會得到這樣一個條件限制區域的任何線。
+0
沒想着分別檢查每一行。有趣的解決方案。謝謝。 – Narek
1
讓
A = {x1, y1}
B = {x2, y2}
C = {x3, x3}
D = {x4, x4}
首先,確保點形成一個多項式和不在一條直線。這可以通過比較其中AB,AC,AD是方向矢量的direction(AB) != direction(AC) != direction(AD)
來完成。
爲了確保某個點P = {x0, y0}
位於多邊形ABCD
內,檢查sign(AC X AP) == sign(CD X CP) == sign(DB X DP) == sign(BA X BP)
就足夠了。
AC: Directional vector A -> C
AP: Directional vector A -> P
.
. so on!
.
X: Cross product
sign: sign of cross product (+ or -)
只需要比較方向的符號而不是大小。
相關問題
- 1. 檢查座標是否在區域內
- 2. 查找座標是否在區域
- 3. 如何檢查座標是否位於某個區域?
- 4. 檢查座標是否在預定義的區域內
- 5. 檢查座標點是在於某些框區域蟒蛇
- 6. 檢查所有標籤是否關閉
- 7. imagemagick檢測透明區域的座標
- 8. 檢查座標是否位於扇區內
- 9. 檢查座標路徑是否交叉
- 10. 檢查線是否在區域
- 11. 我如何檢查是否鼠標在選定區域中的MSChart
- 12. 座標在區域標記
- 13. 檢查是否字符串格式「座標/座標」
- 14. 如何檢查是否所有複選框是選中
- 15. MKMapView檢測是否有點座標POI
- 16. 使用itext從pdf獲取所選區域的座標
- 17. JCrop檢查區域選擇
- 18. 如何檢查某區域內的座標Python
- 19. 檢查元素是否位於頁面的選定區域
- 20. 檢查標記是否在當前可見區域
- 21. QT:leaveEvent - 檢查光標是否在widget的區域?
- 22. 檢查是否鼠標被點擊了在特定區域
- 23. 如何檢查所有複選框是否未經檢查
- 24. 檢查是否選中了所有複選框
- 25. 檢查是否所有複選框都被選中
- 26. 檢查條件是否所有複選框都未選中
- 27. 檢查是否選中所有複選框已被點擊
- 28. 如何檢查所有複選框是否未選中?
- 29. 如何檢查所有單選按鈕是否被選中?
- 30. 檢查是否所有單選按鈕都被選中
可能重複的[如何確定一個點是否在四邊形](http://stackoverflow.com/questions/5922027/how-to-determine-if-a-point-is-within-a-quadrilateral ) – finnw