2016-12-11 2 views
-4

Пользователь должен выбрать две разные точки в двух JComboBoxes, после их выбора программе необходимо получить расстояние между двумя выбранными точками. Я могу получить входные данные из ComboBoxes, но мне нужно рассчитать расстояние между ними, Я пробовал использовать широту и долготу, но мне нужно сделать это для каждого возможного сценария (скажем, 15 разных точек). Есть идеи ?Лучший способ получить расстояние между двумя точками в java?

+1

Можете ли вы поделиться тем, что вы пытались до сих пор, и где именно вы застряли? – Mureinik

+0

@Commongrate - ваши точки достаточно далеко друг от друга, вам нужно использовать сферическую тригонометрию? Если это так, этот вопрос не является дубликатом и должен быть вновь открыт. –

ответ

1

Как насчет некоторой простой геометрии, использующей теорему pythagorean, тогда вы можете просто пропустить 15 разных точек и запустить математику для всех.

distance = sqrt(x*x+y*y) 

В вашем случае x и y являются дельта между вашими 2 точками (x1-x2, y1-y2)

double dx = pt1.x-pt2.y; 
double dy = pt1.y-pt2.y; 

double distance = Math.sqrt(dx*dx+dy*dy); 

http://www.mathwarehouse.com/algebra/distance_formula/index.php

+0

Извините, я понимаю математические части, что я не понимаю, так это то, как сравнивать одну точку с другими 15 раз. – Commongrate

+0

@Commongrate, если вы можете опубликовать часть кода, с которым вы боретесь, будет легче помочь. ATM im not sure, и я думаю, что большинство людей не знают, как выглядят ваши точки или что вы делаете при сравнении –

+0

@ ug_ Ok nvm, что я сказал, можете ли вы рассказать мне о формуле выше и если она дает значение в радианах или градусах ? – Commongrate

Смежные вопросы