Путевой угол.

Здравствуйте.
Пишу программу для создания расписания из Exel.
Столкнулся вот с такой проблемкой.
Мне нужно высчитать путевой угол между двумя данными аэропортами. Для этого использую формулу:
ctg( b ) = cos(fi1)*tg(fi2)*cosec(l2 — l1) — sin(fi1)*ctg(l2 — l1), взятую тут тыц.
где b — направление ортодромии или путевой угол, fi1 — широта аэропорта откуда летим, l1 — долгота аэропорта откуда летим, fi2 и l2 — куда летим.
После упрощения получил: b = arctg( (cos(fi2) * sin(l2 — l1)) / (cos(fi1) * sin(fi2) — cos(fi2) * sin(fi1) * cos(l2 — l1)) ).

После расчёта получаю следующие рузультаты:
1. 56.273224844637127
2. -54.710219585068785
3. -58.049867496061268
4. 5.6723515785769250
5. -70.479172252844634
6. -62.100431498667035
7. 35.205859499423546
8. -25.921513010402307
9. -5.5618740532924287
10. 78.581146398313294
11. 25.002774624404534
12. -39.283729837880642
13. -56.533277937403454
14. -7.1199568453538635
15. 42.292072487865099
16. 66.158046794857839
17. 72.168125829477290
18. 44.453098381587218
19. 3.5693213209589381
20. -14.950513395493871

Для таких входящих данных:
1. EDDV, 52.460214011, 9.683521986 -> UNNT, 55.011666678, 82.651666850 =
2. UEEE, 62.093333490, 129.771666527 -> UUDD, 55.408333540, 37.908333242 +360
3. UIII, 52.266666815, 104.395000041 -> UUDD, 55.408333540, 37.908333242 +360
4. UIII, 52.266666815, 104.395000041 -> VTBS, 13.685716689, 100.748949945 +180
5. UNNT, 55.011666678, 82.651666850 -> UUDD, 55.408333540, 37.908333242 +360
6. UNNT, 55.011666678, 82.651666850 -> EDDV, 52.460214011, 9.683521986 +360
7. UNNT, 55.011666678, 82.651666850 -> UTDD, 38.543333486, 68.825000077 +180
8. UNNT, 55.011666678, 82.651666850 -> VTBS, 13.685716689, 100.748949945 +180
9. URSS, 43.445000052, 39.948333353 -> UUDD, 55.408333540, 37.908333242 +360
10. USMU, 66.070000045, 76.521666348 -> UUDD, 55.408333540, 37.908333242 +180
11. UTDD, 38.543333486, 68.825000077 -> UNNT, 55.011666678, 82.651666850 =
12. UTNU, 41.583333425, 60.645000190 -> UUDD, 55.408333540, 37.908333242 +360
13. UUDD, 55.408333540, 37.908333242 -> UTNU, 41.583333425, 60.645000190 +180
14. UUDD, 55.408333540, 37.908333242 -> URSS, 43.445000052, 39.948333353 +180
15. UUDD, 55.408333540, 37.908333242 -> UEEE, 62.093333490, 129.771666527 =
16. UUDD, 55.408333540, 37.908333242 -> UIII, 52.266666815, 104.395000041 =
17. UUDD, 55.408333540, 37.908333242 -> UNNT, 55.011666678, 82.651666850 =
18. UUDD, 55.408333540, 37.908333242 -> USMU, 66.070000045, 76.521666348 =
19. VTBS, 13.685716689, 100.748949945 -> UIII, 52.266666815, 104.395000041 =
20. VTBS, 13.685716689, 100.748949945 -> UNNT, 55.011666678, 82.651666850 +360

Где последний столбик означает, чтобы получить правильный ответ нужно: = — ничего не нужно ответ такой, +360 — добавить 360 и будет правильный ответ, +180 — добавить 180 и будет правильный ответ.

Теперь вопросик: Что делать с формулой чтобы она сразу считала правильно? ну или может что-то дописать надо?
Может быть в конце просто добавлять эти 360 или 180 но при каких условиях?
Подскажите плиз :help:

Ответов: 7

Я тут пару лет назад занимался этим делом. В итоге получился Экселевский файл с формулами и примерами вычислений. Могу выслать.

А я как раз хотел сказать, что прога в Exsel уже существует. Сам ею не пользовался, пишу расписания пофайлам, но наверняка прога дельная. Вообще то есть аглицкие проги для составления расписаний, но у них одна беда вс постоянно переводить нужно. А вот на русском пока не знаю. Только разве что в Exsel. Сразу поинтересуюсь, где у проги Traffic meneger (кажись так) в компе конфигурационный файл? Прогу удалил вследствие ошибки. После удаления пробовал установить снова, но каждый раз выдает ошибку и инсталяция прерывается. Пробовал все, но так и не нашел что же мешает снова установить прогу. остается на уме только что где то сидит копия или сам конфигурационный файл или файл связанный с инсталлятором. Неужто Винду сносить нужно, чтоб прога снова установилась???

Да я никакую программу не делал. Просто баловался с расчетом ортодромии. Даже ввел поправки на учет несферичности Земли. Расстояние считает, а ИПУ не выдавала, только альфу (как у автора). Пришлось подымить, не помню, что я там делал, но в итоге получился ответ в формате 360 градусов как и положено. Если будут вопросы — вспомню. Файл прикрепить не сумел. Могу только по почте выслать.

ilbrehta (17.06.2009 17:39):

Да я никакую программу не делал. Просто баловался с расчетом ортодромии. Даже ввел поправки на учет несферичности Земли. Расстояние считает, а ИПУ не выдавала, только альфу (как у автора). Пришлось подымить, не помню, что я там делал, но в итоге получился ответ в формате 360 градусов как и положено. Если будут вопросы — вспомню. Файл прикрепить не сумел. Могу только по почте выслать.

Спасибо за ответ.
Если не трудно вышлите пожалуйста на lantz3@yandex.ru

Борт174 (17.06.2009 17:30):

А я как раз хотел сказать, что прога в Exsel уже существует. Сам ею не пользовался, пишу расписания пофайлам, но наверняка прога дельная. Вообще то есть аглицкие проги для составления расписаний, но у них одна беда вс постоянно переводить нужно. А вот на русском пока не знаю. Только разве что в Exsel. Сразу поинтересуюсь, где у проги Traffic meneger (кажись так) в компе конфигурационный файл? Прогу удалил вследствие ошибки. После удаления пробовал установить снова, но каждый раз выдает ошибку и инсталяция прерывается. Пробовал все, но так и не нашел что же мешает снова установить прогу. остается на уме только что где то сидит копия или сам конфигурационный файл или файл связанный с инсталлятором. Неужто Винду сносить нужно, чтоб прога снова установилась???

Наверное я неправильно выразился я пишу на C++ просто расписание берётся из экселя)
Программа для тех укого есть расписание в экселе а вречную переделывать влом)

ilbrehta (17.06.2009 23:08):

Выслал.

Пасибо огромное.

Выслал.