Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-平均线性图_Java_Range_Coordinates_Average - Fatal编程技术网

Java-平均线性图

Java-平均线性图,java,range,coordinates,average,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个坐标是否彼此线性(如果是,则返回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发现事实上这些点是线性的(给定或获取),我希望它随后替换x1、x2、x3、y1等。。。根据Java所检查的值。

使用黑森范式,您可以计算点到线的垂直距离。因此,当距离小于树堡时,它们足够近

这种代码称为
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
    }
Line2D line=新的Line2D.Double(x0,y0,x1,y1);
双倍距离=直线距离(px,py);
if(数学绝对值(距离)<阈值){
//快到线了
}

您是在寻找符合特定公式的公差,还是只是一般的“关闭”

如果你只是在寻找一个大致的“接近”,那么只需检查一些有用的范围内的差异,而不是相等。e、 g

return Math.abs((x1-x2)*(y1-y3)-(y1-y2)*(x1-x3))<tolerance;

return Math.abs((x1-x2)*(y1-y3)-(y1-y2)*(x1-x3))这很接近,但我仍然需要检查我的三个点(这三个点是否一起构成一条线性线)。我将如何处理这种情况?感谢spoint1=x0,y0;点2=(x1,y1);点3(px,py)如上所示;您必须将treshold设置为一个可行的值,只有您知道该值将“import java.awt.geom.Line2D”添加到文件头I do“import java.awt.geom.Line2D;”O_O?好的,谢谢,那么我如何将x1、x2 ect实际更改为100%内联的值(基于它们已经存在的值(因此它基本上会将它们对齐)我试图看看这3个点是否构成一条线性线,但我希望它在一个阈值内进行检查(因为有些点可能会偏离一点),然后我想用Java检查的值替换x1、x2、x3、y1等。我想说的是,我在回答中给出的公式适用于“一定量的给予”,定义模糊。如果这就是你想要的,那么我想这应该对你有帮助。我有点避险,以防你对你想要给予多少有严格的定义。