Dominando o Stellarium: o poder oculto dos scripts.

O planetário virtual Stellarium é uma poderosa e divertida ferramenta para a simulação do céu. E é possível torná-lo ainda mais poderoso e divertido através de scripts que automatizam sua execução.

Os scripts são arquivos de texto com roteiros que comandam a execução automática de funções e a alteração de configurações no Stellarium. São especialmente úteis em exibições públicas, palestras e sessões de planetário, dispensando a necessidade da interação com o operador durante a sessão e tornando muito mais suaves as transições e animações.

Quer conhecer mais esse recurso do Stellarium e criar apresentações para impressionar seu público? Então esse post é pra você.

“Hello World”

Nosso primeiro script é o clássico “Hello World”, escrevendo uma saudação na tela do aplicativo.

Usaremos o console acessível através da tecla de função F12 de seu teclado.

Console de execução de Scripts no Stellarium 0.22.2 [Wandeclayt M./@ceuprofundo]

Dentro da aba “Script” no console, vamos digitar o nosso código. O código é razoavelmente simples e você certamente vai entender os parâmetros envolvidos, mas se quiser conhecer com mais detalhes a classe LabelMgr, utilizada para escrever a mensagem na tela, consulte a documentação do Stellarium aqui.

As linhas iniciadas com “//” são comentários, e não são interpretadas como comandos.

// primeiro vamos limpar a tela, apagando rotulos que possam estar exibidos
LabelMgr.deleteAllLabels();

// criamos variaveis para cada parametro
var mensagem = "Hello World!";
var posicaoX = 200;
var posicaoY = 400;
var tamanhoFonte = 36;
var corFonte = "#FFFF00" //amarelo

// exibicao da mensagem
LabelMgr.labelScreen(mensagem, posicaoX, posicaoY, true, tamanhoFonte, corFonte);

O resultado desse script é a exibição da mensagem “Hello World” em caracteres amarelos, com tamanho 36, na posição (x=200, y=400) da tela.

Um jeito mais curto de escrever isso seria inserir os valores diretamente na função, sem o uso de variáveis. :

LabelMgr.deleteAllLabels();
LabelMgr.labelScreen("Hello World", 200, 400, true, 36, "#FFFF00");

Segundos Passos

Você agora já deu seus primeiros passos no maravilhoso mundo dos scripts do Stellarium e é hora de descobrir um pouco mais do que esse mundo pode oferecer.

No próximo exemplo vamos automatizar algumas funções básicas, alterando seus parâmetros para visualizar a passagem meridiana do Sol em diversas latitudes no dia do equinócio de setembro de 2024.

Queremos que as funções sejam executadas em sequência e que haja um intervalo entre a execução de algumas delas.

A sequência de comandos desejada é:

  1. Ajustar a data e hora para (“2024:09:22T12:00:00”, “local”)
  2. Interromper passagem do tempo;
  3. Habilitar visualização realista;
  4. Ajustar posição para São José dos Campos (-23.22, -45.90, 650m)
  5. Ajustar campo para 180º;
  6. Olhar para o zênite, de frente para o sul.;
  7. Exibir linha da eclíptica;
  8. Exibir equador celeste;
  9. Deslocar para a latitude de alcântara, mantendo a longitude;
  10. Deslocar para o trópico de câncer, mantendo a longitude;
// Author: Projeto Ceu Profundo
// Version: 0.0.1
// License: Public Domain
// Name: Primeira Luz - Tarefa 1 (Equinócio de Setembro)
// Description: Exibe o Sol ao meio dia local em três latitudes diferentes.

// Made on Stellarium 0.22.2

//1. Ajustar a data e hora para ("2024:09:22T12:00:00", "local")
core.setDate("2024:09:22T12:00:00", "local");
//2. Interromper passagem do tempo;
core.setTimeRate(0);
//3. Habilitar visualização realista;
core.clear("natural");
core.wait(5) // introduz um atraso de 5 segundos até a próxima função
//4. Ajustar posição para São José dos Campos (-23.22, -45.90, 650m)
core.setObserverLocation(-45.9, -23.22, 650., 3., "São José dos Campos", "Terra");
//5. Ajustar campo para 180º;
StelMovementMgr.zoomTo(180, 2);
//6. Olhar para o zênite, de frente para o sul.;
StelMovementMgr.lookZenith();
core.wait(2) // introduz um atraso de 2 segundos até a próxima função
//7. Exibir linha da eclíptica;
GridLinesMgr.setFlagEclipticLine(true);
core.wait(2) // introduz um atraso de 2 segundos até a próxima função
//8. Exibir equador celeste;
GridLinesMgr.setFlagEquatorLine(true);
core.wait(2) // introduz um atraso de 2 segundos até a próxima função
//9. Deslocar para a latitude de alcântara, mantendo a longitude;
core.setObserverLocation(-45.9, -2.5, 10., 3., "Alcântara", "Terra");
core.wait(5) // introduz um atraso de 5 segundos até a próxima função
//10. Deslocar para o trópico de câncer, mantendo a longitude;
core.setObserverLocation(-45.9, 23.22, 10., 3., "Trópico de Câncer", "Terra");

Próximos Passos

Agora você já deve ter percebido que o céu não é o limite (#BaDumTss) para a sua criatividade na hora de escrever scripts para o Stellarium.

Os seus scripts serão tão complexos e atraentes quanto o seu repertório permitir. Familiarização com as funções e capacidades do Stellarium é a condição fundamental para automatizar essas funções e capacidades através de scripts. A documentação em http://stellarium.org/doc/head/ é bem completa e é uma grande aliada para usuários mais avançados. Mas se você quer seguir adiante sem mergulhar no manual, listamos a seguir alguns comandos úteis em um guia de referência para seus primeiros scripts.


GUIA DE REFERÊNCIA

Core (Funções Básicas)

core.clear(“natural“) – Limpa as opções de exibição. Apaga linhas, marcadores e rótulos. Exibe atmosfera e paisagem.

core.setDate(“aaaa-mm-ddThh:mm:ss”, “local/utc”) – Ajusta a data/hora.
core.setDate(“now”) – Ajusta a data/hora para a data/hora atual do sistema.

core.wait(i) – Introduz uma pausa de i segundos.
core.setTimeRate(i) – Ajusta a velocidade da simulação (0=tempo interrompido, 1=velocidade natural, n = tempo acelerado n vezes.)
core.waitFor(“aaaa-mm-ddThh:mm:ss”, “local/utc”) – Espera até a data/hora indicada.

core.setObserverLocation(longitude, latitude, altitude, duração, nome, planeta)
core.setGuiVisible(true/false) – exibe(true)/oculta(false) a interface gráfica.
core.setFlagGravityLabels(true/false) – habilita/desabilita rótulos orientados com o horizonte.

core.selectConstellationByName(“constelação”) – Seleciona a constelação indicada. Use o nome da constelação em latim ou o código de três letras (ex: “Virgo” ou “Vir”).
core.selectObjectByName(“nome do objeto”) – Seleciona um objeto celeste. Use a designação do objeto em um catálogo de céu profundo (NGC, Messier…), uma designação estelar (Bayer, Flamsteed, HD… ), o nome de uma constelação – em latim ou usando a designação de 3 letras da IAU – ou o nome de um planeta (em inglês).

core.moveToAltAzi(atura, azimute, duração) – aponta para a atura e azimute indicados.
core.moveToObject(“nome do objeto”, duração) – aponta para um objeto celeste indicado. Use a designação do objeto em um catálogo de céu profundo (NGC, Messier…), uma designação estelar (Bayer, Flamsteed, HD… ), o nome de uma constelação – em latim ou usando a designação de 3 letras da IAU – ou o nome de um planeta (em inglês).
core.moveToSelectedObject(duração) – Aponta para um objeto selecionado.

http://stellarium.org/doc/head/classStelMainScriptAPI.html

LandscapeMgr (Atributos de Cenário)

LandscapeMgr.setFlagCardinalPoints(false) – exibe(true)/oculta(false) os pontos cardais.
LandscapeMgr.setFlagAtmosphere(true/false) – exibe(true)/oculta(false) atmosfera.

GridLinesMgr (Atributos de Linhas)

GridLinesMgr.setFlagEquatorGrid(true/false) – exibe(true)/oculta(false) a grade equatorial.
GridLinesMgr.setFlagEquatorLine(
true/false) – exibe(true)/oculta(false) o equador celeste.
GridLinesMgr.setFlagAzimuthalGrid(
true/false) – exibe(true)/oculta(false) a grade azimutal.
GridLinesMgr.setFlagEclipticLine(true/false) – exibe(true)/oculta(false) a linha da eclíptica.
GridLinesMgr.setFlagMeridianLine(true/false) – exibe(true)/oculta(false) a linha do meridiano local.
GridLinesMgr.setFlagCircumpolarCircles(
true/false) – exibe(true)/oculta(false) círculos circumpolares.
GridLinesMgr.setFlagCelestialPoles(true/false) – exibe(true)/oculta(false) os polos celestes.

http://stellarium.org/doc/head/classGridLinesMgr.html

ConstellationMgr (Atributos de constelações)

ConstellationMgr.setFlagArt(true/false) – exibe(true)/oculta(false) arte das constelações.
ConstellationMgr.setFlagBoundaries(true/false) – exibe(true)/oculta(false) bordas das constelações.
ConstellationMgr.setFlagLines(true/false) – exibe(true)/oculta(false) linhas das constelações.
ConstellationMgr.setFlagLabels(true/false) – exibe(true)/oculta(false) rótulos das onstelações.

StelMovementMgr ()

StelMovementMgr.lookZenith() – aponta para o zênite, com o Sul na parte de baixo da tela.
StelMovementMgr.deselection() – desfaz a seleção de objeto.
StelMovementMgr.zoomTo(campo em graus, duração) – ajusta o zoom para o campo indicado.

http://stellarium.org/doc/head/classStelMovementMgr.html

I Campanha LCO 2023 – Primeiros Passos.

Estamos entrando na primeira campanha de observação com telescópios robóticos da rede LCO em 2023, e se você está participando pela primeira vez, certamente não faltam dúvidas.
A boa notícia é que estamos aqui para saná-las e garantir que todo mundo possa aprender (e se divertir muito) fazendo imagens de objetos de céu profundo com instrumentos de alto desempenho localizados em alguns dos melhores sítios para observação astronômica do mundo!

Vou precisar instalar algum aplicativo?

Janela do aplicativo DS9, com dados de imagem da galáxia M101
Janela do DS9 com imagem da galáxia M101 capturada com telescópios do LCO.

Sim. Para visualizar e processar nossas imagens, usaremos o software SAO Image DS9, um programa gratuito e de código aberto usado extensivamente na astronomia profissional e que permite não apenas visualizar os dados, mas também realizar uma série de tarefas científicas em nossas imagens. Comece procurando a versão adequada para seu sistema operacional no site https://ds9.si.edu e instale, tomando o cuidado de não realizar a instalação em nenhum caminho que inclua pastas com espaços ou caracteres especiais ou acentuados em seu nome!

Devo instalar mais alguma coisa?

Janela do Stellarium com dados do aglomerado aberto M6.

É interessante ter o planetário virtual Stellarium funcionando também. Ele também é disponibilizado para todos os sistemas operacionais mais populares e também é gratuito e de código aberto. Baixe em https://stellarium.org

No Stellarium você vai poder visualizar os objetos visíveis no período da campanha e pode inclusive ter ideia das dimensões e brilho desses objetos! É uma boa ferramenta para o planejamento.

E agora, o que tenho que fazer?

Você receberá alguns emails da organização do projeto e da coordenação internacional do IASC com instruções para criar sua conta de acesso e depois terá 1h de tempo de observação alocado a essa conta.

Quando você tiver seus dados de login, pode acessar o portal do IASC/LCO

Portal IASC/LCO

Você encontrará vários links úteis e tutoriais no site, mas aqui no ceuprofundo.com e nas lives de treinamento nos canais do Céu Profundo e do Observatório Nacional no Youtube vamos detalhar todos os passos e tirar todas as dúvidas. Você também receberá o link para entrar num grupo do whatsapp em seu email cadastrado.

E por onde começo a entender o que são objetos de céu profundo?

O vídeo abaixo é uma introdução aos objetos de céu profundo. É um excelente primeiro passo:

Agora me empolguei! Que mais devo assistir?

Primeiro leia esse post mais detalhado aqui no site mesmo (Olha lá em cima no menu! temos uma aba LCO):
https://ceuprofundo.com/2022/08/16/lco-guia-do-participante/

E depois vem nessa playlist pensada exatamente para participantes do projeto LCO:


Leia também

MOBFOG – Mostra Brasileira de Foguetes – Você Não Vai Acreditar no Desempenho desses Pequenos Foguetes

palavras-chave: foguetes, mobfog, física, ensino, astronáutica, oba.

Garrafas PET, água, ar comprimido e paixão pelo espaço! São esses os ingredientes para construção e lançamento dos foguetes do nível 3 da MOBFOG – A Mostra Brasileira de Foguetes, uma competição estudantil irmã da célebre OBA – Olimpíada Brasileira de Astronomia.

Estudantes do 6° ao 9° ano do ensino fundamental de escolas públicas e privadas de todo o Brasil participam do nível 3 da MOBFOG, competem pelas medalhas que premiam os foguetes com maior alcance. Mas muito mais valiosos que a premiação são o espírito de colaboração e a oportunidade prática de aprendizado de conceitos de física, matemática e tecnologia aeroespacial proporcionados pela empolgante atividade.

Foguete nível 3 da MOBFOG 2023 de alunas do clube Meninas na Ciência, montado na plataforma de lançamento no campo do INPE em São José dos Campos para uma bateria de ensaios de avaliação. Após a análise dos voos, modificações foram realizadas para otimizar o desempenho dos foguetes!

Em São José dos Campos (SP) , um polo de pesquisa e desenvolvimento na área aeroespacial, os professores e estudantes de escolas públicas municipais ganharam o reforço de pesquisadores e técnicos do Instituto Nacional de Pesquisas Espaciais (INPE) e do Instituto de Aeronáutica e Espaço (IAE/DCTA) no planejamento e análise do voo dos foguetes.

Para visualizar a dinâmica de voo dos velozes foguetes, o Laboratório de Registro de Imagens do IAE registrou os lançamentos em vídeo de alta velocidade, a 1000 quadros por segundo, permitindo analisar em detalhes a fase inicial do voo e identificar falhas de construção que prejudicam o desempenho dos foguetes.

E o que podemos aprender com os foguetes da MOBFOG?

Captura de tela do software Tracker com o lançamento de um foguete nível 3 da MOBFOG. Os gráficos à direita são do deslocamento e da velocidade do foguete em função do tempo. [créditos LRIM/IAE]

Analisando os vídeos com o software de rastreio TRACKER (um programa aberto e gratuito!), podemos acompanhar o deslocamento do foguete quadro a quadro. Plotando em um gráfico o deslocamento em função do tempo temos uma representação visual de cada fase do voo, identificando a evolução da velocidade do foguete. O Tracker está disponível para download para os os sistemas operacionais Linux, Mac OS X e Windows ou pode ser executado online em sua versão em JavaScript.

Assim que o foguete é liberado e inicia seu movimento, vemos um aumento constante da velocidade. Em seguida, o foguete deixa a base e a velocidade passa a variar com uma taxa mais elevada, mas aproximadamente constante, até que toda a água em seu interior é liberada. A partir daí o foguete segue uma trajetória balística, sujeita apenas a ação da gravidade e da resistência do ar.

A geometria do foguete tem um papel importante em seu desempenho. A posição e o formato das empenas e a posição do centro de gravidade podem torná-lo mais ou menos instável e interferir no alcance máximo. A contribuição desses fatores fica evidente na análise de vídeo.

Mas a maior surpresa pode vir dos valores de velocidade máxima e aceleração que os pequenos foguetes de garrafas PET podem atingir. Acelerações de 100g e velocidades acima de 60m/s foram registradas! Isso reforça a necessidade da estrita observação das normas de segurança: uso de Equipamento de Proteção Individual (EPI), sinalização e isolamento da área de lançamento!

E se tudo for feito com segurança, os lançamentos são um excelente recurso prático para o aprendizado de conceitos físicos como velocidade, aceleração, empuxo, pressão, momento e para a interpretação de gráficos.