Пятница, 29.11.2024
Мой сайт
Меню сайта
Статистика

Онлайн всего: 20
Гостей: 20
Пользователей: 0
Главная » 2021 » Январь » 5 » Поворот системы координат на широту
20:55
Поворот системы координат на широту

Поворот системы координат на широту

Отдельная задачка по AutoCAD-у – нарисовать Солнце, Землю и итоговое направление осей. Лично у меня не получилось. Я, конечно, ничего не считала, т.к привыкла такие вещи делать поворотами, перемещениями и т.д. Вот именно так сходу, во всяком случае, и не получилось.
Пришлось взять картинку:

Я хочу узнать азимут и высоту Солнца. Это два угла в сферической системе координат:

Я их получу автоматически по прямоугольным координатам X,Y,Z, т.е положению Солнца, которое я знаю. Единственное, что требуется, чтобы оси указывали в нужном направлении. Чтобы высота солнца задавалась углом из сферической систему координат надо чтобы Z указывало вверх, перпендикулярно поверхности Земли, а оно пока указывает на небесный север.
Направление осей на данный момент – стрелки, нарисованные сплошными линиями. Более-менее устраивает Y, указывающий на запад. Ось X указывает куда-то вглубь Земли. Чтобы исправить ситуацию надо повернуть систему координат вокруг оси Y. Причем не на широту а на «90-широта», потому что широта считается от экватора.
Формула поворота такие:
xhor = x * cos(90_deg - широта) - z * sin(90_deg - широта)
yhor = y
zhor = x * sin(90_deg - широта) + z * cos(90_deg - широта)
Или такие:
xhor = x * sin(широта) - z * cos(широта)
yhor = y
zhor = x * cos(широта) + z * sin(широта)
Excel-ю всё равно, а руками так проще считать (предварительно упростив тригонометрию)
После этого поворота Z должно быть направлено вверх, перпендикулярное ему X на север, а Y на восток.
Нужные углы получаются по формулам, которые были тут:
https://akostina76.ucoz.ru/blog/2021-01-03-6898

r    = sqrt( x*x + y*y + z*z )
RA   = atan2( y, x )
Decl = asin( z / r ) = atan2( z, sqrt( x*x + y*y ) )
Высота над горизонтом:
altitude = asin( zhor ) = atan2( zhor, sqrt(xhor*xhor+yhor*yhor) )

Азимут:
azimuth  = atan2( yhor, xhor ) + 180_deg

Очередной случай, когда, вроде бы не должно прибавляться 180 градусов, потому что X указывает на север. Значит там, где юг и так 180 градусов… но написано как написано.
Можно посчитать и сравнить с вот этим, например:
http://homes.relex.ru/~zalex/main1251.htm

Просмотров: 89 | Добавил: akostina76 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа
Поиск
Календарь
«  Январь 2021  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
25262728293031
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2024
    Бесплатный конструктор сайтов - uCoz