Stellarium что это за программа
Stellarium что это за программа
Stellarium — это свободный планетарий для Вашего компьютера с открытым исходным кодом. Он отображает реалистичное небо в 3D таким, каким Вы видите его невооружённым глазом, в бинокль или телескоп.
Падающая звезда вспыхнула близ Юпитера. Выбрать различную интенсивность можно в окне просмотра.
Большая туманность Ориона. Нажмите N для отображения названий туманностей.
Танец планет над штаб-квартирой ESO, близ Мюнхена.
Всё небо с созвездиями, их границами и Млечным путём.
Включены изображения созвездий.
Кликните по картинке слева для получения подробностей.
особенности
небосвод
интерфейс
отображение
настраиваемость и расширение
новости
системные требования
минимальные
рекомендуемые
разработчики
Координатор проекта: Fabien Chéreau
Графический дизайнер: Martín Bernardi
Разработчик: Alexander V. Wolf, Guillaume Chéreau, Georg Zotti
Исследователь культур неба: Susanne M. Hoffmann
Сотрудник: Alexander Duytschaever
и каждый в сообществе пользователей.
социальные медиа
сотрудничество
Вы можете узнать больше о Stellarium, получить поддержку и помощь проекта по этим ссылкам:
признательность
Если планетарий Stellarium был полезен для вашей исследовательской работы, мы будем признательны за следующее:
В этом исследовании использовался планетарий Stellarium
Zotti, G., Hoffmann, S. M., Wolf, A., Chéreau, F., & Chéreau, G. (2021). The Simulated Sky: Stellarium for Cultural Astronomy Research. Journal of Skyscape Archaeology, 6(2), 221–258. https://doi.org/10.1558/jsa.17822
Или можно скачать файл BibTeX этой статьи для создания другого формата цитирования.
Самый последний код от разработчиков Stellarium находится на Github. Если Вы хотите скомпилировать текущую версию Stellarium, находящуюся в разработке, то это место где вы можете получить её исходный код.
сторонники и друзья
Программа Stellarium
Stellarium – лучший путеводитель любителя-астронома. Данная программа является неким интерактивным атласом небесных тел и предоставляет множество возможностей для пользователя.
Технические особенности
Программа Stellarium – свободное программное обеспечение, планетарий, который имеет открытый исходный код. Программа совместима со следующими оперативными системами: Windows, macOS, GNU/Linux, UNIX-подобные операционные системы. Выпускается с 2001-го года и поддерживает 136 языков, использует интерфейс Qt.
Минимальные системные требования:
Рекомендуемые системные требования:
Возможности программы
Иллюстрации созвездий в программе Stellarium
Сатурн в приближении в программе Stellarium
Сетка и Млечный Путь в программе Stellarium
Интерфейс программы Stellarium
После запуска программы перед Вами откроется вид с земной поверхности на небосвод, расположение объектов на котором соответствует расположению объектов с Вашей точки зрения. Для автоматического определения координат пользователя может потребоваться интернет соединение. В случае если местоположение не определено, следует воспользоваться соответствующей функцией на панели слева.
Интерфейс программы представлен несколькими выдвижными панелями, которые находятся по бокам монитора.
Панель слева
Окно настроек неба и наблюдения, обозначения
Египетские названия Луны и Солнца
Панель снизу
Нижняя панель программы Stellarium содержит 24 кнопки управления и отображения:
Небо с выключенной атмосферой в программе Stellarium
Симуляция телескопа
При выделении конкретного объекта для наблюдения, в правом верхнем углу становится активной панель настройки телескопа. Прежде всего можно включить симуляцию окуляра «Вид в окуляр», при этом возникает выпадающее меню выбора окуляра, телескопа и линзы.
Наблюдение в окуляр в программе Stellarium
Также в правом верхнем углу имеется «Конфигурация плагина», крайняя кнопка.
Подведем итоги
Программа Stellarium является единственным в своем роде виртуальным планетарием. К ее преимуществам можно отнести широкий спектр возможностей, внушительная база космических тел с описанием их параметров, интуитивно понятный интерфейс, умеренные системные требования, а также бесплатное распространение. Таким образом каждый астроном-любитель может позволить себе заиметь столь великолепный виртуальный путеводитель по космическим объектам.
Скачать программу Stellarium можно с официального сайта по этой ссылке.
Похожие статьи
Понравилась запись? Расскажи о ней друзьям!
Stellarium что это за программа
Stellarium is a free open source planetarium for your computer. It shows a realistic sky in 3D, just like what you see with the naked eye, binoculars or a telescope.
A shooting star flashes past the Jupiter. You can select different intensities in the View window.
The great nebula in Orion. Press N to bring up the nebula labels.
The dance of the planets above ESO headquarters, near Munich.
Full sky view of the constellations, their boundaries, the Milky Way.
Constellation art turned on.
Click on the picture to the left for details.
features
interface
visualisation
customizability
system requirements
minimal
recommended
developers
social media
collaborate
You can learn more about Stellarium, get support and help the project from these links:
acknowledgment
If the Stellarium planetarium was helpful for your research work, the following acknowledgment would be appreciated:
This research has made use of the Stellarium planetarium
Zotti, G., Hoffmann, S. M., Wolf, A., Chéreau, F., & Chéreau, G. (2021). The Simulated Sky: Stellarium for Cultural Astronomy Research. Journal of Skyscape Archaeology, 6(2), 221–258. https://doi.org/10.1558/jsa.17822
Or you may download the BibTeX file of the paper to create another citation format.
The latest development snapshot of Stellarium is kept on github. If you want to compile development versions of Stellarium, this is the place to get the source code.
supporters and friends
И снова в космос: как единорог Stellarium посещал
За все время своего существования люди приложили колоссальное количество усилий, чтобы изучить практически всю площадь звездного неба. На сегодняшний день мы рассмотрели сотни тысяч астероидов, комет, туманностей и звезд, галактик и планет. Чтобы увидеть всю эту красоту самостоятельно, не обязательно выходить из дома и покупать себе телескоп. Можно установить на компьютер Stellarium — виртуальный планетарий, и посмотреть на ночное небо, с комфортом лежа на диване… Но с комфортом ли? Чтобы выяснить ответ на этот вопрос, проверим Stellarium на наличие ошибок в компьютерном коде.
Немного о проекте.
Согласно описанию на сайте Wikipedia, Stellarium — это виртуальный планетарий с открытым исходным кодом, доступный для платформ Linux, Mac OS X, Microsoft Windows, Symbian, Android и iOS, а также MeeGo. Программа использует технологии OpenGL и Qt, чтобы создавать реалистичное небо в режиме реального времени. Со Stellarium возможно увидеть то, что можно видеть средним и даже крупным телескопом. Также программа предоставляет наблюдения за солнечными затмениями и движением комет.
Stellarium создан французским программистом Фабианом Шеро, который запустил проект летом 2001 года. Другие видные разработчики включают Роберта Спирмана, Джохэйннса Гадждозика, Мэтью Гейтса, Тимоти Ривза, Богдана Маринова и Джохана Меериса, который является ответственным за художественные работы.
… и об анализаторе
Анализ проекта проводился с помощью статического анализатора кода PVS-Studio. Это инструмент для выявления ошибок и потенциальных уязвимостей в исходном коде программ, написанных на языках С, C++ и C# (в скором времени и на Java!). Работает в среде Windows, Linux и macOS. Он разработан для тех, кому важно повышать качество своего кода.
Провести анализ было достаточно просто. Сначала я скачал проект Stellarium с GitHub, после чего установил все необходимые для сборки пакеты. Так как проект собирается с помощью Qt Creator, я использовал систему отслеживания запуска компиляторов, которая является встроенной в Standalone-версию анализатора. Там же можно просмотреть готовый отчёт об анализе.
Новые читатели и пользователи Stellarium возможно задались вопросом: почему в заголовке статьи фигурирует единорог и как он связан с анализом кода? Отвечаю: я являюсь одним из разработчиков PVS-Studio, а единорог — это наш любимый озорной маскот. Итак, вверх!
Я надеюсь, что благодаря этой статье читатели узнают для себя что-то новое, а разработчики Stellarium смогут устранить часть ошибок и улучшить качество кода.
Приносите себе кофе с воздушным круассаном и устраивайтесь поудобнее, ведь мы переходим к самому интересному — обзору результатов анализа и разбору ошибок!
Подозрительные условия
Для большего удовольствия от чтения предлагаю не смотреть сразу на предупреждение анализатора, а попробовать здесь и далее найти ошибки самостоятельно.
Предупреждение PVS-Studio: V654 The condition ‘start_of_directory == — 1’ of loop is always true. qzip.cpp 617
Смогли найти ошибку? Если да, то хвалю.
Ошибка кроется в условии цикла while. Оно всегда верно, так как переменная start_of_directory не меняется в теле цикла. Скорее всего, цикл не будет вечным, так как он содержит return и break, но выглядит такой код странно.
Как мне кажется, в коде забыли сделать присваивание start_of_directory = pos в том месте, где идёт проверка сигнатуры. Тогда и оператор break, пожалуй, лишний. В этом случае код можно переписать так:
Впрочем, я не уверен, что код должен быть именно таким. Лучше всего, чтобы сами разработчики проекта проанализировали эту часть программы и внесли нужные правки.
Еще одно странное условие:
Предупреждение PVS-Studio: V501 There are identical sub-expressions ‘cap.intersects(cap2)’ to the left and to the right of the ‘&&’ operator. StelProjectorClasses.hpp 175
Как вы уже, наверное, догадались, ошибка кроется в последней строчке функции: программист допустил опечатку, и в итоге получилось, что функция возвращает результат независимо от значения cap3.
Подобный тип ошибок встречается крайне часто: практически в каждом проверенном проекте мы встречали опечатки, связанные с именами вида имя1 и имя2 и им подобными. Как правило, такие ошибки связаны с copy-paste.
Данный экземпляр кода является ярким примером ещё одного распространенного паттерна ошибок, по поводу которого мы даже проводили отдельное мини-исследование. Мой коллега Андрей Карпов назвал его «эффектом последней строки». Если вы ещё не знакомы с этим материалом, то предлагаю открыть вкладку в браузере, чтобы почитать позже, а пока продолжим.
Да, результат этого выражения будет всегда корректен. Перед применением побитового «и» оба операнда будут повышаться до типа int. В языке C++ такая конвертация однозначна: false конвертируется в 0, а true конвертируется в 1. Поэтому результат у данного выражения будет таким же, как если бы использовался оператор &&.
Но есть нюанс. При подсчете результата операции && используется так называемое «ленивое вычисление». Если значение левого операнда является false, то правое значение даже не вычисляется, ведь логическое «и» в любом случае вернет false. Это сделано для экономии вычислительных ресурсов и позволяет писать более сложные конструкции. Например, можно проверить, что указатель не нулевой, и, если это так, разыменовать его для выполнения дополнительной проверки. Пример: if (ptr && ptr->foo()).
Такое «ленивое вычисление» не производится при использовании побитового оператора &: выражения conf->value(«. «, true).toBool() будут вычисляться каждый раз, независимо от значения pl->hasAtmosphere().
В редких случаях это бывает сделано специально. Например, если вычисление правого операнда имеет «побочные эффекты», результат которых используется позже. Так тоже делать не очень хорошо, потому что это затрудняет понимание кода и усложняет уход за ним. К тому же, порядок вычисления операндов & не определен, поэтому в некоторых случаях использования таких «трюков» можно получить неопределенное поведение.
Если нужно сохранить побочные эффекты — сделайте это в отдельной строке и сохраните результат в отдельную переменную. Люди, которые будут работать с этим кодом в дальнейшем, будут вам благодарны 🙂
Переходим к следующей теме.
Неправильная работа с памятью
Начнем тему динамической памяти с вот такого фрагмента:
Что же произойдет, если память под все три структуры выделится корректно, а функция MakeEdge(&mesh->eHead) вернет NULL? Поток управления достигнет второго по счету return.
Так как указатели newVertex1, newVertex2 и newFace являются локальными переменными, то после выхода из функции они прекратят своё существование. Но освобождения памяти, которая им принадлежала, не произойдет. Она останется зарезервированной, но доступа к ней мы больше иметь не будем.
Такие ситуации называются «утечка памяти». Типичный сценарий при такой ошибке: при продолжительной работе программы она начинает потреблять все больше и больше оперативной памяти, вплоть до полного её исчерпания.
Следует отметить, что в данном примере третий return не является ошибочным. Функции MakeVertex и MakeFace передают адреса выделенной памяти в другие структуры данных, тем самым делегируя ответственность за её освобождение.
Следующая недоработка находится в методе, который занимает 90 строк. Для удобства я сократил его, оставив только проблемные места.
Осталась всего одна строчка. Дам подсказку: это единственное упоминание объектов xs и ys.
Странные приведения типов
Еще один пример после небольшого форматирования выглядит вот так:
Для того, чтобы понять, в чем ошибка, вам придется посмотреть на прототипы конструкторов класса Qcolor:
Если программист намеревался создать объект из значений типа double, ему следовало использовать другой конструктор.
Например, можно было использовать конструктор, принимающий Qrgb, написав:
Можно было сделать и по-другому. В Qt для обозначения RGB-цветов используются вещественные значения в диапазоне [0.0, 1.0] или целочисленные в диапазоне [0, 255].
Поэтому программист мог перевести значения из вещественных в целочисленные, написав вот так:
Заскучали? Не переживайте: впереди нас ждут более интересные ошибки.
«Единорог в космосе». Вид из Stellarium.
Прочие ошибки
Напоследок я оставил вам еще несколько вкусняшек 🙂 Приступим к одной из них.
Предупреждение PVS-Studio: V634 The priority of the ‘*’ operation is higher than that of the ‘ Plane::Plane(. )’ should be used. Plane.cpp 29
Программист рассчитывал, что часть полей объекта будет инициализирована внутри вложенного конструктора, но получилось так: когда вызывается конструктор Plane(Vec3f &v1, Vec3f &v2, Vec3f &v3), внутри него создается безымянный временный объект, который сразу же удаляется. В результате часть послей объекта остается неинициализированной.
Чтобы код заработал правильно, следует использовать удобную и безопасную фичу C++11 — делегирующий конструктор:
Но если вы используете компилятор для более старых версий языка, то можно написать так:
Замечу, что последние два способа являются весьма опасными. Поэтому следует быть очень осторожным и хорошо понимать, как такие способы работают.
Заключение
Какие выводы можно сделать о качестве кода Stellarium? Честно говоря, ошибок было не очень много. Также во всем проекте я не обнаружил ни одной ошибки, в которой код завязан на неопределенном поведении. Для opensource-проекта качество кода оказалось на высоком уровне, за что я снимаю шляпу перед разработчиками. Ребята, вы молодцы! Мне было приятно и интересно делать обзор на ваш проект.
Что же насчет самого планетария — я пользуюсь им достаточно часто. К сожалению, живя в городе, я очень редко могу насладиться ясным ночным небом, а Stellarium позволяет мне оказаться в любой точке планеты, не вставая с дивана. Это действительно комфортно!
Особенно мне нравится режим «Constellation art». От вида огромных фигур, застилающих все небо в странном танце, захватывает дух.
«Странный танец». Вид из Stellarium.
Нам, землянам, свойственно ошибаться, и нет ничего постыдного в том, что эти ошибки просачиваются в код. Для этого и разрабатываются инструменты анализа кода, такие, как PVS-Studio. Если вы один из землян — ставьте лайк предлагаю скачать и попробовать самому.
Надеюсь, что вам было интересно читать мою статью, и вы узнали для себя что-нибудь новое и полезное. А разработчикам желаю скорейшего исправления найденных ошибок.
Подписывайтесь на наши каналы и следите за новостями из мира программирования!
Если хотите поделиться этой статьей с англоязычной аудиторией, то прошу использовать ссылку на перевод: George Gribkov. Into Space Again: how the Unicorn Visited Stellarium
Программа-планетарий Stellarium: как узнать, что за звёзды светят по ночам в окно
S tellarium – это программа-планетарий для исследования неба в режиме реального времени и с возможностью управления временем. Бесплатная, достаточно простая в использовании, гибко настраиваемая Stellarium, вряд ли, конечно, удивит профессионалов в области астрономии, но будет весьма кстати на первых этапах изучения Вселенной астрономами-новичками. А обыватели с её помощью смогут расширить свой кругозор, ознакомившись с азами устройства небосвода.
Или хотя бы просто узнать, что за звёзды светят по ночам в окно. Ниже познакомимся с ключевыми особенностями Stellarium в обзоре программы.
Бесплатно скачать программу для ОС Windows, Linux, Mac OS можно на официальном сайте:
1. Основной функционал программы
С помощью колёсика мыши можно приближать и удалять объекты на небе. По клику правой клавиши мыши относительно выбранной звезды, планеты или прочего космического объекта появится астрономическая справка. Кликом левой клавиши мыши справка с экрана убирается. Чтобы выбранный объект постоянно оставался в центре окна программы при его увеличении, можно использовать кнопку центрирования на панели инструментов внизу или клавишу пробела.
Для удобства при исследовании небосвода кнопками на панели инструментов внизу (или их горячими клавишами) можно включать и отключать фильтры:
— линий, названий и изображений созвездий, видимости поверхности земли,
— экваториальной и азимутальной сетки,
— названия планет Солнечной системы, отображения на небосводе экзопланет,
— отображения объектов глубокого космоса,
— а также прочих функций, в том числе и добавляемых путём включения плагинов программы.
Программа по умолчанию настроена оптимальным образом, чтобы неподкованный в области астрономии обыватель с помощью Stellarium мог удовлетворить своё любопытство, не вникая в ненужные для него технические подробности. Разве что совсем уж новичкам придётся прежде ознакомится с классификацией космических тел и понять, что значат отдельные их показатели. Знатоки же в области астрономии могут гибко настроить Stellarium под свои потребности, например, выбрав определённые каталоги звёзд, подобрав нужную картографическую проекцию, сменив предустановленную западную систему астрономических знаний на систему знаний ацтеков, египтян, китайцев и т.д. В то же время и обыватель найдёт в настройках Stellarium, реализованных во всплывающей боковой панели слева, вполне понятные и интересные вещи. Рассмотрим подробнее некоторые из таких настроек.
2. Местоположение
Первая кнопка боковой панели – настройка местоположения. Если по умолчанию неактивна галочка получения местоположения из сети, здесь можно её выставить, чтобы каждый раз при запуске программы вручную не выставлять страну и населённый пункт для отображения небосвода в реальном времени. Главная фишка этой настройки – обилие точек обзора, откуда можно наблюдать небосвод. В качестве точки обзора Stellarium позволяет вручную выбрать любой материк, любую страну, различные населённые пункты внутри стран. Небо в окне программы будет таким, каким его видно в выбранной местности в реальности.
А красавец Сатурн наиболее эффектен, если смотреть на него с поверхности спутника Мимас.
3. Дата и время
Переместиться из настоящего в прошлое или будущее космоса можно с помощью второй настройки боковой панели – таблицы установки даты и времени.
4. Ландшафт
Третья кнопка боковой панели запускает окно с настройками неба, объектов глубокого космоса, системы знаний о звёздах и ландшафта. Вкладка «Ландшафт» позволяет выбрать картинку поверхности до горизонта. В числе возможных для настройки картинок – океан, местности на Земле, Марсе, Луне, верхние слои атмосферы газовых гигантов.
Имитация поверхности планет – не более чем эффект, и чтобы сконцентрироваться лишь на небосводе, в качестве ландшафта можно выбрать нулевой горизонт, который просто окрасит поверхность в зелёный цвет. Ландшафт применяется для всех точек, откуда можно наблюдать небосвод, задав их в настройках местоположения. Утопать в верхних слоях газа Юпитера и Сатурна будем, рассматривая небосвод с Земли, Марса, Луны, а ландшафты последних придётся лицезреть, находясь на Уране, Нептуне и даже на Солнце.
Прорисовка атмосферы также одна для всех планет. Например, на Венере, на поверхности которой в реальности ничего не рассмотреть на небосводе ни днём, ни ночью из-за густых облаков из серной кислоты, в окне Stellarium на звёзды будем смотреть, как из райского безоблачного местечка на Земле.
5. Поиск космических объектов
Четвёртая кнопка боковой панели – поиск космических объектов по ключевому слову, по их координатам или в рамках списков. Списки космических объектов – неплохой инструмент для изучения Вселенной, если изначально не знать, что искать. Во вкладке «Списки» окна поиска Stellarium можем узнать местоположение на небосводе и получить справку об отдельных космических объектах как то: галактики, созвездия, квазары, блазары, скопления звёзд, остатки сверхновых и т.п. А на отдельные из них можно будет даже посмотреть.
6. Сценарии
Ещё один инструмент для тех, кто не знает с чего начать освоение Вселенной – инструмент «Сценарии».
Пятая кнопка боковой панели открывает окно с настройками программы. В предпоследней вкладке «Сценарии» будут доступны скрипты, демонстрирующие пользователю отдельные возможности Stellarium. Можем запустить скрипты для просмотра лунных и солнечных затмений, вспышки сверхновой, прохождения Венеры по диску Солнца и прочих астрономических событий. Есть скрипты в формате туров по различным уголкам космоса.
7. Плагины
После установки галочки активации того или иного плагина программу Stellarium необходимо перезапустить. У плагинов, как, например, у окуляра, могут быть свои отдельные настройки.
8. Сохранение и сброс настроек программы
С настройками Stellarium не стоит бояться экспериментировать, в любой момент всё настроенное можно вернуть в исходное состояние. Во вкладке настроек «Основная» присутствует кнопка «Первоначальные настройки». Рядом с ней расположена другая кнопка – «Сохранить настройки». О ней не нужно забывать перед выходом из программы, иначе после перезапуска внесённые настройки не сохранятся.
9. Ускорение хода времени
Плеерные кнопки на панели инструментов внизу – ещё одна возможность попасть в виртуальное прошлое или будущее, но не в один миг, как в случае с установкой конкретной даты, а постепенно и с определённой скоростью воспроизведения событий на небосводе. Закаты и рассветы на Земле и прочих планетах Солнечной системы можем наблюдать, как в кино, ускоренном вперёд или назад по временной линии. Плеерные кнопки в этих же целях могут быть использованы при просмотре сценариев.
Подводя итоги…
Что там говорить о качестве прорисовки планет, если в программе изображения имеются не для всех объектов глубокого космоса. О квазарах, блазарах, отдельных галактиках и остатках сверхновых, а также прочих космических объектах получим лишь краткую астрономическую справку, но не увидим, как они выглядят. Но ладно объекты глубокого космоса, искусственные спутники Земли хотя бы можно было нарисовать. Чтобы МКС выглядела как МКС, а не как звезда.
Ущербность графики Stellarium имеет обратную, положительную сторону – программу можно устанавливать на маломощные компьютеры.