Java - 平均线性图

标签 java range coordinates average

我有一段代码检查给定的 3 个坐标是否相互线性(如果是,则返回 true)。但是有没有办法让代码给出或获取一些像素/绘图?

private boolean collinear(double x1, double y1, double x2, double y2, double x3, double y3) {
    return (y1 - y2) * (x1 - x3) == (y1 - y3) * (x1 - x2);
}

你看,坐标必须完全内联才能注册为线性。我怎样才能让它看起来在某种“范围”内,以便它检查一个值,然后用新值设置坐标?

---- 已添加----

我正在尝试查看这 3 个点是否构成一条直线,但我希望它在阈值内进行检查(因为有些点可能会稍微偏离)。一旦 Java 发现这些点实际上是线性的(给予或接受),我希望它用 Java 检查的值替换 x1、x2、x3、y1 等。

最佳答案

使用 Hesse 范式,您可以计算点到直线的垂直距离。因此,当距离小于阈值时,它们就足够近了。

这样的代码叫做distanceFromLine() Java 内置了这个

   Line2D line = new Line2D.Double(x0, y0, x1, y1);

    double distance = line.ptLineDist(px, py);

    if (Math.abs(distance) < threshold) {
              // is Near line
    }

关于Java - 平均线性图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13591837/

相关文章:

opencv - 边缘检测后获取边缘坐标(Canny)

macros - 根据 x 坐标值重命名 ImageJ 中的 ROI 以创建序列

java - 如何用mock代替方法调用?

python - 将范围与 for/in 一起使用

Solr 查询值是否与多个间隔之一匹配

javascript - 在 JS 中重置 HTML 范围输入不会移动显示的 slider

c# - 查找离给定位置最近的城市

java - 系统.getProperty ("some stuff")

java - 无法单击 WebElement

java - 如何在java中使用正则表达式来匹配一个词