我有一个存储为两个基点的矩形列表等[[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