首先:我知道我可以计算从 point
到 line
的距离,以检查该点是否在线上。这就是我检测一行上的点击(使用 offset
)所做的。
但在此之前,我想对对角线
进行全面检查。
带有起点和终点的线本身定义了一个矩形区域:
Pstart(sx, sy), Pend(ex, ey).
我可以使用边界检查来确定 Point(px, py)
是否在那个 rectangle
内:
sx <= px && ex >= px && sy <= px && ey >= py
但这仅适用于线条从左上角到右下角的情况。 如果它走向不同的方向,我必须修改算法。无论线的方向如何,我如何使用上面的公式?
如何让公式相应地遵守方向?
最佳答案
只比较Math.min(sx, ex) <= px <= Math.max(sx, ex)
同样对于 y
维度。
关于java - 如何检查点是否在对角线周围的矩形内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15617856/