1. ВНИМАНИЕ! В течении пары дней +- будет переезд форума на более защищённый сервер. Возможны перебои в работе.
    Скрыть объявление

Нахождение точки на пересечении «векторов», заданных на геоиде

Тема в разделе "ПЕСОЧНИЦА", создана пользователем 39dotyt, 29 мар 2013.

  1. Здравтсвуйте.

    Подскажите, пожалуйста, как правильно решить следующую задачу. Для решения использую библиотеку GeodesicLib для C++.

    Известны координаты точек А, B и C (ниже приведён рисунок). С помощью GeodesicLib нахожу расстояние между AB и AC и азимут для каждой пары. Как правильно найти точку на «векторе» AB, расстояние между которой и C — минимальное? Точка C может быть абсолютно любой в радиусе метров 300 от A. Между A и B порядка 40-500 метров.

    azi.png

    Существует ли решение, кроме перебора?
     
  2. Patron

    Patron Бронебойный Старожил Форумчанин

    Теорема косинусов, не? квадрат стороны треугольника равен сумме квадратов двух его других сторон минус удвоенное произведение этих сторон на косинус угла между ними..
    Так ты найдёшь величину стороны СВ. Отложив радиус, равный СВ, из точки С, и зафиксировав его пересечение с линией АВ (или радиусом=АВ из точки А) ты найдешь искомую точку.

    P.S. Могу ошибаться, готов быть закидан помидорами ::biggrin24.gif::
     
  3. Сумма углов сферического треугольника не равна 180 градусам, даже на маленьких расстояниях будут заметные погрешности.

    UPD.: пардон, найти длину как раз на небольших расстояниях можно с приемлемыми погрешностями (которые в рабочей обстановке могут выйти за пределы приемлемости и которых бы хотелось избежать), однако, как найти азимут CB.

    Сейчас подумаю, спасибо)
     
  4. Patron

    Patron Бронебойный Старожил Форумчанин

    Да, упустил.. в топике

    пойду курить мнемоническое правило Непера.. ::wink24.gif::
     
  5. Подобное решение не пойдёт уже потому, что нам известна только одна сторона результирующего треугольника — AC :-(

    теорема синусов тогда уж)
     
  6. Patron

    Patron Бронебойный Старожил Форумчанин

    Наименьшее искомое расстояние СВ есть перпендикуляр к АВ. Значит, треугольник у нас прямоугольный сферический. И значит к нему применимо мнемоническое правило..
    Осталось только понять вторую известную.. Ща, допетрим..
     
  7. Большое спасибо.

    Разобрался с теоремой Непера и тоже думаю над второй известной.

    В общем так, если угол A рассчитать как разницу азимутов AB и CA (это правильно, или только на небольших расстояниях будет везти?) и воспользоваться теоремой Непера, получаем идеальный результат. Большое спасибо за помощь!

    Если кто-нибудь из знатоков подскажет насколько правильно таким образом искать угол, буду благодарен)
     
  8. Пардон. Постановка задачи нечеткая. Можно ли по конкретнее.
     
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление