0

我将如何改变“接近”线性(在阈值内)实际上是线性的点?

我有一些代码可以检查 3 个点是否彼此线性(给予或接受),我想用 100% 内联的新坐标替换这些坐标。

        double distance = (x1 - x2) * (y1 - y3) - (y1 - y2) * (x1 - x3);

        double threshold = 4;

        if (Math.abs(distance) <= threshold) {
            // is Near line
            return true;
        }
        else
            return false;

这是我的另一篇文章的扩展......这不是转发,只是一个相关主题:

Java - 平均线性图

4

1 回答 1

0

将点捕捉到线的技术术语是将点投影到线(-段)

剩下的唯一问题是:点应该投影到线还是线段?(一条线段只在两点之间,这条线的长度是无穷大并且穿过两点)

下面的代码解决了这两个问题:为了还允许将点投影到点 A->B 之外的线的一部分,代码会简单得多,但这也包含在下面的链接中。

http://forums.codeguru.com/showthread.php?194400-Distance-between-point-and-line-segment

投影点在变量 (xx,yy) 中: (xx,yy) 是 lineSegment 上最接近 (cx,cy) 的点

于 2012-11-27T21:38:02.313 回答