Relatorio

Propaganda
Simulador Céu Nocturno
Fundação Navegar - Centro Multimeios de
Espinho
Ricardo Jorge Gamelas de Sousa
Universidade de Porto
Faculdade de Ciências
Ciência de Computadores
29 de Junho de 2007
Capítulo 1
Introdução
Para a criação de conteúdos para planetários é essencial a utilização de uma
ferramenta que consiga simular o céu, nomeadamente nocturno, onde objectos como estrelas e planetas sejam devidamente representados. Estas ferramentas já existem, sobretudo funcionando em tempo real, cujo resultado
está muitas vezes longe do aceitável, pois muitas das características do céu
nocturno são difíceis de simular em tempo real.
Pretendeu-se assim criar um software original, sob a forma de plug-in para
o software de composição de vídeo, o Adobe After Eects [1], que simule com
o máximo realismo o céu nocturno.
Este projecto, esteve divido pelas seguintes fases:
1. Representação dos objectos principais, nomeadamente estrelas e planetas, a partir de catálogos e rotinas já denidas;
2. Representação de elementos secundários, nomeadamente constelações
e fronteiras de constelações;
3. Introdução de efeitos associados à atmosfera, nomeadamente absorção
e cintilação das estrelas;
4. A representação do Sol e da Lua. Os efeitos do nascer e pôr do Sol, e
a representação da Lua de uma forma realista.
1.1
Organização do relatório
O relatório encontra-se organizado da seguinte forma: inicialmente é dada
uma pequena introdução a termos astronómicos mais relevantes, havendo
no nal um glossário (nomenclatura) de todos os termos que foram utilizados em todo este documento e seus signicados. De seguida é feita uma
breve referência às ferramentas existentes e às suas principais funcionalidades. Passando à descrição da ferramenta desenvolvida, é feita uma listagem
2
1.1 Organização do relatório
3
das ferramentas utilizadas assim como bibliotecas e a implementação das
várias fases que em cima referi. Finalmente, os resultados obtidos são discutidos, as conclusões e o trabalho futuro descritos.
Capítulo 2
O Céu
Uma imagem do céu, principalmente nocturna, necessita de incorporar vários elementos. De dia, está-se reduzido à presença do Sol e da Lua. Se
o observador se deslocar para regiões remotas, é acrescido ao céu mais elementos, tornando-se totalmente límpido e com mais alguns pormenores, se
o observador se encontrar no espaço. Tal deve-se a factores de perturbação
como a poluição e a luz das cidades, o calor que se evapora da Terra durante
a noite e a própria atmosfera.
Estrelas, Planetas e a Lua são talvez os astros mais conhecidos e os mais facilmente detectáveis a olho nu. No entanto, na posse de equipamentos como
binóculos e/ou telescópios, poderemos ainda ver astros como as galáxias e
nebulosas.
Em suma, para criar uma ferramenta que tenha como objectivo a representação com maior precisão e qualidade tudo o que vemos no mundo real, tem-se
que tratar o comportamento da luz na nossa atmosfera, o brilho das estrelas, a luz de fundo da nossa galáxia, a poeira celestial, tendo em conta os
factores de pertubação já referidos. Tem-se também que representar informações complementares que são nada mais que pontos de referência, como
os pontos cardeais, a grelha horizontal, que é a altitude e azimute, grelha
equatorial, que é a ascensão recta e declinação, e também o equador celeste,
a linha ecliptica, a linha de precessão, e o produto da imaginação humana,
as constelações e as suas fronteiras.
2.1
Representação do Céu
Todos os objectos visíveis no céu podem ser representados como projecções
na esfera celeste. Esta pode ser considerada como um globo ctício de raio
indenido cujo centro radial é o observador, como se pode ver na gura 2.1.
Na esfera celeste temos as posições aparentes dos astros, independentemente
das suas distâncias, o equador celeste que se encontra no mesmo plano que
o equador terreste e a linha eclíptica que é o caminho que o sol faz no céu ao
4
2.1 Representação do Céu
5
longo dum ano. Temos também à semelhança da longitute e latitute terreste,
a Ascensão Recta (α)1 e a Declinação (δ )2 respectivamente.
O zénite trata-se do ponto que está directamente acima do observador enquanto
o nadir é exactamente o oposto. Por m, o
meridiano é um circulo imaginário que passa
na supercie da esfera celeste desde o Norte
ao Sul e o ponto vernal, é o ponto quando
temos a ascensão recta a zero.
2.1.1
Pertubações e outros efeitos
No mundo real, existem pormenores que não
são muitos susceptiveis ao olho humano e
outros fenómenos que só vericam com o
avançar rápido do tempo. Rero-me pois,
à aberração, nutação e precessão3 .
A aberração é um fenómeno do aparente moFigura 2.1: Ascensão Recta,
vimento dos objectos celestes. Por exemplo,
Declinação e Equador Celeste
para um observador na Terra, a direcção da
sua velocidade varia durante o ano que a
Terra demora a rodar à volta do Sol, o que
provoca a aparente variação de posição no céu. A precessão refere-se à mudança da direcção do eixo de rotação, neste caso, da Terra. Se pegarmos num
exemplo de um pião a rodar, além deste rodar sobre o seu eixo de rotação,
também faz um movimento circular. Tal movimento, é a precessão, ao passo
que a nutação, é um movimento muito ténue e irregular no eixo de rotação
do objecto como a gura 2.2 evidencia.
Figura 2.2: Nutação e Precessão. A letra R, signica a rotação da Terra, o
N é a Nutação e o P é a Precessão
1
consultar nomenclatura para denição de Ascensão Recta
consultar nomenclatura para denição de Declinação
3
consultar nomenclatura para as denições de Aberração, Nutação e Precessão
2
Capítulo 3
Trabalhos Relacionados
Neste capítulo irei referir as poucas ferramentas existentes relacionadas nesta
àrea, apesar de terem intuitos diferentes, e descrever quais as suas principais
funcionalidades como possíveis contras para o seu uso em planetários e desenvolvimento de sessões cinematográcas.
As ferramentas utilizadas, foram o The Sky [6] 1 , versão 5.00.108, e o Stellarium [7], versão 0.90.
3.1
The Sky
O The Sky é uma ferramenta comercial e muito completa. O utilizador, tem
ao seu dispôr uma quantidade enorme de opções, a começar nas 6 projecções (estereográca, ortográca, azimutal de igual àrea, azimutal de igual
distância, gnomónica e a de mercador), ltros que permitem seleccionar o
que se deseja ou não ver (planetas, estrelas, constelações, galáxias, linhas de
referência, meteoros, etc), a orientação e localização - ver gura 3.1(b) - do
observador. Contudo, na versão testada, se o observador não se encontrar
nalgum estado dos Estados Unidos da América, as coordenadas terão que
ser introduzidas manualmente.
O utilizador tem também ao seu dispôr, uma quantidade variada de catálogos
para as estrelas.
Este software permite que seja seleccionado qualquer astro dando assim
imensa informação ao utilizador. No caso da gura 3.1(a), em que o objecto
seleccionado foi o planeta Saturno, os dados obtidos são a posição pelas
coordenadas equatoriais, horizontais, heliocêntrica eclíptica, geométrica geocêntrica eclíptica, entre outras, a que horas locais o planeta aparece no
horizonte, a velocidade, várias fotograas do astro em questão e muito mais.
Para nalizar, a possibilidade de ver as constelações - ver gura 3.1(c) - traz
1
A versão testada do The Sky encontra-se desactualizada. Dada a impossibilidade de
teste da nova versão, a descrição aqui feita terá em mente que os possíveis contras aqui
descritos poderão já estar ultrapassados com a nova versão
6
3.2 Stellarium
7
(a) Informação de Saturno
(b) Localização de observação
Figura 3.1: Images ilustrativas do
(c) Constelações
The Sky
um problema, pois estas não estão preparadas para a projecção em planetários. Apesar de permitir a gravação de sessões on y, torna-se difícil a edição
de vídeo, já que ter-se-à que fazer um novo video sempre que for desejado
mudar algum parâmetro, como por exemplo, os saltos no tempo.
3.2
Stellarium
Stellarium é uma ferramenta opensource já premiada pela Trophee du Libre [5], reconhecida e usada no mundo dos planetários.
O
A nível de representação do céu, esta tem por omissão um catálogo de mais
de 600.000 estrelas, que pode ser alargado com catálogos extra a mais de 210
milhões de estrelas e permitindo também a visualização dos desenhos das
constelações e/ou ilustrações - ver gura 3.2(c). Contém também imagens
de nébulas, da Via Láctea, dos planetas e seus satélites.
No que toca à interface e visualização, o Stellarium tem ao dispôr do utiliza-
(a) Procura por um astro
(b) Localização de observação
Figura 3.2: Images ilustrativas do
(c) Figuras artísticas das
constelações
stellarium
dor um mapa com localizações pré-denidas - ver gura 3.2(b) de observação
em vários locais do mundo e permite scripting para gravar e reproduzir videos. No entanto, segundo a faq [8], tal funcionalidade ainda se encontra
experimental para versões internacionais do windows que, segundo o mer-
8
3. Trabalhos Relacionados
cado dos planetários, é o sistema operativo mais utilizado a seguir ao mac.
Outro contra, é que necessita dum script de conguração para fazer a gravação.
Finalmente, o Stellarium permite não só a procura por astro - ver gura 3.2(a),
visualização da grelha equatorial e azimutal, como ainda o piscar das estrelas
(que é um efeito provocado pela nossa atmosfera), simulação de eclipses e
panoramas pela forma de skins.
Capítulo 4
Descrição de tecnologias usadas
As tecnologias utilizadas no desenvolvimento deste projecto foram o Visual
Studio 2003 e o Adobe After Eects, e as linguagens de programação foram o C++ e o Perl. Este último foi utilizado em eventuais ocasiões para
manipulação de cheiros de conguração que irei referir na página 10.
4.1
Catálogos e Bibliotecas
Para a composição dos vários elementos que compõem o céu, foram usados catálogos que contêm informação detalhada e bibliotecas que permitem
calcular as suas respectivas posições com uma mínima margem de erro.
4.1.1
Estrelas
Para as estrelas utilizou-se o catálogo Hipparcos [2]. Este catálogo contém
118.218 estrelas, muitas mais das que são visiveis a olho nu num céu nocturno em perfeitas condições atmosféricas.
Após saber as estrelas com que se ia trabalhar, utilizou-se a biblioteca NOVAS [16] para posicioná-las na respectiva localização para uma determinada
data e localização do observador.
4.1.2
Planetas
Nos planetas, foi também utilizado a biblioteca NOVAS em conjunto com a
VSOP [4]. Enquanto a NOVAS trata de factores como a nutação, precessão
e aberração, a VSOP calcula a posição dos planetas e a sua velocidade num
referencial ligado ao sistema solar, sendo a NOVAS utilizado para posicionar
o planeta relativamente ao observador terreste.
9
4. Descrição de tecnologias usadas
10
4.1.3
Constelações
Para o desenho das constelações, utilizou-se um cheiro com a identicação
das estrelas com o seguinte formato:
• identicador - um dígito que corresponderá a:
0 - mover para a estrela
1 - desenhar estrela
2 - m da constelação
3 - nova constelação
4 - m do cheiro
• dois dígitos no caso do identicador ser três, cujo signicado é o cumprimento do nome da constelação ou, em caso contrário, seis dígitos no
máximo, que correspondem ao número da estrela no catálogo Hiparcos;
• o nome da constelação, se o identicador for três.
Inicialmente, o formato do catálogo não era o referido em cima sendo
um completamente arbitrário, no entanto seguia a losoa dos identicadores. Tal tornava a leitura penosa e de complexidade computacional acrescida
sempre que o plug-in fosse carregado pelo Adobe After Eects. Por último
e mais importante, no caso do utilizador querer acrescentar mais alguma
constelação para referenciar, por exemplo, uma possível constelação daqui
a 1000 anos, era então necessário denir um formato rigoroso, pelo que se
utilizou o Perl[3] para tal efeito.
Assim, permitiu que o cheiro casse mais legível, e por sua vez, facilidade
ao utilizador do plug-in de seguir regras simples para criar uma nova constelação.
4.1.4
Fronteira das Constelações
Para a fronteira das constelações utilizou-se um catálogo com o seguinte
formato:
• oito dígitos correspondentes à Ascensão Recta;
• nove dígitos correspondentes à Declinação;
• quatro dígitos, no minimo três, com o nome reduzido da constelação.
Capítulo 5
Implementação
5.1
Corte de elementos fora dos limites da projecção
sheye
As estrelas e planetas podem ser cortados facilmente dos limites da projecção sheye, vericando se não ultrapassam o hyperangle, ou seja, quando não
se verica a seguinte fórmula para um ponto (x, y) e sendo r o raio da doma:
x2 + y 2 ≤ r 2
Para as linhas, são utilizados outros métodos como aqueles utilizados nas placas grácas. Para este trabalho, foi utilizado o método de Liang-Barsky [12].
5.2
Datas
O plug-in é inicializado com a data do sistema e utilizando funções denidas
no projecto fulldome [9], calcula-se a data juliana correspondente. Esta data,
será sempre a data de referência para calcular tudo no projecto.
5.2.1
Saltos no tempo
À semelhança do programa The Sky, podemos fazer o tempo saltar de x
em x tempo. Com esta funcionalidade, podemos vericar o céu a rodar em
saltos, com intervalos de segundos, minutos, horas, dias, e dias siderais1 .
Este último, é o ideal para vericar a aberração das estrelas.
Esta opção foi feita mediante a implementação dum autómato, em que o
estado inicial é a inicialização do primeiro keyframe e da data em que o plugin se encontra a trabalhar, o segundo estado é o render feito na mudança
para o frame do segundo keyframe. O terceiro e último estado, é o render
nal entre, ou não, dos keyframes.
1
consultar nomenclatura para a denição de Dia Sideral
11
5. Implementação
12
5.3
Estrelas e Planetas
Na altura em que este relatório foi feito, as estrelas e planetas são representadas por um pixel de cor branca e vermelho respectivamente. No entanto,
não será a representação nal, sendo alterações feitas posteriormente.
5.4
Ângulo Esférico
O ângulo esférico é a abertura do ângulo de
visão da doma. Num ângulo esférico a 180o ,
teremos uma projecção preparada para uma
doma com a forma de meia esfera como a
gura 5.1 evidencia, e com um ângulo esférico de 360o teremos uma doma com a forma
duma esfera.
5.5
Magnitude
Figura 5.1: Doma
A magnitude de uma estrela ou dum astro
é a intensidade do brilho desse objecto visto
da terra numa escala entre os -26 e 26. Num
céu nocturno límpido, i.e., com ausência da
luz das cidades, a olho nu pode-se ver os astros que tenham uma magnitude
até de 5.5. Para termos de comparação, o Sol tem magnitude de -26 e a Lua
de -12, aproximadamente.
5.6
False North
A opção False North traz a funcionalidade de rodarmos sobre o observador.
Imaginando que o objecto em destaque e de que se quer falar numa sessão de planetário se encontra atrás dos espectadores, ao fazer esta rotação
proporcionará uma melhor observação ao trazer o objecto para a frente do
observador.
5.7
Efeitos de Pertubação
Conhecendo já os efeitos de pertubação descritos na página 5, secção 2.1.1,
seria interessante o utilizador poder activar e desactivar mediante o gosto e
necessidade.
Assim, dado que a NOVAS permitia em certa parte esse tipo de operações,
este foi adaptado para as necessidades do plug-in.
As opções para a refracção (da atmosfera) tendem em conta a tornar a
5.8 Localização do Observador
13
visualização mais realista mediante a localização do observador. Por outras
palavras, se o observador se encontrar a olhar para o céu e estiver ao nível
do mar, a temperatura, pressão e, obviamente, a altitude, serão diferentes
dum observador que esteja a olhar para o céu, por exemplo, no pico da Serra
da Estrela.
5.8
Localização do Observador
O observador poderá estar a várias alturas, submetido a várias pressões mediante a altura e a temperaturas. No entanto, seria também importante
deslocar o observador para outras localizações no globo terreste. A nalidade desta deslocação pode ser, como por exemplo, demostrar ao espectador
o que poderia ver se estivesse na umbra e depois na penumbra dum eclipse
ou vice-versa.
5.9
Desenho das Linhas
Existem vários métodos para o desenho de linhas, sendo o mais conhecido o
de Bresenham [10]. No entanto este método traz aliasing às linhas, como se
pode ver na gura 5.2.
(a) Imagem com
antialia-
sing
(b) Imagem sem
antialia-
sing
Figura 5.2:
Antialiasing
Para tal existem técnicas que, em conjugação com métodos como o de
Bresenham, removem o aliasing.
As placas grácas da actualidade utilizam métodos como supersampling [17],
mas trazem um grande custo de performance quando aplicados em software
já que necessitam duma imagem 2, 3, 4 ou mais vezes maior mediante o
método utilizado, 2x2, 3x3, 4x4 respectivamente.
O método utilizado, foi o de Robert McNamara, Joel McCormack, Norman
P.Jouppi [15] onde não traz overhead do supersampling e já tem em conta a
largura da linha.
5. Implementação
14
5.10
Grelhas Horizontais e Equatoriais
A grelha horizontal é composta pelo azimute e altitude enquanto a grelha
equatorial é composta por a ascensão recta e declinação, como já referido na
página 4.
Para termos curvas preparadas para a projecção sheye, i.e., preparada para
a projecção numa doma tal como demonstrado na gura 5.1, utilizou-se um
método adaptativo com um threshold 5 pixéis 2 de distância angular.
Por outras palavras, dados dois tuplos (Rai , Deci ) e (Raf , Decf ), sendo Rai e
Raf , a ascensão recta inicial e nal, e Deci e Decf sendo a declinação inicial e
nal respectivamente. Estes dois tuplos representam a recta a ser desenhada
começando em (Rai , Deci ) e terminando em (Raf , Decf ), medindo-se depois
a distância angular entre estes dois pontos. Se a distância for superior a 5
pixéis, divide-se a meio essa recta e repete-se o processo até que a distância
não ultrapasse esse valor.
Este método, foi aplicado em todo o desenho que envolvesse linhas em todo
o projecto.
É dado ao utilizador a possibilidade de escolher a largura da linha, cor e
intervalo, correspondendo este último ao espaço entre as linhas em graus ou
horas dependendo do parâmetro.
5.11
Linhas
No desenho de linhas, o utilizador tem sempre ao seu dispôr a possibilidade
de alterar a largura da linha e a cor.
• Meridiano de Lugar - O meridiano de lugar é uma recta imaginária que
une o pólo norte ecliptico ao pólo sul ecliptico. O desenho desta recta,
não é mais que unir esses dois pontos através duma linha;
• Equador Celeste - O Equador Celeste, é uma linha onde a declinação
é zero e a ascensão recta varia entre 0 e 23h, ou seja 0o a 360o ;
• Eclíptica - Como já referido na secção 2.1, a linha eclíptica, é o percurso
do sol no céu ao longo de um ano. O seu percurso é de latitude ecliptica
de 0o e longitude entre os 0o e os 360o ;
• Círculo de Precessão - Durante aproximadamente 23.000 anos o pólo
norte terreste faz um círculo em volta do pólo norte eclíptico. Tal
deve-se à precessão.
Não existe fórmula matemática para calcular exactamente a posição
do pólo norte terreste durante este espaço de tempo. O que existe são
valores de medidas tirados ao longo da história da astronomia e sendo
2
o threshold foi obtido experimentalmente até ser obtido um resultado visual agradável
5.12 Constelações e Fronteiras de Constelações
15
feito uma interpolação destes valores. Apesar destes calculos serem
efectuados na biblioteca NOVAS, a interpolação gera, inevitavelmente,
alguns erros de aproximação se nos deslocarmos para uma data demasiado grande.
O que é feito neste projecto para o círculo de precessão, é começar
na data 1900 D.C. calculando seguidamente as posições do pólo norte
terreste 13.000 anos antes e depois dessa data com intervalos de 1000
anos.
5.12
Constelações e Fronteiras de Constelações
Com as bibliotecas referidas na página 9, secção 4.1.1 e 4.1.3, os dados existentes nessa biblioteca são guardados numa estrutura de dados descrita no
apendice A.1, página 24.
A estrutura constel_desc servirá para guardar as constelações enquanto a
estrutura constel servirá para guardar as estrelas a que pertencem a uma
dada constelação.
A estrutura constel_bound_desc servirá para guardar as constelações de
fronteira. O desenho, será feito mediante a comparação dos seus nomes, um
a um. A leitura e inicialização da estrutura é feita uma só vez aquando a
inicialização do plug-in.
Para as constelações, existe um menu para o utilizador decidir qual a constelação que deseja activar, permitindo assim, por exemplo, numa sessão melhor
entendimento ao espectador das dimensões, forma e mesmo a constelação em
questão.
5.13
Representação da Lua
Para modelar o ambiente de forma mais realista possível, foi utilizado o
método Monte Carlo Ray Tracing [13].
Na altura em que este relatório foi escrito, o ray tracing modelava simplesmente a Lua e o Sol. No entanto, mais pode ser adicionado à cena nal,
como falarei na secção 7.2.
O método de Monte Carlo é puramente estocástico, o que signica que todo
o processo é probabílistico.
Para evitar o antialiasing, são gerados neste trabalho quatro raios aleatórios
para cada pixel, em vez de somente um para o centro. Seguidamente, para
cada ponto de intersecção num objecto são gerados N raios aleatórios numa
hemisfera. Como os raios são gerados aleatoriamente, muitos destes irão falhar os pontos de luz gerando ruido na imagem nal. Como consequência,
terão que ser gerados uma quantidade razoável de raios aumentando assim
a complexidade computacional do programa.
A versão original do Monte Carlo, só termina quando de facto o valor para
5. Implementação
16
o pixel não poder melhorar mais. Nesta versão, nunca se sabe quando o método acaba, mas sabe-se que termina, já que o método converge, mas muito
lentamente.
Assim, para não se utilizar um número de raios aleatórios em demasia, existem métodos que podem ser aplicados à imagem nal de modo a eliminar o
ruido. O método utilizado por este trabalho, foi um ltro mediano que tira
uma mediana dos pixeis vizinhos a analisar. Este ltro é muito melhor que
o blur, no entanto não preserva a energia e introduz artefactos ao longo dos
cantos e em alguns casos não consegue destinguir entre ruído e iluminação,
como pequenos focos de luz especular.
A representação do Sol é simplesmente uma esfera de cor branca, ao passo
que a representação da Lua envolve um modelo especíco de reexão da luz.
Tal modelo é representado por uma BRDF, que determina como a luz é reectida num determinado ponto da supercie. Depois de se saber como a luz
é desviada, falta saber a quantidade de luz que é transmitida ao observador.
Para tal efeito, é usado um mapa de albedo [11]3 , com a projecção adequada
à imagem que se tem, neste caso, a cilíndrica.
5.13.1
Factor da Lua (e Sol)
Este parâmetro extra serve para aumentar o tamanho real da Lua e do Sol.
Tal deve-se ao facto de haver planetários com projectores de baixa resolução
e assim seja necessário aumentar articialmente o seu tamanho para que seja
possível visualizá-los com pormenor.
3
consultar nomenclatura para denição de albedo
Capítulo 6
Resultados
6.1
Ferramenta
A ferramenta nal, como dito no ínicio deste relatório, é um plug-in do Adobe
After Eects.
Quando o plug-in é inicializado podemos ver os pontos brancos sendo as
estrelas e os vermelhos os planetas - ver gura 6.1(a).
(a)
Master
ou tela de composição
(b) Painel de controlo de
efeitos
Figura 6.1: Inicialização do
plug-in
A gura 6.1(b) é o painel de controlo do plug-in. Aqui, pode-se alterar todas
as opções antes referidas, como por exemplo, o ângulo esférico, false north,
magnitude entre outros.
6.2
Saltos no tempo e Grelhas
A gura 6.2(a), na página 18 demonstra a sua utilização. Esta opção, só
pode ser utilizada na time line, acrescentado keyframes em algum parâme17
6. Resultados
18
(a) Salto no Tempo
(b) Grelha Equatorial
tro que tenha efeito sobre o tempo.
A gura 6.2(b) demonstra a grelha equatorial, estando o observador a 50o
de latitude e 0o de longitude. O ponto onde as linhas da grelha se juntam,
neste caso, é o pólo norte ecliptico.
Como foi referido na secção 5.10, página 14, o utilizador tem ao seu dispor
a possibilidade de mudar a cor das linhas mediante o seu gosto, a largura, e
o intervalo entre, por exemplo, a ascensão recta.
Para a grelha horizontal, as opções são análogas.
6.3
Constelações e Fronteiras de Constelações
Figura 6.2: Pormenor das Constelações Leão, Ursa Menor, Gémeos entre
outras
Na gura 6.2, pode-se ver três das constelações mais conhecidas, como o
Leão, a Ursa Menor, e Gémeos, com o número 1, 2 e 3, respectivamente.
As fronteiras de constelação, são as linhas representadas por uma cor azul
claro.
6.4 Ray Tracing
6.4
19
Ray Tracing
Os dados da tabela 6.4, são para uma localização de Portugal, 23h locais,
do dia 28 de Junho de 2007. Foram testadas várias resoluções de imagem e
registado seus tempos como demonsta a tabela.
Estes tempos tenderão a aumentar à medida que ser for introduzido mais
elementos na cena, como por exemplo a atmosfera, aumentando inevitavelmente a complexidade do programa e o seu tempo de renderização.
Tamanho da Imagem
250x250
512x512
1024x1024
2048x2048
Tempo (segundos)
3
11
44
181
Tabela 6.1: Resultados da renderização da Lua
A imagem 6.3 numa resolução 1024x10241 é um exemplo duma Lua renderizada na localização e data acima dado. Esta encontra-se numa projecção sheye com um ângulo esférico de 180o , estando assim preparada para
a projecção numa doma de um planetário.
Figura 6.3: Lua renderizada numa resolução 1024x1024
1
imagem neste documento está escalada
Capítulo 7
Conclusão
7.1
Conclusão
Para as várias fases do projecto, a posição das estrelas cou correcta. No
entanto, para os planetas a partir da data do ano 1900 começa-se a perder
precisão.
Os elementos secundários como as constelações e fronteiras das constelações,
caram concluídas.
Para além disso, a representação do efeito de absorção associado à atmosfera cou funcional, sendo também sido adicionado efeitos como precessão,
nutação e aberração das estrelas. O efeito de cintilação, não foi adicionado.
Ficou também funcional a representação correcta da lua. A representação
de efeitos de nascer e pôr do Sol, não foram representados.
7.2
Trabalho Futuro
O objectivo de por a cintilação das estrelas, poderá ser um ponto a desenvolver mais tarde a m de trazer mais realismo a representação do céu nocturno.
A funcionalidade de activar individualmente uma constelação referido na secção 5.12 página 15, poderá ser expandido para as fronteiras das constelações,
com o mesmo m que a das constelações.
Algo também interessante, e que o Stellarium tem, seria posicionar o observador fora do planeta Terra, deslocando-o para um dos planetas do sistema
solar. Se o observador se encontrar na Terra, poderá em termos de facilidade
para o utilizador, ser também implementado uma lista com as localizações
mais conhecidas ou importantes do planeta Terra.
Para completar o realismo já introduzido no trabalho, falta introduzir a atmosfera para que também se possa simular eclipses lunares, alvoradas e os
pôr de sol e alterar o ltro mediano por um outro método, como por exemplo o irradiance caching ou o irradiance ltering. Finalmente, também é
importante, introduzir o tone mapping a m de suavizar os contrastes na
20
7.2 Trabalho Futuro
21
imagem nal, e de não obtermos cenas demasiado ou pouco brilhantes, como
representa a gura 7.1 [14].
(a)
sem
Memorial
Church
tone mapping
Figura 7.1:
(b) Memorial
com tone mapping
Church
Tone Mapping
Como é pretendido uma ferramenta rápida, pode-se implementar uma Lua
sem ser renderizada em altura de edição de video. Ao fazer esta pré-renderização,
o utilizador tem a possibilidade de experimentar, por exemplo, o nascer da
lua num determinado keyframe, e seguidamente noutro keyframe, a Lua sobre o zénite do observador. Também facilita emendar um erro ou lapso que
tenha cometido durante esta fase de edição. Assim, teremos uma edição
rápida de video, aumentando assim a produtividade para fazer uma sessão.
Bibliograa
[1]
Adobe After Eects. http://www.adobe.com/products/aftereects/.
[2]
Hipparcos Catalog. http://cdsweb.u-strasbg.fr/hipparcos.html.
[3]
Perl. http://www.perl.org/.
[4]
Planetary Solutions VSOP87.
http://cdsweb.u-strasbg.fr/cgi-
bin/Cat?VI/81.
[5]
Prémio
pela
Trophee
du
Libre
[6]
The Sky. http://www.bisque.com/.
[7]
Stellarium. http://www.stellarium.org/.
[8]
Stellarium
para
o
Stellarium.
http://sourceforge.net/forum/forum.php?forum_id=640875.
Faq,
problema
http://www.stellarium.org/wiki/index.php/FAQ.
nos
[9] Marco
Silva
António
Pedrosa.
http://fulldomeplugin.multimeios.pt/.
scripts.
FullDome.
[10] J. E. Bresenham. Algorithm for computer control of a digital plotter.
j-IBM-SYS-J, 4(1):2530, 1965.
[11] Deep Space Program Science Experiment (DSPSE).
Mission. http://www.cmf.nrl.navy.mil/clementine/.
The Clementine
[12] James D. Foley, Andries van Dam, Steven K. Feiner, and John F.
Hughes. Computer graphics: principles and practice (2nd ed.). AddisonWesley Longman Publishing Co., Inc., Boston, MA, USA, 1990.
[13] Henrik Wann Jensen. State of the art in monte carlo ray tracing for
realistic image synthesis. In SIGGRAPH 2001 Course Notes CD-ROM.
ACM SIGGRAPH, 2001.
[14] Gregory Ward Larson, Holly Rushmeier, and Christine Piatko. A visibility matching tone reproduction operator for high dynamic range
scenes. IEEE Transactions on Visualization and Computer Graphics,
3(4):291306, 1997.
22
BIBLIOGRAFIA
23
[15] Robert McNamara, Joel McCormack, and Norman P. Jouppi. Preltered antialiased lines using half-plane distance functions. In HWWS
'00: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS workshop
on Graphics hardware, pages 7785, New York, NY, USA, 2000. ACM
Press.
[16] U.S. Naval Observatory. NOVAS - Naval Observatory Vector Astrometry
Subroutines. http://aa.usno.navy.mil/software/novas/novas_info.html.
[17] Eric Haines Tomas Akenine-Möller.
A.K. Peters Ltd., 2002.
Real Time Rendering, 2a edição.
Apêndice A
Extractos de Código
A.1
Constelações
typedef struct s t _ c o n s t e l {
int
flag ;
int
hip_number ;
double
ra ;
double
dec ;
struct s t _ c o n s t e l ∗ next ;
} constel ;
typedef struct s t _ c o n s t e l _ d e s c {
int
nstars ;
char ∗
constel_name ;
constel ∗ stars_constel ;
} constel_desc ;
A.2
Fronteiras das Constelações
typedef struct st_contel_bound {
double r a _ s t a r t ;
double d e c _ s t a r t ;
char
constel_name [ 3 ] ;
} constel_bound ;
24
Nomenclatura
α
Ver Ascensão Recta
δ
Ver Declinação
Aberração fenómeno astronómico que produz um aparente movimento dos
objectos celestes
Albedo Albedo é uma medida da reectividade de um corpo ou de uma
superfície
Aliasing efeito escada no desenho gráco duma linha ou outra linha como
se pode ver na gura 5.2 da página 13
Altitude ângulo formado pelo horizonte e pelo raio visual, dirigido a um
astro
Ascensão Recta termo astronómico para uma de duas coordenadas dum
ponto na esfera celeste quando usando o sistema de coordenadas equatoriais. Equivalente à longitude terreste, mede o ângulo no sentido
Este-Oeste ao longo do equador
Azimute arco do horizonte entre o meridiano do lugar e o círculo vertical
que passa por um corpo celeste
BRDF Bidirectional Reectance Distribution Function
Descreve a fracção de radiância reectida existente numa superfície
numa particular direcção em relação à irradiância incidente na superfície sobre uma particular comprimento de onda
Constelação Uma formação arbitrária de estrelas, semelhante a uma gura,
especialmente, uma de 88 grupos reconhecíveis de nomes de guras
da mitologia clássica e vários animais vulgares e objectos
Declinação termo astronómico para uma de duas coordenadas dum ponto na
esfera celeste quando usando o sistema de coordenadas equatoriais.
Equivalente à latitude terreste, mede o ângulo a Norte e Sul da esfera
Celeste. Assim, pontos a norte do equador celeste têm declinações
positivas, enquanto pontos a sul têm declinações negativas
25
A. Extractos de Código
26
Dia Sideral tempo que a Terra demora a dar uma volta de 360o graus sobre
o seu eixo
Eclipse desaparecimento aparente de um astro pela interposição de outro,
entre ele e o observador
Equador Celeste Um grande círculo na esfera celeste que está no mesmo
plano que o equador da Terra
Linha eclíptica O caminho que o Sol percorre ao longo de um ano
Penumbra região externa da sombra, que circunda a umbra e onda a luz do
Sol entra parcialmente. Ver denição de Eclipse
Precessão um movimento lento circular do eixo da Terra à volta do polo
ecliptico, causado principalmente pela força gravitacional do Sol, Lua
e de outros planetas
Umbra região interna da sombra, em completa escuridão, onda a luz do Sol
é totalmente bloqueada. Ver denição de Eclipse
Download