我试着让http://processing.org/中两点之间的距离像java一样但不起作用:
d = sqrt ((x2 - x1)**2 + (y2 - y1)**2);
距离公式为: http://www.purplemath.com/modules/xyplane/dist07b.gif
答案 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));
想象一下,你是一个直角三角形的低调的距离。 一侧由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)