我有一個存儲爲兩個基點的矩形列表等[[5,10],[10,15]]
,我知道它們都與從一點到另一點的線相交。如何找到哪個矩形首先與一條線相交?哪個矩形線首先點擊
0
A
回答
1
線(兩點定義)具有參數方程
X = X0 + t * (X1 - X0)
Y = Y0 + t * (Y1 - Y0)
替代左或右(視線方向)的矩形邊緣座標的第一方程,頂或右座標中 - 在第二個等式,找到提供與邊緣相交的參數t
的最小值。
例如,從第一個等式得到矩形左邊緣的tl
值。查找Y
爲這個tl
從第二個方程的值,並檢查這個Y
是否在top..bottom
範圍內。
您是否有關於矩形位置和大小的其他限制/信息?矩形是否設置爲常量,並使用多行?或者線是不變的,並且有一些矩形?
+0
即將寫。請注意,如果'X1 - X0'或'Y1 - Y0'爲零或非常接近零(垂直和水平線),則需要小心。除此之外,我認爲如果矩形不重疊,那麼最靠近第一個點的角落就是贏家,但我不完全確定。雖然這些是軸對齊的矩形,但找到交點可能會更快。 – jdehesa
相關問題
- 1. 檢測哪個帆布矩形點擊
- 2. JavaScript函數首先點擊
- 3. 的UITextView不首先點擊
- 4. 如何檢測點擊了哪個矩形?
- 5. Opengl鼠標點擊矩形
- 6. 基於首先點擊不同覆蓋
- 7. 的jqGrid onCellSelect getGridParam selrow首先點擊
- 8. jQuery Tablesorter首先點擊降序
- 9. Zeroclipboard首先沒有複製點擊
- 10. 功能()不觸發首先點擊
- 11. 矩形射線交叉點
- 12. 矩陣操縱矩形點擊測試
- 13. jQuery的點擊(函數())不使用可變首先點擊
- 14. 點擊事件沒有解僱首先點擊DIV
- 15. 首先點擊隱藏,再次點擊顯示
- 16. 首先點擊ASP.NET控件不會觸發點擊事件
- 17. 在EditText中打開DatePicker首先點擊不顯示點擊
- 18. 當ThreadB Monitor.Pulse(_locker)哪個線程會首先得到_locker?
- 19. C4點擊了哪個形狀?
- 20. 哪個靜態類首先初始化?
- 21. pytest中首先執行哪個文件?
- 22. 哪個模塊首先接收數據
- 23. 哪個類首先在Python中執行?
- 24. 哪一行首先更新?
- 25. 矩形內的點 - 對角線的哪一邊?
- 26. 首先點擊某個按鈕時劃分各處
- 27. 首先點擊動畫,第二個反向動畫:如何?
- 28. 首先添加的小部件不可點擊。第二個是
- 29. NG-點擊停止工作,首先單擊
- 30. 用另一個矩形的點擊改變矩形的顏色excel vba
線條起點'x'座標與下'x'座標之間的絕對差值最小的那個。 – Kasramvd
種類,但如果線條向後或向上怎麼辦 –
這一切都取決於您首先指的是什麼以及座標系的中心是什麼,除了線條沒有方向。此外,如果兩個矩形的差別相同,例如垂直排列矩形並垂直排列,則可以檢查「y」之間的差異。 – Kasramvd