O CÉU EM SCRIPTS: SIMULAÇÕES E DESCOBERTAS NO STELLARIUM

Lucas Henrique (08/setembro/2010)

breve apresentação de uma importante e moderna ferramenta ao ensino e divulgação de Astronomia

Que ensinar e aprender sobre o céu sejam ações agradabilíssimas, creio ser opinião comum entre todos aqueles que compartilham a honra de tê-lo como pauta de suas atividades diárias. E, mais ainda, contemplá-lo – e levar outros à sua contemplação – revela um sentimento sublime, familiar àqueles que o sentem a cada vislumbre noturno. Uma prática, no entanto, tem conquistado espaço cada vez maior entre os recursos disponíveis à difusão de nossos conhecimentos: os simuladores e mapas eletrônicos do céu. E, como expoente dessa nova e maravilhosa geração de ferramentas, destaca-se o Stellarium, um software em que eficiência e acessibilidade constituem atributos indistintos.
O ensino de ciência, sobretudo de Astronomia, representa um enorme gargalo à inauguração de recursos e estratégias didáticas. Posto que são dinâmicos e interativos, instrumentos como o Stellarium oferecem um grande salto de qualidade no que diz respeito à disseminação de conceitos antes estáticos em textos e figuras impressas. Naturalmente, livros e documentos técnicos continuam imprescindíveis a um aprendizado de qualidade; não resta dúvida, porém, que terão seu alcance maximizado por esses providenciais “catalisadores” digitais.
Mais que um mapa eletrônico do céu, o Stellarium caracteriza-se como um atraente e funcional mecanismo de exploração celeste. Objetos e fenômenos, postos a longuíssimas distâncias por nossos prolixos jogos de verbetes, podem agora ser manipulados e visitados a poucos cliques e toques de teclado. Termos antes complexos e esquecidos desenham-se com fluência, à medida que se esquadrinha o céu esboçado na tela. E, se uma imagem realmente vale mais que mil palavras, o que me dirão de uma bem modelada simulação?

Uma brilhante alternativa

Uma das características de maior aplicação no uso do Stellarium em aulas, ou apresentações em planetários digitais, consiste na possibilidade de disposição de ações em um script, uma espécie de roteiro de execução. Tal aspecto permite aos usuários maior autonomia em apresentações planejadas, posto definir certos níveis de organização temporal dos elementos presentes na demonstração.
Em linhas gerais, um script pode ser definido como um arquivo que contém uma lista de comandos, ou instruções, associados ao Stellarium. Os comandos permitem a manipulação indireta de todos os elementos inerentes ao software, bem como a inserção de objetos de fontes externas, como imagens e arquivos de áudio.
O objetivo deste texto, portanto, é oferecer aos usuários do Stellarium uma breve e consistente perspectiva do uso de scripts na execução do programa, desde sua elaboração primária à sua implementação em uma apresentação.

Criando scripts

Os scripts reconhecidos pelo Stellarium são arquivos de extensão STS, em alusão à linguagem de programação utilizada, Stratoscript, e podem ser gerados a partir de um editor de texto qualquer, desde que salvos sob o formato “nome.sts”.
Em geral, a estrutura dos algoritmos é direta e bastante intuitiva, caracterizada por comandos oriundos de uma base predefinida pela programação do software – q. v. Tabela 1: “Base de Referência aos Comandos Stratoscript”. O formato de cada comando consiste de um nome típico seguido por uma série de argumentos adicionais, com seus respectivos nomes e valores associados.
COMANDO ARGUMENTO_NOME1 ARGUMENTO_VALOR1 ARGUMENTO_NOME2 ARGUMENTO_VALOR2
Conforme se verifica, a separação entre cada elemento básico de uma linha de comando – comando, argumento e valor – é representada por um espaço em branco. Além disto, cada linha de comando equivale a uma linha do editor de texto, na qual os pares nome/valor dos argumentos podem ser dispostos em qualquer ordem.
Vale ressaltar o caso em que um dado valor apresente-se como uma expressão que envolva espaços. Nesta situação, a sentença deve ser inserida entre aspas. Por exemplo,
select nebula “Planetary Nebula Aquila” ,
onde select é o comando, nebula, o argumento e Planetary Nebula Aquila, o valor.
De acordo com referências extraídas da Tabela 1, seguem alguns exemplos de comandos aleatórios:

Enfatizamos, ainda, que todas as referências aqui dispostas, bem como os demais exemplos constantes no texto, podem apresentar variações dependentes do sistema operacional sob o qual o software é operado.

Inserindo elementos no Stellarium através dos scripts

Provavelmente, uma das mais atrativas funções de um script seja referente à inserção de recurso audiovisual em um show. As imagens, em 2D, podem então ser projetadas em qualquer região do dome, sob qualquer escala, enquanto os sons são executados no decorrer da apresentação.
As imagens inseridas devem estar em formato PNG, com dimensões, em pixels, correspondentes a potências de dois (128x128, 256x512, 1024x2048, etc.). Caso contrário, o próprio software irá redimensioná-las, o que pode acarretar perda relevante de qualidade. Um exemplo simples de comando para inserção de imagem segue abaixo,
image action load filename "title.png" ,
pelo qual pretende-se inserir a imagem de nome “title” na apresentação.
Quanto aos arquivos de áudio compatíveis com o Stellarium, são reconhecidos os formatos WAV (Windows Audio File) e OGG (Ogg Vorbis Format Áudio). No entanto, sempre que possível, este último deve ser preferencial. Se a velocidade de reprodução do script for alterada, por exemplo, arquivos de extensão WAV poderão perder a sincronia com os demais elementos da apresentação.
É importante lembrar que todos os arquivos de áudio e imagem mencionados em um script deverão constar no mesmo diretório em que tal script se encontra (em geral, .../Stellarium/data/scripts).

Reproduzindo scripts

A reprodução de scripts ocorre diretamente da interface do programa, não sendo possível executá-los em outro escopo. Assim, uma vez carregado o Stellarium, basta acessar seu menu de tarefas e selecionar o tópico 7, scripts. Em seguida, seleciona-se o script apropriado e fecha-se o menu de tarefas, o que inicia a execução.
Durante a reprodução, o operador pode ainda pausar o script, aumentar sua velocidade ou cancelar sua execução, restaurando o programa à última ação definida antes da interrupção. Além disso, pode-se alterar o volume do áudio a partir do controle remoto de operação. Não serão reconhecidos pelo programa quaisquer outros comandos enquanto durar a reprodução do scripts.

Um breve exemplo

Temos, a seguir, um pequeno script em sua estrutura final, ilustrativo de muitos dos termos que discutimos nas linhas anteriores. Enfatizamos que os comentários apresentados {textos entre chaves} não estão como dispostos no arquivo original e recomendamos a leitura do exemplo à luz da Tabela 1, de referência aos comandos Stratoscript.
#Início            {comentário} clear {restaura o estado primário do Stellarium, exibindo o céu de forma natural, sem seleções} wait duration 3 {determina o tempo, em segundos, de intervalo entre dois comandos consecutivos} date utc 1889:11:15T11:40:00 {ajusta a disposição dos objetos celestes a alguma data predefinida, sendo utc uma alusão ao horário universal (GMT)} wait duration 2 # Abertura com áudio audio action play filename clair.ogg output_rate 44000 volume 1 {execução do arquivo de áudio} image action load filename "title.png" name im01 alpha 1 scale 0.38 xpos 0 ypos 0.3 duration 10 {carrega a imagem definida em filename, em que duration refere-se ao tempo de entrada em segundos} wait duration 10 image action load filename "image.png" name im01 alpha 1 scale 0.3 xpos 0 ypos -0.5 duration 5 wait duration 8 image duration 1; action load filename "picture.png" name im02 alpha 1 scale 0.27 xpos 0.35 ypos -0.55 {forma de inserção da segunda imagem de forma a compartilhar a mesma tela de exibição da primeira} wait duration 60    {determina o tempo, em segundos, de duração do último comando, encerrando o script} # Fim do script

Notas à utilização de scripts no Stellarium

A elaboração de scripts é um processo iterativo. Não é incomum que um script não funcione corretamente à primeira tentativa, por mais simples que seja. Por vezes, são necessários vários testes e edições do arquivo original a que se obtenha um padrão de reprodução. No entanto, visando encurtar esse processo, valem algumas observações, que, em alguns casos, podem vir a ser decisivas.
Por exemplo, tenha em mente que o script precisa existir antes da inicialização do Stellarium. Se o arquivo for editado com o programa em execução, este deverá ser reinicializado para implementação das alterações.
Lembre-se também de definir o estado inicial do programa em seu script. Na ausência de especificação, a execução inicia-se com base nas últimas ações definidas no programa. A fim de evitar inconvenientes, recomendamos o uso do comando “clear” como a primeira das linhas de comando em seus scripts, a menos que se deseje manter as últimas ações do programa.
À melhor organização dos elementos, sugerimos ainda a disposição de comentários ao longo do algoritmo base do script. A inserção de um comentário segue da inserção comum de uma linha de texto, conquanto necessite ser diferenciada de uma linha de comando, sendo precedida do símbolo “#”.
Ao escrever um script, salve-o utilizando a função “Salvar como” de seu editor de texto, para que ao arquivo possa ser adicionada a extensão “.sts”, essencial ao seu reconhecimento por parte do Stellarium.
Enfim, como verificamos, os scripts são ferramentas importantes e abrangentes no uso do Stellarium, ampliando de modo substancial seu leque de aplicações. Sua plena implementação trata-se de uma questão de prática, donde também deverá advir a compreensão pressuposta à interpretação dos aspectos a eles inerentes.