1

首先:我知道我可以计算从 apoint到 a的距离line来检查该点是否在线。这就是我为检测offset一行上的点击(带有 )所做的。

但在此之前,我想对diagonal line. 带有起点和终点的线本身定义了一个矩形区域:

Pstart(sx, sy), Pend(ex, ey).

我可以使用边界检查来确定是否在Point(px, py)里面rectangle

sx <= px && ex >= px && sy <= px && ey >= py

但这仅适用于线条从左上角到右下角的情况。如果它走向不同的方向,我必须修改算法。无论线方向如何,我如何使用上面的公式?

我怎样才能得到公式来相应地尊重方向?

4

2 回答 2

3

只需比较Math.min(sx, ex) <= px <= Math.max(sx, ex)尺寸y即可。

于 2013-03-25T14:50:16.210 回答
0

Line2D.ptSegDist(x1, y1, x2, y2, xP, yP) returns 0.0 iff the point (xP, yP) is on the line segment from (x1, y1) to (x2, y2). Line2D.ptLineDist does the same thing for the infinite line.

于 2013-03-25T14:52:05.483 回答