Для решения задачи навигации минимально необходимо определить растояние и азимут цели куда мы летим. В общем случае к решению данного вопроса можно подойти несколькими способами. Отметим, что модель летает в достаточно малом радиусе, потому можно считать землю локально плоской. В качестве приближения можно взять сферу со средним радиусом 6371км. 1) счиатем всё в градусах и умножаем на коэффициэнт - проблема будет заключаться в том что размер градуса по широте и по долготе отличаются тем сильнее чем больше широта (на широте 60 имеем почти полтора раза) 2) считаем растояние и азимут используя сферическую геометрию - проблема будет заключаться в необходимости посчитать много тригонометрических функций 3) берем какуюлибо равноугольную проекцию и считаем в ней. В нашем случае берем проекцию меркатора на сфере. соответственно пересчет географических координат в метры будет: x=C*долгота y=C*ln(tg(широта/2+PI/4)) Km=cos(широта) где: широта и долгота в радианах С принимаем равным радиусу земли Km - масштаб системы координат который зависит от широты. так как проекция равноугольная, то азимут считаем из ирктангенса, растояние считаем по теореме пифагора умножив результарт на масштабный коэффициент. Недостаток данного подхода - нельзя летать над антарктидой и северным ледовитым океаном. Ссылки: http://ru.wikipedia.org/wiki/Проекция_Меркатора http://ru.wikipedia.org/wiki/Сферическая_геометрия |
Математика >