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