Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[54.242.75.224] |
|
Сообщ.
#1
,
|
|
|
Здравствуйте! Задача следующая:
Есть две точки, gps координаты, которых известны. Известно расстояние между точками. В каждой точке известно направление на искомую точку, т. е. известны углы. Нужно получить координаты искомой точки, которая будет на пересечении линий направления. Расстояния не больше двух километров. Как оптимально получить координаты искомой точки, по каким формулам? Стоит ли учитывать радиус земли и рельефы на таких расстояниях. Надо учесть что точки и расстояния мы получаем перемещаясь, т. е. получили направление на точку, переместились получили второе направление и. т. д. Заранее спасибо! |
Сообщ.
#2
,
|
|
|
Пусть A и B - две известные точки, с известным расстоянием меж ними r. Т.к. по условию известно направление от А на искомую т. C, то преобразованием можно считать, что она находится на прямой Ox (на экваторе, если хочется учесть радиус Земли). См. рис:
Прикреплённая картинка
Тогда по теореме синусов имеем: x/sin(φ) = r/sin© = r/sin(π-α-φ) = r/sin(α+φ) Отсюда находим желанный x: x = sin(φ)*r/sin(α+φ). И потом (обратным преобразованием) найдём искомую точку. П.С. при столь малых расстояних (не более 2 км), думаю, радиусом следует пренебречь. Добавлено Вот дьявол, какой-то форумный парсер преобразовал C в скобках в копирайтовский значок. Чёрт! А было там: r/sin( C ) |
Сообщ.
#4
,
|
|
|
Славян, с решением треугольника все понятно. Но у меня больше вопросов вызывают системы координат. По какому алгоритму и формулам мне получить координаты (градусы, минуты, секунды). Можно ли сразу перевести расстояния в градусы? Может по азимуту считать. Би полярные, полярные, прямоугольный координаты использовать? У меня ещё была идея сетку положить на зону, что бы алгоритм сравнивал расстояния от известных точек с каждой координатор сетки.?
|
Сообщ.
#5
,
|
|
|
Да делайте всё просто пошагово, по этапам; не нужно пытаться получить готовые формулы сразу.
1. Пусть сначала т. А будет на экваторе, на нулевом меридиане, а т. B - в северном полушарии. Тогда по цилиндрическим координатам можно найти искомую т. C. 2. Далее просто поверните Землю на нужный меридиан-долготу. 3. Теперь пусть А позволено будет быть чуть севернее экватора (но вдалеке от полюса). И тут порешайте всё. Наконец, оставшиеся варианты закончат всю вашу формулу (набор формул)! П.С. про сетку лучше не думать, т.к. аналитика пропадает, а какое-то грубое приближение (здесь - явно неуместное) получается. |
Сообщ.
#6
,
|
|
|
Думаю, стоит посмотреть учебники по аэронавигации, коих в сети вагон и маленькая тележка. Подобная задача обязательно должна там решаться.
|
Сообщ.
#7
,
|
|
|
Я ж дал ссылку, там даже код на JS есть
|