Перейти к содержимому


Фотография
- - - - -

Зипу


Тема находится в архиве. Это значит, что в нее нельзя ответить.
Для разархивирования этой темы отправьте сообщение с указанием URL топика
Сообщений в теме: 16

#1 kulik

kulik

    Участник

  • Members
  • PipPipPipPip
  • 269 сообщений
    Reputation: -1

Отправлено 03 February 2004 - 12:34

Парни, кинте формулу вычисления ЗИПУ по двум координатам.

#2 Cadett

Cadett

    Дока

  • Members
  • PipPipPipPip
  • 426 сообщений
    Reputation: 6

Отправлено 04 February 2004 - 00:52

:D

Прикрепленные изображения

  • formula.jpg


#3 Airman

Airman

    Модератор снов

  • Members
  • PipPipPipPipPipPip
  • 4517 сообщений
    Reputation: 18

Отправлено 04 February 2004 - 08:36

фи-широта, лямбда- долгота

#4 kulik

kulik

    Участник

  • Members
  • PipPipPipPip
  • 269 сообщений
    Reputation: -1

Отправлено 04 February 2004 - 08:59

Пытаюсь считать по формуле точки

точка широта долгота
1. 65 34 42 37 07 12
2. 64 00 00 30 00 00

Растояние получаю около 380 км., а угол 136 градусов, но нарисовав видно, что угол явно не тот.
Формуле не верить оснований нет, значит дело в расчетах.
Как вы считаете?

#5 Gritsevsky

Gritsevsky

    GAU Coder

  • Members
  • PipPipPipPipPipPip
  • 1740 сообщений
    Reputation: 1

Отправлено 04 February 2004 - 10:50

Пытаюсь считать по формуле точки

точка широта долгота
1. 65 34 42 37 07 12
2. 64 00 00 30 00 00

Растояние получаю около 380 км., а угол 136 градусов, но нарисовав видно, что угол явно не тот.
Формуле не верить оснований нет, значит дело в расчетах.
Как вы считаете?

В книге Караблина - Черного опечатка есть. У меня нет сейчас под рукой материалов, не помню точно где опечатка, могу только кусок кода из своего калькулятора кинуть.


Я считаю по такой формуле:

ctg = (cos(latt_1)*tan(latt_2) - sin(latt_1)*cos(delta_long))/sin(delta_long);

А эта, закоментированная в калькуляторе, формула соответствует приведенной выше Airman-ом, у меня с ней проблемы какие то были, хотя подробностей не помню.

//ctg = cos(latt_1)*tan(latt_2)/sin(delta_long) - sin(latt_1)/tan(delta_long);

Степан

#6 Airman

Airman

    Модератор снов

  • Members
  • PipPipPipPipPipPip
  • 4517 сообщений
    Reputation: 18

Отправлено 04 February 2004 - 11:08

Формулу не я приводил :) я просто разшифровал что есть фи а что лямда - все равно следующий вопрос был бы про это :D А формулу я чесно говоря не смотрел - на вскидку похоже :)

#7 Gritsevsky

Gritsevsky

    GAU Coder

  • Members
  • PipPipPipPipPipPip
  • 1740 сообщений
    Reputation: 1

Отправлено 04 February 2004 - 11:17

Формулу не я приводил :)

Sorry

Степан

#8 kulik

kulik

    Участник

  • Members
  • PipPipPipPip
  • 269 сообщений
    Reputation: -1

Отправлено 04 February 2004 - 11:34

Один черт 136 градусов лезет.

Ф. - формула
ctg = (cos(latt_1)*tan(latt_2) - sin(latt_1)*cos(delta_long))/sin(delta_long);

Я рассуждал так.
ctg=cos/sin

следовательно согласно первой формулы
cos = arccos(Ф.)
sin = arcsin(Ф.)

и отношение cos/sin должно нам дать угол, предварительно умноженый на
180.0/PI.

Поправте, пожалуйста.

#9 Gritsevsky

Gritsevsky

    GAU Coder

  • Members
  • PipPipPipPipPipPip
  • 1740 сообщений
    Reputation: 1

Отправлено 04 February 2004 - 12:33

Я в калькуляторе посчитал.
Получается ЗПУ 245.8 градуса, расстояние 379.5 км. Правда не совсем понял формат координат, там у вас минуты или десятые градусав, как в симе принято? Но очень большой ошибки от этого не будет.
Формулу, по каторой ЗПУ калькулятор считает смотрите выше.

Так что я не понял, почему у вас 136 градусов вылезает.

Степан

#10 Cadett

Cadett

    Дока

  • Members
  • PipPipPipPip
  • 426 сообщений
    Reputation: 6

Отправлено 04 February 2004 - 13:24

В книге Караблина - Черного опечатка есть.

Возможно. Формула моя не оттуда и она почти идентична твоей, за исключением умножения на косеканс разности долгот в мервом слагаемом, но он особой роли не играет...

#11 kulik

kulik

    Участник

  • Members
  • PipPipPipPip
  • 269 сообщений
    Reputation: -1

Отправлено 05 February 2004 - 06:56

Уравнение Степана
ctgB = (cos(latt_1)*tan(latt_2) - sin(latt_1)*cos(delta_long))/sin(delta_long);
это элементарное преобразование уравнения, приведеное Кадетом, где расписаны cosec и ctg через sin и cos для удобства расчета на С++.
Подставлили все начения в формулу и получили
ctgB = какое-то значение. Но это же не значение угла в градусах нужно его вывернуть из ctgB. Каким образом?

#12 Gritsevsky

Gritsevsky

    GAU Coder

  • Members
  • PipPipPipPipPipPip
  • 1740 сообщений
    Reputation: 1

Отправлено 05 February 2004 - 07:14

ctgB = какое-то значение. Но это же не значение угла в градусах нужно его вывернуть из ctgB. Каким образом?

Например так:

if(ctg > 1000000)
ctg = 1000000;
if(ctg < -1000000)
ctg = -1000000;


if((delta_long < 0 && ctg > 0) || (delta_long > 0 && ctg < 0))
zpu = atan(1/ctg)* 57.295779 + 180;
else
zpu = atan(1/ctg)* 57.295779;

Степан

#13 kulik

kulik

    Участник

  • Members
  • PipPipPipPip
  • 269 сообщений
    Reputation: -1

Отправлено 05 February 2004 - 07:23

Большое спасибо, Степан.

#14 Cadett

Cadett

    Дока

  • Members
  • PipPipPipPip
  • 426 сообщений
    Reputation: 6

Отправлено 05 February 2004 - 18:08

Хыхы, котангенсы больше мульёна не канают :) :D :)

#15 Gritsevsky

Gritsevsky

    GAU Coder

  • Members
  • PipPipPipPipPipPip
  • 1740 сообщений
    Reputation: 1

Отправлено 05 February 2004 - 18:20

Хыхы, котангенсы больше мульёна не канают :) :D :)

В последнем номере журнала "Тригонометрия в деревне" приводятся новейшие исследования в этой области. Это вы от жизни отстали, по старинке думаете что катангенс может в бесконечность уйти.

Степан

#16 Cadett

Cadett

    Дока

  • Members
  • PipPipPipPip
  • 426 сообщений
    Reputation: 6

Отправлено 05 February 2004 - 20:47

Хыхы, котангенсы больше мульёна не канают  :)  :)  :D

В последнем номере журнала "Тригонометрия в деревне" приводятся новейшие исследования в этой области. Это вы от жизни отстали, по старинке думаете что катангенс может в бесконечность уйти.

Степан

Ггыыг! 5 очков! :blink: :blink: :buy2:

#17 kulik

kulik

    Участник

  • Members
  • PipPipPipPip
  • 269 сообщений
    Reputation: -1

Отправлено 06 February 2004 - 05:22

Да уж, век живи, век учись. Спасибо за науку.