Страница 5 из 26

Re: Вопросы по исходному коду.

СообщениеДобавлено: 01 окт 2012, 10:59
vdemidov
zed писал(а):А в САСе можно как-то найти географические координаты точки, отстоящей от текущей на N метров с азимутом 0 (строго на север)?

Нету. Хотелка 0001188 и в нее упирается дофига разных других хотелок.

Re: Вопросы по исходному коду.

СообщениеДобавлено: 02 окт 2012, 01:27
Dima2000
zed писал(а):А в САСе можно как-то найти географические координаты точки, отстоящей от текущей на N метров с азимутом 0 (строго на север)?

Данная частная задача легко решается чисто математически (не в САСе). Как и остальные три задачи смещения строго по сторонам света. Просто добавляем к текущей широте угол, вычисленный из отношения N и полярного радиуса (берется из параметров проекции) и нормируем к диапазону -90°..+90°.

Hint для хотелки 713. Получив указанным способом размеры эллипса в экранных координатах (которые пиксельные, ширину, высоту и центр) не составляет труда его нарисовать на экране (битмапке), с весьма приличной точностью. Думаю для отображения кругов расстояний точности хватит с большим запасом. И даже не надо приводить к многоугольнику, как собирались, эллипс отрисуется точно средствами WinAPI.

Add. Извиняюсь, чушь написал, для эллипса так считать нельзя. :(

Re: Вопросы по исходному коду.

СообщениеДобавлено: 02 окт 2012, 01:37
zed
Dima2000 писал(а):Данная частная задача легко решается чисто математически (не в САСе). Как и остальные три задачи смещения строго по сторонам света. Просто добавляем к текущей широте угол, вычисленный из отношения N и полярного радиуса (берется из параметров проекции) и нормируем к диапазону -90°..+90°.

И на сколько это будет точно?

Re: Вопросы по исходному коду.

СообщениеДобавлено: 02 окт 2012, 01:46
Dima2000
Double. Всё упрётся в точность радиуса и вычислений синуса (или косинуса?). Т.е. микроны получите легко. :D "Це ж чисто математика!" :)

Re: Вопросы по исходному коду.

СообщениеДобавлено: 02 окт 2012, 01:51
Dima2000
Для долготы вычисления чуть сложнее, надо брать не экваториальный радиус, а радиус по текущей широте, который меньше экваториального (экваториальный*cos(широта)).

Re: Вопросы по исходному коду.

СообщениеДобавлено: 02 окт 2012, 02:02
zed
Э.. а набросайте-ка сюда формул как это всё посчитать? И в расчётах ведь N это же будет длина дуги, а не прямая?

Re: Вопросы по исходному коду.

СообщениеДобавлено: 02 окт 2012, 02:36
Dima2000
Что-то засомневался в формуле Ra*cos(широта), может для эллипсоида вращения она и не такая? Ну да для движений по меридианам это и не важно. :)
Э, и вообще сомневаюсь. Полезу в вики ...
Мда, не прав. Даже для меридианов. :'( Низя так считать оказывается. Вот жалость, формулы убил. Убейте всё моё, что ли ...
Точность будет порядка 0.2% (для расстояния 6400км) - точность приближения сечения геоида окружностью. Для меньших расстояний - ещё лучше. Если такой точности хватит - формулы снова напишу. :)

Re: Вопросы по исходному коду.

СообщениеДобавлено: 02 окт 2012, 11:37
zed
Нагуглил реализацию искомого алгоритма. Подробности см. в хотелке 1188

Re: Вопросы по исходному коду.

СообщениеДобавлено: 29 окт 2012, 11:35
Manfred
Никак не могу найти, где лежит архив с исходными кодами. Как-то скачал его, посмотрел, да времени не было заняться.
Сейчас кинулся - ан нет, не смог найти архив. Не качать же отдельные файлы :)

Re: Вопросы по исходному коду.

СообщениеДобавлено: 29 окт 2012, 12:05
zed
На странице с исходниками есть кнопочка download по которой загружаются самые свежие исходники.

Image.gif