Всем привет!..Столкнулся с такой проблемой - построение проекции небесной полусферы на плоскости. Задача, скорее всего, больше картографическая, но надеюсь на то, что на форуме найдутся и картографы Задача такая: имеются высоты (h) и азимуты (a) небесных тел для видимого в данный момент полушария. Нужно перейти к координатам на плоскости (x, y), т.е. необходимо отобразить все это в виде круга, изображающего проекцию полушария. Окружность - горизонт. В общем, хотелось бы получить картинку как в StarCalc'е.Первое, что приходит на ум - это воспользоваться известной формулой:x = r * (h / 90) * Cos(a);y = r * (h / 90) * Sin(a);здесь r - это константа - радиус того круга, который хотим нарисовать.На первый взгляд все отлично - картинка нарисовалась, все красиво. Но есть одно но:картинка получается с искажениями. Например, окружность Лунного диска получается эллипсом, хотя нужен круг. Линии координат, построенные по такой формуле, пересекаются не под прямым углом. Заметьте, в StarCalc'e этого нет - Луна круглая и углы между кругами прямых восхождений и склонений прямые. Ясное дело, проблема в формуле проекции. Проекция должна быть конформной, т.е. сохраняющей углы, как я понимаю. Так вот вопрос - какую формулу для проекции нужно использовать, чтобы углы не искажались?Заранее спасибо за помощь!
|