|
|
||||||
Разложение угла по сферическим координатам16.05.2011, 18:01. Показов 4503. Ответов 17
Метки нет (Все метки)
Доброго времени!
В сферических координатах задана точка, необходимо найти координаты другой точки(в тех же сферических координатах) зная расстояние(по дуге) и направление(азимут) движение. Радиус сферы известен. Это наша планета Земля. Азимут - угол на сфере относительно СЕВЕРА. Вопрос: Можно ли разложить угол между двумя точками(концы дуги пройденного пути) по широте и долготе через синус и косинус?
Нет, нельзя так. Потому что в зависимости от широты расстояние не должно менятся. а у меня оно меняется. Ближе к полюсам 1000 км превращаются в метры. К тому же горизонтальное движение получается у меня только по одной широте, что в корне не верно, должно проходить по максимальной окружности на шаре. Формула на много сложнее чем я предпологал...
0
|
||||||
| 16.05.2011, 18:01 | |
|
Ответы с готовыми решениями:
17
Перейти к цилиндрическим и сферическим координатам Перейти к цилиндрическим или сферическим координатам и вычислить интеграл Вычислить декартовы координаты точки по сферическим координатам |
|
Хочу в Исландию
1041 / 840 / 119
Регистрация: 10.11.2010
Сообщений: 1,630
|
|
| 16.05.2011, 18:11 | |
|
2
|
|
|
|
||||||
| 16.05.2011, 18:35 [ТС] | ||||||
|
Тут длина дуги между двумя точками на сфере... пресекается с моей задачей конечно, но не то что мне нужно...
Добавлено через 5 минут skaa, можете рассказать про чудо формулу:
Идёт преобразовани в декартову систему, потом находят прямое растояние между точками(qchordkm) А вот что за арксинус? Из какой формулы не понял Добавлено через 13 минут во. нашёл Хорда b= R*2* Sin (альфа/2). альфа - центральный угол, осталось узнать что такое центральный угол.
0
|
||||||
|
Хочу в Исландию
1041 / 840 / 119
Регистрация: 10.11.2010
Сообщений: 1,630
|
|
| 16.05.2011, 19:08 | |
|
Центральный угол - это угол с вергшиной в центре окружности и концами на окружности. Т.е. формула которую Вы прислали Хорда b= R*2* Sin (альфа/2) и qarckm=2*Rad*Math.asin(qchordkm/2/Rad); - одно и то же.
2
|
|
|
|
|
| 16.05.2011, 19:21 [ТС] | |
|
С этим вроде всё понятно, спасибо.
Вот думаю теперь над своей задачей. Есть вариант преобразовать в декартову систему 3Д начальную точку. Затем сгенерировать матрицу поворота по углу(az) и вектору вращения, который можно получить путём векторного произведения вектора радиуса в начальную точку и вектора азимута(пока не понял как его вычислить). Далее собственно переносим точку по сфере путём умноежения матрицы на начальную точку. И преобразование обратно в сферическую. Но как-то через одно место все эти преобразования. Тем более я не знаю как вычислить вектор азимута. Уверен, должен быть метод проще...
0
|
|
|
Хочу в Исландию
1041 / 840 / 119
Регистрация: 10.11.2010
Сообщений: 1,630
|
|
| 17.05.2011, 01:05 | |
|
Да, вектор азимута - самое сложное звено в Вашей задаче. Что-то ничего пока в голову не пришло...
0
|
|
|
Хочу в Исландию
1041 / 840 / 119
Регистрация: 10.11.2010
Сообщений: 1,630
|
|
| 17.05.2011, 03:56 | |
|
Вот что я тут нарисовал... Вроде всё сходится, но как это всё проверить? Сегодня времени нет, завтра если получится, напишу программу.
2
|
|
|
|
|
| 17.05.2011, 13:28 [ТС] | |
|
вот ещё, думаю, пригодится
http://gis-lab.info/qa/great-circles.html
1
|
|
|
1227 / 957 / 77
Регистрация: 20.03.2011
Сообщений: 848
|
||
| 18.05.2011, 01:12 | ||
|
ЗЫ snake32 уже дал ссылку на эту формулу, я не заметил
2
|
||
|
|
|
| 18.05.2011, 02:57 [ТС] | |
|
A3B5, опять же - это расстояние между известными точками. А мне надо решить почти обратную задачу: по расстоянию и направлению определить конечную точку.
Гугл молчит как рыба об лёд как-будто формул больше вообще нет
0
|
|
|
Хочу в Исландию
1041 / 840 / 119
Регистрация: 10.11.2010
Сообщений: 1,630
|
||||||
| 20.05.2011, 20:40 | ||||||
|
Вот попробуйте. От Москвы до Петербурга и от Москвы до Харькова посчиталось правильно. Если пришлёте ошибки для каких-нибдь других городов, буду благодарен!
Результат выдаёт в таком виде: долгота:широта.
1
|
||||||
|
|
||||||
| 23.05.2011, 11:35 [ТС] | ||||||
|
skaa, Хорошая работа!!!
Я до такого не додумался Радует что на форуме есть действительно умные люди. ![]() Я провёл небольшие тестирования вашей ф-ии и обнаружил ошибки: Долгота вроде от широты, азимута и длины не зависит, в том смысле что ошибка стабильно себя ведёт при любых зачениях (широты, азимута и длины). Поэтому следующий тест проводился на широте 0, азимут 0 и длина 1000. На всём диапазоне долготы зависимость следующая( исходный диапазон долготы => результирующий диапазон долготы )
Добавлено через 16 минут Да, ещё обнаружил: если путь проходит через полюс, то там тоже что-то некорректно, но я ещё не уверен...
0
|
||||||
|
Хочу в Исландию
1041 / 840 / 119
Регистрация: 10.11.2010
Сообщений: 1,630
|
|
| 23.05.2011, 17:50 | |
|
Жду результатов, если будет возможность указать на мои ошибки, то пожалуйста, буду очень рад!
Я только что проверил если из долгота 0, широта 0, расстояние 39942, то с любым азимутом попадаем в 0, 0. По крайней мере, это работает. ![]() Добавлено через 2 минуты Попробовал из других точек - тоже возвращаюсь откуда вышел, кроме разве что если долгота скажем 101°, то программа считает -79°, что есть одно и то же.
0
|
|
|
|
||
| 23.05.2011, 18:03 [ТС] | ||
![]() долгота изменяется в горизонтальной пл-ти и обычно [-180..180), ну, или [0..360). Как 101 может быть равен -79? Ведь период = 360! Тогда уж 360-79 = 281, то есть -79 = 281, а 101 в свою очередь = -259
0
|
||
|
Хочу в Исландию
1041 / 840 / 119
Регистрация: 10.11.2010
Сообщений: 1,630
|
|
| 23.05.2011, 18:16 | |
|
Извините, был неправ... это я считать не умею.
0
|
|
| 23.05.2011, 18:18 [ТС] | |
|
Не по теме: Ну если честно я сам на калькуляторе посчитал 360-79
0
|
|
|
Хочу в Исландию
1041 / 840 / 119
Регистрация: 10.11.2010
Сообщений: 1,630
|
|||||||||||
| 24.05.2011, 17:14 | |||||||||||
|
Попробовал разные значения, вроде как для любой долготы -90°<lon<90° возвращается в ту же точку если пройти всю длину окружности, а для обратной стороны Земли и её краёв -90° и 90° я в коде посмотрю что неправильно.
Если найдёте ещё ошибки, буду рад... Добавлено через 2 часа 48 минут Всё правильно кроме перевода из декартовой в сферическую (предпоследний абзац в функции fnCalculatePoint):
Добавлено через 15 часов 35 минут Новый вариант с исправленным переводом в сферическую систему:
2
|
|||||||||||
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||||
| 25.05.2011, 05:08 | ||||
wiki. расстояние между точками на сфере
если это phi2, то неизвестно только theta2 получается (по формуле дуги) число = arccos(число * cos(theta2) + число * sin(theta2)) cos(число) = число * cos(theta2) + число * sin(theta2) число = число * cos(theta2) + число * sin(theta2) число * cos(theta2) + число * sin(theta2) - число = 0 wiki. тангенс половинного угла
0
|
||||
| 25.05.2011, 05:08 | |
|
Помогаю со студенческими работами здесь
18
Вычисление декартовых координат точки M(x, y, z) по заданным сферическим координатам По координатам вершин треугольника найти уравнение высоты, медианы, величину угла
Подключение силового ключа для управления сферическим двигателем Рассчитать квадрат синуса угла, значение угла вводится с клавиатуры в градусах Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|