处理应用程序中两点之间的距离?

时间:2011-06-28 17:46:24

标签: java distance processing

我试着让http://processing.org/中两点之间的距离像java一样但不起作用:

d = sqrt ((x2 - x1)**2 + (y2 - y1)**2);

距离公式为: http://www.purplemath.com/modules/xyplane/dist07b.gif

6 个答案:

答案 0 :(得分:4)

Java没有取幂运算符。相反,请尝试 Math.pow(x,2) x * x

答案 1 :(得分:3)

处理已经具有计算2d和3d中两点之间距离的函数。只需通过移交dist()x两个点的参数,实现reference中提到的y

dist (x1, y1, x2, y2);

答案 2 :(得分:1)

你有几件事情有点不对劲。它应该是:

d = sqrt ((x2 - x1)*(x2 - x1) + (y2 - y1)*(y2 - y1));

其他选择:

d = dist(x1,y1,x2,y2);

d = PVector.dist(new PVector(x1,y1),new PVector(x2,y2));

distance

想象一下,你是一个直角三角形的低调的距离。 一侧由X轴(长度为x2-x1)定义,另一侧由x轴定义 Y轴(长度为y2-y1)。由于距离是连字符, 你知道两面,你只需要应用毕达哥拉斯定理:

BC squared = AB squared + AC squared
BC = square root (AB squared + AC squared)
AC = (x2-x1) = dx
AB = (y2-y1) = dy
or
d = sqrt(dx*dx + dy*dy);

答案 3 :(得分:0)

根据http://processing.org/reference/,这应该有效:

d = sqrt ( pow ( x2 - x1, 2 ) + pow ( y2 - y1, 2 ) );

虽然我不完全清楚你是否需要在Processing或Java中使用它。

答案 4 :(得分:0)

只需使用内置的Processing类和方法:

PVector x = new PVector(random(width), random(height));   
PVector y = new PVector(random(width), random(height));
System.out.println(getEuclidianDistance(x, y))

答案 5 :(得分:0)