Задача: У меня есть (lat-long) координаты множества точек a, b, c, d. , , в базе данных. Теперь, когда я выбираю точку a, мне нужно рассчитать расстояния точки a от каждой из других точек и получить ближайшую для eg. Эта математика требует вычисления cos и tan точек. Так что это кажется довольно дорогим на стороне бит.3 баллов стратегия расчета расстояний
Так что я думал о стратегии, чтобы упростить это. Ниже приводится объяснение стратегии.
У меня есть 3 известных точки (x, y, z), известное расстояние между одной точкой до другой. В этом примере допустим, что оно равно 10. т. Е. Расстояние от x до y = 10; y до z = 10; z до x = 10. (это образует равносторонний треугольник, но реальный сценарий может быть не так)
Теперь давайте скажем, что у нас есть две точки a и b. мы вычисляем расстояния точки a до x, y и z и сохраняем соответственно и так для точки b. (Скажем, логика приложения)
так что мы имеем:
- для точки а: Ax, Ay и Az
- для точки Ь: Bx, By и Bz
Что касается стратегии , вопрос в том, как мы можем рассчитать расстояние между точкой а до точки б.
Что касается самой проблемы, если я применил вышеприведенную стратегию к моему, вопрос: я упрощаю или затрудняю ситуацию?
Заранее благодарим за ваш ответ.
Я бы сказал, что вы довольно усложняете ситуацию. Если у вас есть точки в 3d системе координат, просто используйте pythagoras для расчета расстояния и затем найдите ближайшую точку в списке расстояний. – Sam
Расчет расстояния между двумя двумерными точками очень прост, и для него вам даже не нужен cos/sin. d = sqrt (Xd^2 + Yd^2) – wvdz
@popovitsj я должен был быть немного более конкретным относительно координат, которые находятся в широте и долготе. Вот почему я был заинтересован использовать тригоны. – Vimal