расстояние между двумя точками в приложении обработки? - PullRequest
0 голосов
/ 28 июня 2011

Я пытаюсь получить расстояние между двумя точками в http://processing.org/ похоже на java, но не работает:

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

формула расстояния: http://www.purplemath.com/modules/xyplane/dist07b.gif

Ответы [ 6 ]

4 голосов
/ 28 июня 2011

В Java нет оператора возведения в степень.Вместо этого попробуйте Math.pow (x, 2) или x * x .

3 голосов
/ 29 июня 2011

Обработка уже поставляется с функцией для расчета расстояния между двумя точками в 2d и 3d.Просто внедрите dist(), как указано в справочнике , передав параметры x и y обеих точек:

dist (x1, y1, x2, y2);
1 голос
/ 01 сентября 2011

У вас есть пара ошибок. Должно быть:

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), а другая - ось 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);
0 голосов
/ 29 июня 2011

Используйте встроенную функцию dist из обработки: http://processing.org/reference/dist_.html.

Кстати, вот как это работает внутри: http://www.google.com/codesearch#Ej56LtI_pY0/trunk/processing/core/src/processing/core/PApplet.java&q=dist%20package:http://processing%5C.googlecode%5C.com&ct=rc&cd=8&sq=&l=3314

0 голосов
/ 28 июня 2011

Просто используйте встроенные классы и методы обработки:

PVector x = new PVector(random(width), random(height));   
PVector y = new PVector(random(width), random(height));
System.out.println(getEuclidianDistance(x, y))
0 голосов
/ 28 июня 2011

Согласно http://processing.org/reference/ это должно работать:

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

Хотя мне не совсем понятно, нужно ли вам это в обработке или в Java.

...