IPB                

Здравствуйте, гость ( Вход | Регистрация )


ФорУм - для ума ©
БСЭ; DJVU Библиотека - Основное книгохранилище
Навигация
Librarian
сообщение 9.11.2015, 22:35
Сообщение #1


Ректор
********

Группа: Member
Сообщений: 9390
Регистрация: 22.7.2005
Из: library
Пользователь №: 10
Поблагодарили: 3186 раз(а)

Защита: 3472-8435-56-263


А кто-нибудь в навигации разбирается? А то появилась простенькая задача.
Из пункта с координатами (долгота широта) по кратчайшей дороге (по ортодромии) в пункт (долгота широта) двигаемся ХХ километров и поворачиваем под углом АА. Двигаемся еще УУ километров. С точку с какими координатами мы попадем?

Вроде тривиальная задача, но сходу не могу найти решения.


--------------------
Я Вернулся!!!!!!!
Перейти в начало страницы
+Цитировать сообщение
 
Начать новую тему
Ответов (1 - 2)
Librarian
сообщение 11.11.2015, 0:48
Сообщение #2


Ректор
********

Группа: Member
Сообщений: 9390
Регистрация: 22.7.2005
Из: library
Пользователь №: 10
Поблагодарили: 3186 раз(а)

Защита: 3472-8435-56-263


Оказывется этими ортодромиями реально начали пользоваться не так давно, а до этого все активно использовали локсодромии - пути, котроые делаются компасом, под постоянным углом к меридианам, что иногда существенно длиннее.


--------------------
Я Вернулся!!!!!!!
Перейти в начало страницы
+Цитировать сообщение
Librarian
сообщение 12.11.2015, 4:06
Сообщение #3


Ректор
********

Группа: Member
Сообщений: 9390
Регистрация: 22.7.2005
Из: library
Пользователь №: 10
Поблагодарили: 3186 раз(а)

Защита: 3472-8435-56-263


Если не вникать в глубокую математику, типа сферической геометрии, а только хотеть посчитаьь результат, то на ПЕРЛе все делается очень просто (IMG:style_emoticons/default/rolleyes.gif)

Вот пример решения прямой и обратной задачи навигации на Перле.

CODE
use Geo::Ellipsoid; # вот тут библиотека для рассчета навигации на элипсоиде

my $geo = Geo::Ellipsoid->new(
      ellipsoid => 'WGS84', # the best Earth shape
      units => 'degree', # we working in degrees
      distance_units => 'meter', # all distances in meters
      longitude => 1,  # longitude range from -180 to 180 degrees
      bearing => 0, #bearing direction (north=0) counts form 0 to 360 degrees
    );

   my( $lat2, $lon2 ) = $geo->at( $lat1, $lon1, $range, $bearing ); # новые координаты при движении из старых координат по ортодромии заданной стартовым углом на заданное расстояние

  my( $dist, $theta ) = $geo->to( $lat1, $lon1, $lat2, $lon2 ); # рассчет расстояния и стартового угла ортодромии для движения из одной точки в другую


А вот так полетят наши ракеты будут выглядеть рассчитанные и наложенные на карту зоны Френеля для низкочастотных волн.

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


--------------------
Я Вернулся!!!!!!!


Поблагодарили:
Перейти в начало страницы
+Цитировать сообщение

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 16.06.2025, 10:49


Rambler's Top100