T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

79
CENTRO UNIVERSITÁRIO SERRA DOS ÓRGÃOS CENTRO DE CIÊNCIAS E TECNOLOGIA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO APLICATIVO EM NCL E SIMULAÇÃO DE EXPLOSÃO DE UM SATÉLITE ARTIFICIAL Autor: Jeferson Gomes Machado Orientador: José Roberto de Castro Andrade Teresópolis Dezembro de 2012

description

Trabalho de conclusão do curso de Ciência da Computação, que apresenta um aplicativo desenvolvido na linguagem de programação NCL (Padrão brasileiro de TV Digital) que tem como objetivo incluir interatividade a uma animação criada através do software Blender 3D, que simula a colisão de um lixo espacial (objeto qualquer) com um satélite artificial de comunicações na órbita terrestre. Esta animação simula tal colisão que no caso causa uma explosão, demonstrando as causa e consequências de tal problema.

Transcript of T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

Page 1: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

CENTRO UNIVERSITÁRIO SERRA DOS ÓRGÃOS

CENTRO DE CIÊNCIAS E TECNOLOGIA

CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

APLICATIVO EM NCL E SIMULAÇÃO DE EXPLOSÃO

DE UM SATÉLITE ARTIFICIAL

Autor:

Jeferson Gomes Machado

Orientador:

José Roberto de Castro Andrade

Teresópolis

Dezembro de 2012

Page 2: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

i

MACHADO, Jeferson Gomes. Aplicativo em NCL e a Simulação

de Explosão de um Satélite Artificial. Teresópolis: Centro

Universitário Serra dos Órgãos, 2012.

Orientador: José Roberto de Castro Andrade, M.Sc.

Monografia – CURSO DE BACHARELADO EM CIÊNCIA DA

COMPUTAÇÃO DO CENTRO UNIVERSITÁRIO SERRA DOS

ÓRGÃOS.

1.sistema de partículas, 2.NCL 3.satélite artificial

Page 3: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

ii

Trabalho de conclusão de curso apresentado ao Centro

Universitário Serra dos Órgãos - Curso de Bacharelado

em Ciência da Computação - como um dos requisitos

para obtenção do título de Bacharel em Ciência da

Computação.

ELABORADO POR JEFERSON GOMES MACHADO E APROVADO POR

TODOS OS MEMBROS DA BANCA EXAMINADORA. FOI ACEITO PELO

CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO.

TERESÓPOLIS, 05 de dezembro de 2012.

BANCA EXAMINADORA:

_______________________________________

José Roberto de Castro Andrade, M.Sc

_______________________________________

João Fernando Diniz Falcão, M.Sc

______________________________________

Lívia Monnerat Castro, M.Sc

Teresópolis

Dezembro de 2012

Page 4: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

iii

DEDICATÓRIA

Dedico este trabalho, primeiramente a Deus, pois sem Ele nada disso seria

possível. A toda a minha família, especialmente aos meus pais que me deram força e me

incentivaram a continuar, fazendo o possível para que eu estivesse aqui hoje buscando os

meus objetivos. Aos meus amigos que me apoiaram e compreenderam cada final de semana

que eu fiquei em casa estudando, ao pessoal do ônibus por todos os momentos de

descontração e diversão em meio ao cansaço das viagens diárias até à faculdade e em especial

ao Seu Gerson, o melhor motorista que podíamos ter que me incentivou tanto a continuar,

com suas longas conversas, de palavras simples mas que surtiram muito efeito. Ao meu

orientador, José Roberto, pois sem ele não seria possível o desenvolvimento deste trabalho e a

todos que direta ou indiretamente contribuíram para que eu estivesse aqui hoje.

Page 5: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

iv

RESUMO

O lixo espacial existente no espaço orbital da Terra vem aumentando

consideravelmente ao longo do tempo, causando preocupações principalmente aos órgãos

responsáveis e às empresas que atuam na área. O risco de colisão de tais objetos com

satélites em operação torna–se mais eminente à medida que os detritos espaciais aumentam

e permanecem na órbita terrestre sem controle. Este trabalho tem como objetivo gerar uma

animação que demonstra como seria uma colisão entre um detrito espacial e um satélite

geoestacionário de comunicações, o que, na circunstância proposta, ocasiona a explosão do

satélite artificial. Para isto, foram modelados os objetos necessários à representação de tal

acontecimento, utilizando-se a técnica de sistemas de partículas para a criação do efeito da

explosão, bem como levando-se em consideração a dinâmica orbital que atua nas partes

remanescentes do satélite. A mídia é apresentada através de uma interface inovadora,

utilizando-se a linguagem NCL, voltada principalmente para a concepção de aplicativos em

TV Digital e Web, que permite ao usuário um alto nível de interação, o que possibilita dar

mais ênfase ao conteúdo adicional pertinente ao assunto.

Palavras chave: 1.sistema de partículas, 2.NCL 3.satélite artificial.

Page 6: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

v

ABSTRACT

The space junk, from the Earth's orbital space has been increased considerably

over time, causing concerns, above all, to the organs and companies working in the area.

The risk of collision between such objects and satellites in operation makes more prominent

as the space debris are increased and remain in orbit without control. This paper aims to

generate an animation that shows how a collision between the space debris and a

geostationary satellite communications would be, which, in fact, leads to the explosion of

the proposed artificial satellite. To this, objects necessary for the representation of such an

event were modeled, using the technique of particle systems for creating the effect of the

explosion, as well as taking into consideration the orbital dynamics that acts on the

remaining parts of the satellite. The media is presented through an innovative interface,

using the NCL, mainly focused on the design of applications in Digital TV and Web, which

allows the user a high level of interaction, allowing more emphasis on additional content

relevant the subject.

Keywords: 1. particle systems, 2.NCL 3. artificial satellite

Page 7: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

vi

SUMÁRIO

LISTA DE FIGURAS ......................................................................................................... VIII

LISTA DE SIGLAS ................................................................................................................. X

1 INTRODUÇÃO ................................................................................................................ 11

2 FUNDAMENTAÇÃO TEÓRICA .................................................................................. 12

2.1 EFEITOS ESPECIAIS ....................................................................................................... 12

2.1.1 SISTEMAS DE PARTICULAS ...................................................................................... 12

2.1.1.1 PARTÍCULAS .................................................................................................. 13

2.1.1.2 FASES DO SISTEMA DE PARTÍCULAS .............................................................. 14

2.1.1.3 CLASSIFICAÇÃO DOS SISTEMAS DE PARTÍCULAS .......................................... 14

2.1.2 TEXTURIZAÇÃO E RENDERIZAÇÃO ......................................................................... 15

2.2 LIXO ESPACIAL ............................................................................................................ 16

2.3 DINÂMICA ORBITAL ..................................................................................................... 21

2.3.1 ÓRBITAS DOS SATÉLITES ARTIFICIAIS ..................................................................... 23

2.4 A LINGUAGEM NCL ............................................................................................... 25

3 DESENVOLVIMENTO DA ANIMAÇÃO ................................................................... 27

3.1 FERRAMENTAS UTILIZADAS ........................................................................................ 27

3.2 MODELAGEM DOS OBJETOS DA CENA .......................................................................... 29

3.2.1 SATÉLITE ARTIFICIAL ............................................................................................. 29

3.2.2 PLANETA TERRA ..................................................................................................... 29

3.3 COLISÃO E EXPLOSÃO EM ÓRBITA ................................................................................ 33

3.4 MOVIMENTO DA CÂMERA E GERAÇÃO DA ANIMAÇÃO ............................................... 35

Page 8: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

vii

4 O APLICATIVO EM NCL ........................................................................................... 37

4.1 ESTRUTURA DE UM DOCUMENTO NCL ........................................................................ 39

4.2 DESENVOLVIMENTO DO APLICATIVO .......................................................................... 40

4.3 TESTES ........................................................................................................................ 43

4.4 PROBLEMAS ENCONTRADOS ........................................................................................ 45

5 RESULTADOS OBTIDOS ............................................................................................ 47

6 CONCLUSÕES E SUGESTÕES PARA TRABALHOS FUTUROS ......................... 55

REFERÊNCIAS BIBLIOGRÁFICAS ................................................................................. 56

APÊNDICE – CÓDIGO NCL .............................................................................................. 58

Page 9: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

viii

LISTA DE FIGURAS

Figura 1 - Sequência de imagens do filme Star Trek II: A Ira de Khan ................................... 12

Figura 2 - Partículas dinâmicas e estáticas................................................................................14

Figura 3 - Representação do „congestionamento‟ espacial ..................................................... 16

Figura 4 - Órbita da Estação Espacial Internacional ................................................................ 18

Figura 5 - Lixo espacial na órbita terrestre ............................................................................... 19

Figura 6 - Número mensal de objetos catalogados na órbita da Terra por tipo ........................ 20

Figura 7 - Movimento de um satélite geoestacionário ............................................................. 24

Figura 8 - Representação da colisão entre dois satélites artificiais .......................................... 24

Figura 9 - Interface do Blender Versão 1.6 .............................................................................. 28

Figura 10 - Interface do Blender Versão 2.6 ............................................................................ 28

Figura 11 –Satélite artificial da série BrasilSat x Modelagem ................................................. 29

Figura 12 –Mapa dos continentes . ........................................................................................... 30

Figura 13 –Luzes noturnas ....................................................................................................... 31

Figura 14 – Relevo . ................................................................................................................. 31

Figura 15 – Reflexo. ................................................................................................................. 32

Figura 16 – Nuvens. ................................................................................................................. 32

Figura 17 – Nós da modelagem da Terra ................................................................................. 33

Figura 18 – Animação da quebra do satélite artificial .............................................................. 34

Figura 19 – Partes remanescentes de uma colisão .................................................................... 35

Figura 20 – Caminho da câmera .............................................................................................. 36

Figura 21 – Visão de layout do Composer (Tela Principal) ..................................................... 37

Figura 22 – Visão de layout do Composer (Tela 1) ................................................................ 38

Figura 23 – Visão de layout do Composer (Tela 2) ................................................................ 39

Page 10: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

ix

Figura 24 – Estrutura de um documento NCL ........................................................................ 39

Figura 25 – Visão de Layout do Composer (Regiões) ............................................................. 41

Figura 26 – Visão Estrutural do Aplicativo no Composer ....................................................... 42

Figura 27 – Tela Textual do Aplicativo no Composer ............................................................. 43

Figura 28 – Página do NCL Validation Service com erros inseridos propositalmente ............ 44

Figura 29 – Página do NCL Validation Service sem erros ...................................................... 45

Figura 30 – Tela de Menu do aplicativo ................................................................................... 48

Figura 31 – Tela inicial do aplicativo ....................................................................................... 49

Figura 32 – Animação sendo apresentada. ............................................................................... 49

Figura 33 – Tela com a animação sendo exibida juntamente com outros elementos. .............. 50

Figura 34 – Tela com gráfico maior e a animação reduzida. ................................................... 51

Figura 35 – Tela com a animação reduzida e um segundo vídeo em tela grande. ................... 51

Figura 36 – Gráfico sendo exibido a partir da tela de menu. ................................................... 52

Figura 37 – Texto sendo exibido a partir da tela de menu. ...................................................... 53

Figura 38 – Vídeo sendo exibido a partir da tela de menu. ...................................................... 53

Figura 39 – Animação sendo exibido a partir da tela de menu. ............................................... 54

Page 11: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

x

LISTA DE SIGLAS

2D Duas dimensões

3D Três dimensões

ABNT Associação Brasileira de Normas Técnicas

GNU General Public License

HTML HyperText Markup Language

ISS International Space Station

IP Internet Protocol

IPTV Internet Protocol Television

ITU-T International Telecommunication Union – Telecommunication Standardization

Sector

LAWS Laboratório de Sistemas Avançados da Web

MPEG Motion Picture Experts Group

NASA National Aeronautics and Space Administration

NCL Nested Context Language

NCM Nested Context Model

ONU Organização das Nações Unidas

PUC-Rio Pontifícia Universidade Católica do Rio de Janeiro

XML Extensible Markup Language

Page 12: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

11

1 INTRODUÇÃO

O problema do lixo espacial, resultante de objetos criados pelo homem e que

permanecem em órbita da Terra sem controle, está se agravando a cada dia, gerando uma

preocupação constante de possíveis colisões entre satélites comercias em operação e tais

objetos. Através do uso da computação gráfica é possível simular os efeitos físicos resultantes

de uma possível colisão entre tais objetos, realçando a necessidade de atenção por parte de

empresas operadoras de satélites, fabricantes e órgãos governamentais.

Este trabalho descreve a criação de uma simulação gráfica da explosão, a partir da

colisão de um objeto com um satélite de comunicações em órbita da Terra, utilizando para tal

fim, softwares adequados. Para a geração do efeito de explosão foi utilizada a técnica de

sistemas de partículas e realçado com o uso de imagens, texturas, posicionamento da câmera

virtual e iluminação adequada. O comportamento das partes remanescentes do satélite

artificial é simulado levando-se em consideração a física envolvida no ambiente espacial,

possibilitando a visualização dos efeitos da colisão.

A animação gerada foi inserida, juntamente com outros elementos multimídias

para a criação de um aplicativo interativo em NCL, agregando informações relevantes sobre o

assunto, com o objetivo de divulgar suas causas e consequências e apresentar o problema

tanto para a divulgação da necessidade de busca de soluções como para gerar debates sobre o

assunto.

Este trabalho está dividido em 6 capítulos. O capítulo 2 traz a fundamentação

teórica. O capítulo 3 descreve o desenvolvimento da animação. O capítulo 4 refere-se a

linguagem de programação NCL e a criação do aplicativo interativo. O capítulo 5 apresenta

os resultados obtidos. E, finalmente, o capítulo 6 apresenta as conclusões e sugestões para

trabalhos futuros.

Page 13: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

12

2 FUNDAMENTAÇÃO TEÓRICA

2.1 Efeitos especiais

Um dos elementos fundamentais para a obtenção de realismo em uma cena de

animação é uma boa modelagem dos objetos que a compõem. Contudo, através de métodos

tradicionais, existe certa dificuldade para a modelagem de objetos cujo formato não é bem

definido, tais como fumaça, fogo, nuvem, explosão, entre outros. Para tanto existem técnicas

tais como a de sistema de partículas, que possibilita a criação de sistemas complexos com um

alto nível de realismo.

2.1.1 Sistema de partículas

Com o objetivo de criar uma sequência de efeitos especiais para o filme Star Trek

II: A Ira de Khan, do estúdio Paramount Pictures, 1982 (Figura 1), William T. Reeves

publicou um artigo intitulado, Particle Systems – A Technique for Modeling a Class of Fuzzy

Objects, REEVES (1983).

Figura 1- Sequência de imagens do filme Star Trek II: A Ira de Khan,

(Fonte: Sequência de imagens do filme Star Trek II: A Ira de Khan, Paramount Pictures, 1982)

Page 14: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

13

Nesse trabalho o Reeves introduziu o uso de um paradigma de sistemas de

partículas como uma técnica baseada em processos randômicos com partículas independentes

que se moviam por influências externas. Reeves demonstrou que aplicando algumas das leis

fundamentais da Mecânica de Newton em um conjunto virtual de partículas seria possível

modelar elementos com forma incerta e, a partir daí, criar qualquer efeito e/ou modelar

qualquer objeto. O trabalho de Reeves foi um grande avanço para a Computação Gráfica que,

até então consistia sobretudo de formas criadas a partir de polígonos e vértices fixas.

Com o decorrer do tempo a técnica de sistema de partículas evoluiu com a

incorporação de restrições e modificações no comportamento das partículas, permitindo a

melhora na qualidade e a criação de novos efeitos.

Resumindo, um sistema de partículas é composto por uma quantidade

configurável de partículas que têm seu comportamento controlado por atributos que podem

ser definidos em um valor fixo ou randômico dentro de limites predefinidos, de acordo com as

propriedades do elemento a ser simulado.

2.1.1.1 Partículas

A Mecânica de Newton foi arquitetada sobre quatro grandezas essenciais: espaço,

tempo, massa e força. Seguindo esse axioma, as partículas são elementos que têm massa que

podem ser definidas como fixa ou estocástica, da mesma maneira que posição definida no

espaço x, y, z e velocidade. Por não possuírem extensão espacial fixa e responderem a forças

externas, além de proporcionarem a aplicação de cor e transparência, entre outros

componentes, é possível a simulação de inúmeros efeitos, com pouco esforço humano e alto

nível de realismo. Por terem um tempo de vida (medido em quadros), que vai desde sua

geração até a extinção configurável, a qualquer momento novas partículas podem ser geradas,

bem como as já existentes serem extintas (BARAF & WIKIN, 1997).

Page 15: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

14

Partículas podem ser tanto estáticas para a modelagem de elementos, tais como

cabelos, pelos ou grama, por exemplo, ou animadas para a representação de fenômenos tais

como a chuva ou a neve, como pode ser observada na Figura 2 a representação das partículas

dinâmicas na primeira imagem e no estado estático na segunda.

Figura 2 - Partículas dinâmicas e estáticas

(Fonte: http://wiki.blender.org/index.php/File:Blender3D_Particles-Mode-Image.jpg)

2.1.1.2 Classificação dos sistemas de partículas

Os sistemas de partículas são classificados em três grupos:

Estocásticos: Neste caso as partículas são mais independentes umas das outras. São

apropriadas para as simulações cujo foco principal é a cor e a transparência, como na

simulação de fogo, por exemplo.

Estruturados: Mais apropriados para a modelagem de árvores e grama, por exemplo,

por obedecerem a uma hierarquia.

Orientados: Neste caso, as partículas tendem a comporem superfícies.

2.1.1.3 Fases dos sistemas de partículas

Num sistema, as partículas passam por três fases distintas: geração, dinâmica e

morte (REEVES, 1983).

Page 16: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

15

• Geração: É nesta fase que os atributos que determinam o comportamento das

partículas são definidos, recebendo um valor inicial. A todo o momento novas partículas são

geradas e as antigas são destruídas. Essa geração acontece de forma randômica, dentro de um

espaço pré-estabelecido chamado objeto emissor.

• Dinâmica: Os valores dos atributos das partículas definidos na geração podem

ser fixos ou alterados aleatoriamente ao longo do tempo.

• Extinção: A última fase pela qual passa a partícula é a fase de extinção, processo

no qual a partícula desaparece.

As partículas possuem um tempo de vida configurável, definido em quantidade de

quadros que é iniciado com o valor 0 (zero) e acrescido de 1 a cada novo quadro. Quando o

tempo de vida pré-definido é atingido, a partícula é extinta.

Além do tempo de vida, uma partícula pode ser extinta por inúmeros outros

fatores, tais como, se um dos atributos desta partícula ultrapassar um valor máximo definido,

se a transparência desta for tanta que ela não possa mais ser vista, partículas que se

encontrarem fora da região visível do observador sem possibilidade de retorno e/ou ao

tocarem o solo também podem ser eliminadas, diminuindo assim o custo computacional da

animação, por exemplo.

2.1.2 Texturização e Renderização

O processo de utilização de fotografia ou imagens produzidas em computador

como textura em um determinado objeto e/ou superfícies, chamado de texturização é uma

funcionalidade muito importante presente em diversos softwares de modelagem 3D,

proporcionando um maior nível de realismo à cena.

As texturas são aplicadas de forma que as imagens 2D cubram a superfície 3D

envolvendo - a como uma espécie de „pele‟, dando assim uma aparência mais próxima da real.

Page 17: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

16

O último passo numa animação 3D é a renderização. Após a modelagem e

construção da sequência de animação, torna-se necessário efetuar a renderização, que resulta

na geração da cena com seus devidos acabamentos simulando condições reais, levando em

consideração diversos aspectos, tais como iluminação, texturas e materiais, superfícies etc.

Originando imagens estáticas e/ou vídeos mostrando a imagem final a partir do

enquadramento feito por uma determinada câmera virtual.

Quanto mais detalhada for a cena, mais tempo levará para que o processo de

renderização seja finalizado, bem como esse tempo também dependerá do hardware utilizado

para este processo.

2.2 Lixo espacial

O dia 04 de outubro de 1957 marcou o lançamento do primeiro satélite artificial.

Até hoje, foram lançados cerca de 13.000 (treze mil) satélites, dos quais a maior parte virou

lixo espacial e somente cerca de 880 (oitocentos e oitenta) permanecem ativos,

desempenhando importantes funções, tais como a de telecomunicações e a coleta de dados. A

figura 3 é uma simulação feita pela Agência Espacial Européia, demonstrando a quantidade

de satélites em órbita da Terra.

Figura 3 - Representação do „congestionamento‟ espacial

(Fonte: http://g1.globo.com/Noticias/Ciencia/0,,MUL401699-5603,00-FOTOS+MOSTRAM+LIXO

+ESPACIAL+NA + ORBITA+DA+TERRA.html)

Page 18: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

17

Contudo, após o término da vida útil dos satélites, que é de até cerca de 20 anos,

esses satélites em desuso, fragmentos de satélites, partes de foguetes, restos de missões, bem

como todos os objetos criados por seres humanos presentes em órbita ao redor da Terra e que

não têm nenhuma função útil são considerados lixo espacial, tecnicamente chamados de

detritos espaciais, são definidos pela Agência Espacial Norte Americana, a NASA como

“arma de energia cinética de altíssima velocidade, não guiada”, percorrem o espaço sem

nenhum tipo de controle, a uma velocidade de cerca de 7 Km/s (sete quilômetros por

segundo) e devido às altas velocidades dos satélites, mesmo um fragmento muito pequeno

poderia danifica-lo ou até mesmo destruí-lo, dependendo do ponto em que o impacto ocorra.

Segundo estimativas da NASA existem cerca de 20.000 (vinte mil) objetos

rastreados na órbita terrestre, com mais de 10 cm (dez centímetros) de diâmetro, 50.000

(cinquenta mil) entre 1 (um) e 10 (dez) cm e cerca de 500.000 (quinhentos mil) menores.

Destes cerca de 2.000 toneladas (duas mil toneladas) estão na órbita baixa da Terra (Low

Earth Orbit). Também existe uma grande quantidade de detritos na órbita geoestacionária, a

GEO (do inglês, Geostationary Orbit), local onde se encontram os satélites de comunicação.

Existem também muitos objetos em trajetória excêntrica, que podem transladar por diferentes

órbitas.

Com este problema que vem se agravando a cada dia, existe uma grande

preocupação com possíveis colisões entre satélites em operação comercial e tais objetos. Um

exemplo disto é a preocupação com a Estação Espacial Internacional, que tem que ter seu

rumo desviado várias vezes por ano, para desviar destes destroços. Segundo estudos da

NASA, um objeto de cerca de 1 mm (um milímetro) de comprimento, já seria capaz de

quebrar cabos de dados e de força secundários, por isso, a ISS (Estação Espacial

Internacional) é considerada a mais protegida espaçonave a ser lançada, áreas como

Page 19: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

18

compartimentos habitáveis são capazes de resistir ao impacto de objetos de até 1 cm (um

centímetro) de diâmetro.

A figura 4 ilustra a orbita da ISS em verde e o Anel Debris em vermelho, cujos

fragmentos foram originados pelo teste de um míssil chines em dezembro de 2007. No qual a

China lançou um míssil contra um de seus satélites artificiais, que segundo informações

oficiais do governo chines teve o objetivo de estudar tal acontecimento.

Figura 4 - Órbita da Estação Espacial Internacional

(Fonte: Tela de um vídeo criado pela AGI - http://www.agi.com)

A NASA concluiu que os impactos de detritos orbitais da Terra tinham o

potencial para tornarem-se um perigo maior do que o ambiente meteoróide natural. Com isso,

a NASA criou um programa de detritos espaciais, chamado NASA’s Orbital Debris Program,

que começou oficialmente em 1979. A figura 5, feita pela NASA, mostra a quantidade de lixo

espacial na órbita terrestre.

Page 20: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

19

Figura 5 - Lixo espacial na órbita terrestre

(Fonte: http://orbitaldebris.jsc.nasa.gov/photogallery/beehives.html#leo)

A NASA publica trimestralmente uma revista sobre detritos espaciais, onde é

divuldado um relatório gráfico sobre os objetos em órbita da Terra oficialmente catalogados

pela rede espacial norte-americana, a Orbital Debris Quarterly News. Pode-se observar no

gráfico a seguir, Figura 6, o aumento considerável do lixo espacial no decorrer do tempo.

Page 21: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

20

Figura 6 - Número mensal de objetos catalogados na órbita da Terra por tipo.

(Fonte: Orbital Debris Quarterly News – Volume 15, Issue 1, January 2011 - Traduzido)

Houve dois eventos que contribuiram consideravelmente para o aumento do

número de detritos espaciais. Em 2007, a China lançou um míssil contra um dos seus satélites

meteorológicos, o Fengyun 1-C. A destruição do satélite criou mais de 3.000 (três mil)

objetos rastreáveis e um número estimado de 150.000 (cento e cinquenta mil) partículas de

detritos maiores que 1 cm (um centimetro). Aumentando em cerca de 15% (quinze porcento)

a quantidade de lixo espacial. Em 2009, houve uma colisão entre um satélite norte-americano

ativo, o Iridium-33 com um satélite russo inativo, portanto sem controle.

O Lixo espacial pode reentrar na Terra, dependendo da sua órbita, naturalmente,

após algum tempo. Porém, a maior parte desses objetos não atinge o solo. Objetos que

estejam na órbita da Terra, sem controle, dependendo da altitude em que se encontram, podem

ser atraídos pelas forças físicas naturais e/ou colidirem com a atmosfera, devido à trajetória

Page 22: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

21

que possuem e reentrarem no planeta. Porém, a maior parte desses objetos se fragmenta antes

de atingirem a superfície, devido ao tempo de exposição às altas temperaturas e às

desacelerações sofridas na reentrada, o que torna os materiais maleáveis e com os picos de

desacelerações (torções e compressões excessivas), o corpo se deforma, rompendo os limites

de resistência dos materiais. Dependendo da sua resistência, o objeto pode se desintegrar

totalmente, como acontece na maioria dos casos, ou chegar à superfície terrestre. Contudo,

não é possível saber exatamente o ponto em que o objeto cairá, pois a trajetória poderá ser

alterada por diversos fatores, entretanto, como a maior parte do planeta é coberto por água, a

probabilidade de tais objetos atingirem uma pessoa é mínima.

A comunidade internacional vem buscando resolver esse grave problema que

ameaça o futuro da comunicação via satélite e as missões espaciais. Porém, ainda não existem

tecnologias disponíveis para se retirar esse lixo espacial de órbita. Um primeiro passo no

sentido de diminuir essa proliferação dos detritos veio em 2007, com a divulgação, pela ONU,

de um documento contendo diretrizes para a exploração espacial. Entretanto, esse documento

é uma simples recomendação que propõe limitar o número de dejetos espaciais liberados,

tentar diminuir os riscos de colisão, evitar a destruição intensional de estágios de foguetes e

elevar a órbita dos satélites geoestacionários ao fim da sua vida útil, de modo que estes não

apresentem ameaças à exploração espacial, entre outras indicações.

2.3 Dinâmica Orbital

Seguindo uma ideia proposta por Newton em 1687 em seu livro Philosophie

Naturalis Principia Mathematica (Princípios Matemáticos da Filosofia Natural), onde ele

propôs as três leis fundamentais da mecânica. Aplicando princípios matemáticos na descrição

de fenômenos naturais relacionados ao movimento foi possível a descrição de uma teoria de

como seria o lançamento de um satélite artificial.

Page 23: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

22

Existem diversos tipos de satélites artificiais que são agrupados de acordo com a

sua missão e que são divididos em dois grupos distintos: 1. Satélite de uso civil - com

objetivos pacíficos, comerciais ou não, tais como os de comunicações, pesquisas,

levantamento de recursos naturais, por exemplo. 2. Satélites de uso militar.

Os satélites artificiais aproveitam a força gravitacional da Terra, que faz com que

os corpos sejam atraídos uns pelos outros, para se manterem na órbita terrestre. Quanto mais

distante do planeta, menor a força gravitacional. Para manter um satélite artificial em órbita é

necessário que a altitude e a sua velocidade sejam tais que haja um equilíbrio entre a força

centrífuga e a da gravidade.

O trecho a seguir, que está numa linguagem adaptada, faz parte do livro, A

Treatise of the System of the World, (Um Tratado do Sistema do Mundo), de 1728, onde Isaac

Newton descreveu o que aconteceria se alguém atirasse uma pedra horizontalmente do pico de

uma montanha que se projetasse acima da atmosfera, explicando como a força gravitacional

manteria um objeto em órbita da Terra (ASSIS, 2008).

"Para explicar como os satélites se mantêm em suas órbitas consideremos o

movimento de um corpo lançado inicialmente com uma trajetória horizontal. Por

causa de seu peso, o corpo sai de sua trajetória reta, descreve uma curva e cai sobre

o solo. Quanto maior a velocidade com que é lançado, mais longe ele vai antes de

cair sobre a terra. Observando a representação da Terra e as linhas curvas que o

corpo percorreria se projetado em uma direção horizontal do topo de uma alta

montanha, com velocidades cada vez maiores. Suponha que não há resistência do

ar. Aumentando cada vez mais a velocidade inicial do corpo ele cairá cada vez

mais longe até que, quando a velocidade inicial for suficientemente grande, acabará

percorrendo toda a circunferência da Terra, voltando à montanha de onde foi

lançado. Agora, se o corpo for projetado em direções paralelas ao horizonte, de

grandes alturas, dependendo de sua velocidade inicial e da força da gravidade na

Page 24: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

23

altura em que está ele descreverá círculos concêntricos ou elipses e permanecerá

girando nessas órbitas celestes do mesmo modo que a Lua gira em torno da Terra e

os planetas giram em torno do Sol". (NEWTON, 1728, apud ASSIS, 2008).

2.3.1 Órbitas dos satélites artificiais

Os satélites artificiais ocupam as mais diversas órbitas, podendo ser polares,

circulares ou elípticas, bem como altitudes variando entre centenas a milhares de quilômetros

e inclinações e formas distintas.

Os satélites artificiais de comunicações são geoestacionários, ou seja, ficam

perpendiculares sobre um mesmo ponto da superfície do planeta, eles possuem órbita

coincidente com a Linha do Equador e ficam a uma altitude de cerca de 35.840 km (trinta e

cinco mil oitocentos e quarenta quilômetros) da superfície da Terra, onde a força centrífuga e

a força centrípeta do planeta se anulam, acompanhando o movimento de rotação do planeta

com uma velocidade orbital de 11.000 km/h (onze mil quilômetros por hora). Já os satélites

não geoestacionários descrevem várias órbitas por dia.

Os satélites artificiais sofrem perturbações causadas pela ação de forças físicas

que alteram sua posição e orientação em órbita, obrigando a realização de manobras orbitais

periódicas para a realização da correção da posição. As manobras são executadas pelos

disparos de jatos que provocam um impulso ao satélite imprimindo velocidade em direção

contrária aos efeitos da perturbação. As principais perturbações que agem sobre um satélite

geoestacionário são a Gravitação luni-solar que afeta a sua órbita aumentando o valor da sua

inclinação, a Triaxialidade terrestre que provocam uma aceleração longitudinal no satélite, e

sua deriva na direção Leste-Oeste mudando a forma da sua órbita aumentando e diminuindo a

velocidade alterando o eixo de rotação e a altitude do satélite artificial.

A junção dessas forças físicas causa um movimento em forma de „oito‟ no

satélite, como pode ser observado na figura 7.

Page 25: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

24

Figura 7 - Movimento de um satélite geoestacionário.

(Fonte: Tela de um vídeo criado no Laboratório Star One – UNIFESO)

No caso de uma colisão em órbita, as partes do satélite tendem a dar continuidade

ao movimento que estavam fazendo, como pode ser observado na representação da colisão

entre o satélite russo inativo da série Cosmos com um americano ativo, o Iridium 33 ocorrido

em 2009 (Figura 8).

Figura 8 - Representação da colisão entre dois satélites artificiais

(Fonte: Telas de um vídeo criado pela AGI - http://www.agi.com)

Page 26: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

25

2.4 A Linguagem NCL

A linguagem NCL (Nested Context Language), desenvolvida pela PUC-RIO, é

uma linguagem declarativa hipermídia baseada no modelo conceitual NCM (Nexted Context

Model) que representa os conceitos estruturais além das relações e eventos entre os dados

através de nós, com identificador, conteúdo e conjuntos de âncoras entre outors. A

linguagem tem um de alto nível de abstração e é voltada principalmente para concepção de

aplicativos para TV Digital e para a Web.

NCL é a linguagem declarativa do middleware Ginga. O chamado GINGA-

NCL é a camada de software responsável pela execução das aplicações NCL permitindo a

execução de aplicativos independentemente das plataformas de hardware e software. Esta é

uma tecnologia nacional, reconhecida mundialmente, que se tornou recomendação ITU-T

para serviços IPTV (transmissão de conteúdo através do protocolo IP) e padrão ABNT do

Sistema Brasileiro de TV Digital Terrestre, que possibilita a utilização de múltiplos

dispositivos de exibição, interligados através de redes.

“Ginga-NCL é o subsistema Ginga desenvolvido pela PUC-Rio que visa prover

uma infraestrutura de apresentação para aplicações declarativas escritas na

linguagem NCL (Nested Context Language). NCL é uma linguagem de aplicação

XML com facilidades para a especificação de aspectos de interatividade,

sincronismo espaço-temporal entre objetos de mídia, adaptabilidade, suporte a

múltiplos dispositivos e suporte à produção ao vivo de programas interativos não

lineares.” (GINGA NCL, 2012)

Voltada principalmente para aplicações de TV Digital e WEB, a linguagem define

como objetos de mídia são estruturados e relacionados no tempo e espaço, possibilitando a

utilização de diversos objetos de mídia, tais como imagens, vídeos, áudios e textos nos mais

Page 27: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

26

distintos formatos, além de objetos com código imperativo e declarativo, como HTML por

exemplo.

Com a utilização de um plugin especifico para a reprodução de conteúdos

hipermídia para navegadores Web, é possível a reprodução de um aplicativo interativo, que

pode ser disponibilizado na internet, em qualquer computador ou pode ser enviado a um

televisor com suporte a tal funcionalidade.

Um desenvolvedor ao utilizar a NCL, se preocupa em desenvolver um aplicativo

com um foco especifico. O ambiente GINGA-NCL permite o uso de código imperativo

através de código na linguagem de script em LUA, os chamados scripts NCLua. Segundo

Soares & Barbosa: “Desde o inicio do seu desenvolvimento, no inicio dos anos 1990, Lua foi

projetada para ser usada em conjunto com outras linguagens, não sendo comum encontrar

programas escritos puramente em Lua.” (SOARES & BARBOSA, 2009).

Page 28: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

27

3 O DESENVOLVIMENTO DA ANIMAÇÃO

Este capítulo descreve o software utilizado para o desenvolvimento deste trabalho

e como foi realizada a modelagem dos objetos e concepção da animação.

3.1 Ferramentas Utilizadas

Para a modelagem, desenvolvimento da animação e renderização foi utilizado o

software Blender 3D, na sua versão 2.60, um software livre disponível sobre a licença GNU, e

desenvolvido e mantido pela Blender Foundation com sede na Holanda. Este software

permite a modelagem de objetos para a criação de animações 3D incluindo efeitos especiais

com um alto nível de realismo, entre diversas outras funcionalidades.

Criado em meados da década de 1990, pelo estúdio de animação NeoGeo, com o

intuito de desenvolver animações próprias, o Blender foi crescendo, passando a ser

desenvolvido e comercializado por uma outra empresa. Porém após uma série de dificuldades

encontradas pela empresa, a licença sobre o software foi vendida e o Blender passou a ser de

código aberto. Em 2002, Ton Rosendaal fundou uma organização sem fins lucrativos, a

Blender Foundation com o objetivo de encontrar uma maneira de continuar a desenvolver e

promover o Blender como um projeto Open Source, como é até os dias de hoje.

Com o passar do tempo foram lançadas diversas atualizações e o software vem

evoluindo rapidamente, tornando–se mais dinâmico e com uma interface mais agradável,

como pode ser constatado comparando as Figuras 9 e 10. A Figura 9 mostra a interface da

versão 1.6 do Blender, lançado em 1999 e a Figura 10 mostra a interface da versão 2.6, de

2011.

Page 29: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

28

Figura 9 - Interface Blender versão 1.6

Figura 10 - Interface do Blender versão 2.6

Page 30: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

29

3.2 Modelagem dos objetos da cena

O Blender permitiu a modelagem dos elementos necessários à composição das

cenas com um alto nível de realismo. Para tanto foram utilizadas texturas e composição de

nós, como demonstrados adiante, entre outros recursos disponíveis no software. Os elementos

foram criados fora da escala real com o objetivo de proporcionar uma melhor representação

da cena, caso contrário o satélite artificial e suas partes ficariam imperceptíveis.

3.2.1 Satélite Artificial

Para esta simulação foi modelado um satélite inspirado em um satélite da segunda

geração da série BrasilSat, da Star One (empresa operadora de satélites do grupo Embratel).

Na figura 11, temos uma imagem do painel solar do satélite real, ao lado do modelo criado

para a simulação.

Figura 11 - Satelite artificial da série BrasilSat x Modelagem

3.2.2 Planeta Terra

Para a modelagem da Terra, foram utilizadas diversas texturas, disponibilizadas

pela NASA em seu website [http://visibleearth.nasa.gov]. Estas imagens foram aplicadas à

Page 31: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

30

esferas, possibilitando uma simulação realista do planeta, evidenciando particularidades como

relevo, visão noturna e visão diurna sob as nuvens. Cada imagem foi aplicada em esferas

distintas e sobrepostas, sendo que as mais externas possuem uma certa transparência com a

finalidade de possibilitar a visualização das mais internas.

A Figura 12 mostra a Terra vista do espaço em uma figura planificada,

possibilitando a representação dos continentes e oceanos em uma visão diurna, que com a

incorporação de iluminação em parte da esfera permitiu a simulação da parte do planeta

iluminada pelo sol.

Figura 12 – Mapa Continentes.

(Fonte: http://visibleearth.nasa.gov/)

A Figura 13 apresenta a visão no contexto noturno, permitindo a visualização da

parte da Terra onde ainda é noite inclusive com a visualização das luzes nas cidades.

Page 32: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

31

Figura 13 - Luzes noturnas

(Fonte: http://visibleearth.nasa.gov/)

A figura 14 representa o relevo com um destaque mais claro nas áreas com maior

altitude, visto que o Blender pode interpretar o branco como maior relevo e o preto como

região de menor relevo. Já a figura 15 serve para dar o efeito de especularidade (reflexão da

luz solar), natural do planeta.

Figura 14 - Relevo (Fonte: http://visibleearth.nasa.gov/)

Page 33: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

32

Figura 15 – Reflexo (Fonte: http://visibleearth.nasa.gov/)

A figura16 apresenta uma imagem das nuvens que são peculiares à atmosfera

terrestre, representadas pelas partes brancas e cinzas da imagem.

Figura 16 - Nuvens

(Fonte: http://visibleearth.nasa.gov/)

Com o objetivo de melhorar a qualidade das imagens, foi utilizado o Node Editor

(Editor de Nós), que é uma funcionalidade disponível no Blender que possibilitou mesclar as

texturas apresentadas anteriormente gerando um maior nível de realismo, como demonstrado

Page 34: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

33

na Figura 17. Cada textura utilizada foi atrelada à um nó, que são ligados entre si e a outros

nós de propriedades.

Figura 17 – Nós da modelagem da Terra

3.3 Simulação da colisão e explosão em órbita

Não é possível a propagação do fogo neste ambiente devido à ausência tanto de

material combustível quanto de atmosfera. Logo, os gases que estão sendo inflamados pelas

chamas não se expandem. Sem esse componente, as chamas espalham-se de modo uniforme

tomando forma de uma esfera que se expandem até certo ponto e a seguir até desaparecerem.

Uma possível colisão envolvendo um satélite artificial e um detrito espacial, apenas

ocasionaria uma explosão caso existisse uma quantidade de combustível considerável em seu

tanque de combustível, ou no tanque do objeto errante.

Para criar a cena da colisão, foi utilizada a ferramenta Fracture Tools do Blender,

que serve para criar efeitos de quebra de objetos em várias partes, com ou sem colisão. Para a

criação do efeito de explosão foram utilizadas partículas, adicionando-se um sistema de

partículas a uma esfera colocada dento do corpo do satélite, com o objetivo de simular tal

efeito. No frame em que a colisão acontece o sistema é ativado, gerando as partículas que por

Page 35: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

34

sua vez são emitidas por todas as faces da esfera. Após o modelo do satélite ser despedaçado,

as partículas vão se afastando criando o efeito desejado de explosão, até a sua extinção em um

tempo pré- determinado. Por outro lado, as partes do objeto continuam seguindo a trajetória

original do satélite, como ocorreria na realidade, em caso de uma explosão.

Obteve-se como resultado a representação da figura 18. As partes foram

modeladas fora da escala real para proporcionar uma melhor representação visto que em

escala real tais elementos ficariam imperceptíveis com relação à Terra.

Figura 18 - Animação da quebra do satélite artificial em várias partes.

Sem os mecanismos de controle do posicionamento do satélite artificial, as

partes remanescentes da colisão comportam-se de acordo com a física existente, seguindo

uma trajetória em forma de „anel‟ em órbita da Terra como demonstrada na Figura 19, que

retrata a colisão entre o satélite russo inativo da série Cosmos com um satélite americano

Page 36: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

35

ativo, o Iridium 33. Os pontos na cor vermelha representam as partes remanescentes de ambos

os satélites, seguindo trajetórias correspondentes às direções em que tais satélites se

movimentavam em sua órbita em torno da Terra. Os pontos verdes são demais objetos que

estão na órbita terrestre.

Figura 19 - Partes Remanescentes de uma colisão

(Fonte: Tela de um vídeo criado pela AGI – http://www.agi.com)

3.4 O Movimento da Câmera e Geração da Animação

A movimentação da câmera virtual possibilita dar um maior realismo à animação,

além de simular a ideia de movimento. Para criar a ideia de movimento de câmera, foi

utilizada uma funcionalidade disponível no Blender que permite a utilização de curvas para a

criação de uma trajetória que definirá o caminho a ser percorrido pela câmera. Como se pode

Page 37: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

36

observar na figura 20, o path (caminho) está representado pela linha em destaque dentro do

retângulo vermelho, indica a trajetória que a câmera virtual deverá percorrer.

Figura 20 - Caminho da câmera virtual

O vídeo foi gerado a partir da criação de diversas cenas que compõem a animação,

criando uma simulação computacional de como seria o efeito dinâmico de uma colisão de um

objeto qualquer (lixo espacial) com um satélite de comunicações, levando em conta os

aspectos mais relevantes de tal acontecimento.

Para facilitar o processo, a renderização foi dividida em quatro partes, gerando

assim quatro arquivos distintos no formato MPEG que foram anexados posteriormente

criando-se um único vídeo com uma taxa de 33 frames por segundo, o que possibilitou uma

boa qualidade das imagens, e a impressão de movimento das partes componentes do vídeo.

Page 38: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

37

4 O APLICATIVO EM NCL

Para se construir um documento hipermídia NCL, segundo SOARES &

BARBOSA (2009), deve–se „responder‟ quatro questões fundamentais; O quê? Onde? Como?

e Quando?, ou seja, o que será exibido, em que posição da tela, com que características, como

volume, transparência e duração, entre outros, e em que tempo e ordem de exibição (e/ou após

que comando).

O quê? - Todos os elementos que fazem parte do aplicativo, tais como vídeos,

imagens e áudio, são chamados de mídia e são representados através de nós de mídia

definidos dentro de um contexto, que representa todo o documento ou parte dele, no qual é

necessário utilizar uma porta, para acessar a mídia inicial, como demonstra a Figura 21.

Figura 21- Contexto

Como? - A forma como a mídia é apresentada é definida através de descritores,

que podem controlar características dos elementos, tais como o volume de um áudio ou a

transparência de uma imagem, por exemplo. Ao se definir um descritor, associa-se uma região

a ele. Um descritor não possui uma representação gráfica.

Page 39: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

38

Onde? - Após a definição das mídias, deve–se definir as posições onde cada

elemento será apresentado, ou seja, a posição na tela e o tamanho, através de elementos

denominados regiões.

Figura 22 – Regiões

Quando? - Após definir qual a primeira mídia a ser apresentada associando-se

uma porta a esta, é feita a definição da ordem de apresentação ligando-se cada mídia através

de elos, ou links, e o comportamento de cada elo é definido através de conectores, como

representado graficamente na Figura 23.

Page 40: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

39

Figura 23 - Contexto e Links

4.1 Estrutura de um documento NCL

Bem como em qualquer arquivo XML, um documento hipermídia NCL apresenta

um cabeçalho XML em sua primeira linha de código. Além disso, faz parte do documento

NCL o cabeçalho (<head>) e o corpo do documento (<body>), como demonstra a Figura 24.

Figura 24 – Estrutura de um documento NCL

(Fonte: http://www.telemidia.puc-rio.br/?q=pt-br/node/554)

Page 41: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

40

No apêndice foi anexado o código fonte em NCL da interface desenvolvida.

4.2 Desenvolvimento do Aplicativo

Para a criação do aplicativo foi utilizado o software NCL Composer, desenvolvido

pelo Laboratório de TeleMidia da PUC-Rio disponível na internet gratuitamente.

Este programa possibilitou a criação do aplicativo em NCL de maneira rápida,

satisfazendo-se as principais necessidades para o seu desenvolvimento.

No aplicativo foram inseridos o vídeo da simulação da colisão e explosão do

satélite artificial, juntamente com outros elementos pertinentes ao tema que dão mais ênfase

ao assunto em questão, com o objetivo de demonstrar as potencialidades da linguagem NCL e

a interatividade no uso de janelas e menus na interface gráfica.

Cada elemento de mídia é mostrado em um tempo pré-determinado durante a

exibição do vídeo da animação. Tais elementos aparecem nos cantos superiores da tela com

um tamanho reduzido. Porém o usuário poderá selecionar uma mídia clicando em cima dele

com o botão direito do mouse ou apertando a tecla Enter e isto fará com que o vídeo principal

troque de posição com a mídia selecionada (gráfico ou o vídeo menor), dando assim mais

destaque a ela.

Ainda existe a possibilidade de o usuário pausar a animação e/ou desativar o som,

além de visualizar cada elemento separadamente, através de um menu apresentado do lado

esquerdo da tela.

A Figura 25 apresenta a configuração das regiões utilizadas para a apresentação

das mídias que fazem parte do aplicativo. Cada mídia foi associada a uma determinada região.

Page 42: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

41

Figura 25 – Visão de Layout do Composer (Regiões)

A Figura 26 mostra a tela da visão estrutural do aplicativo criado no Composer,

onde cada elemento de mídia é representado por uma figura, dentro do contexto, como

descrito no inicio deste capitulo e representado pelas Figuras 21 e 23. As conexões entre os

diversos elementos também estão representadas na figura.

Page 43: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

42

Figura 26 – Visão Estrutural do Aplicativo no Composer

O contexto é iniciado por uma porta única, que acessa a imagem de fundo, que é o

primeiro elemento a ser exibido. A partir daí todos os elementos são ligados através de links

com conectores, que controlam o comportamento de cada item. Um tempo após a

inicialização da imagem de fundo, começa a exibição do vídeo principal contendo a

animação, a música, e cada elemento subsequente, sendo que determinados elementos só

serão exibidos caso o usuário o selecione, usando a capacidade de interatividade do aplicativo.

A Figura 27 demonstra a tela da visão textual do Composer, onde fica o código

gerado.

Page 44: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

43

Figura 27 – Tela Textual do Aplicativo no Composer

4.3 Testes

Apesar de não ter sido realizado nenhum teste quantitativo, pode-se observar que

tanto o desenvolvimento dos modelos e animações utilizando-se o Blender, quanto o

desenvolvimento da interface através do Composer, tiveram um desempenho melhor quando

o sistema operacional Linux foi utilizado. Este trabalho começou a ser desenvolvido

utilizando-se o sistema operacional Windows 7 e foi concluído no Linux Ubuntu 10.04 o qual

se mostrou mais eficiente em todos os quesitos, desde a renderização até a execução do

aplicativo.

Para a validação da aplicação NCL criada, foi utilizado o NCL Validation Service

(NCL-VS), que é um serviço disponível no site: [http://validator.ncl.org.br/index.php], que

tem a função de fazer a validação online de documentos NCL, utilizando para isto o NCL

Validator, desenvolvido pelo Laboratório de Sistemas Avançados da Web (LAWS), da

Universidade Federal do Maranhão [http://www.deinf.ufma.br], que juntamente com a PUC-

Rio, é referencia no padrão Ginga.

Page 45: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

44

O NCL-VS indica possíveis erros no documento NCL fazendo a análise

semântica, verificação das cardinalidades de elementos filhos e de elementos obrigatórios,

entre outros. Como pode ser observado na Figura 28, o NCL-VS indica diversos erros no

código fonte, caso estes sejam detectados. No caso da figura 28, estes erros foram inseridos

propositalmente para verificar a eficácia da ferramenta de validação, antes de sua utilização

na validação do aplicativo em questão.

Figura 28 - Página do NCL Validation Service contendo erros inseridos propositalmente.

Page 46: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

45

A Figura 29 apresenta a tela do NCL Validation Service no qual foi inserido o

código fonte do aplicativo criado, com a resposta de que o documento foi avaliado com

sucesso, o que significa que este passou no teste de validação.

Figura 29 - Página do NCL Validation Service sem erros

4.4 Problemas Encontrados

Durante o desenvolvimento do aplicativo foi observada certa instabilidade no

Composer. Por se tratar de um software novo e em versão Beta, tal fato torna-se aceitável.

Page 47: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

46

Uma possível instabilidade é mencionada inclusive no site do programa

(http://composer.telemidia.puc-rio.br/).

Existem fóruns de discussão e espaço na rede para se relatar falhas encontradas.

No nosso caso, foram relatados alguns problemas como:

O travamento do programa ao adicionar um elo, quando o contexto está

com diversos elementos de mídia, sendo necessário reiniciar o sistema;

Ao abrir um projeto já salvo, o „Zindex‟, funcionalidade que agrupa

regiões na frente ou atrás de outras regiões, é perdido.

Page 48: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

47

5 RESULTADOS OBITIDOS

O Composer trouxe um ganho de produtividade ao desenvolvimento do

aplicativo, facilitando a programação e gerando parte do código automaticamente. Além de

possuir uma interface agradável, que permite inclusive uma customização do seu layout por

parte do programador, o software tem como objetivo preparar o código-fonte para um

refinamento posterior. Ele possui uma base de conectores que pode ser facilmente incorporada

ao aplicativo. Os pequenos problemas na versão disponível (beta) do Composer não

prejudicaram o desenvolvimento em si, e levando-se em consideração que esta é uma

ferramenta relativamente nova, tais fatos são aceitáveis e deverão ser corrigidos aos poucos, o

que é facilitado pelo fato do programa ser de código aberto.

O Blender, por sua vez atendeu todas as expectativas, permitindo a criação da

animação de forma satisfatória, possuindo uma farta documentação e fontes de consulta.

A aplicação tem como elemento principal a animação gerada, simulando a colisão

de um objeto vagando em órbita da Terra (lixo espacial) com um satélite de comunicações. O

vídeo gerado com a animação tem a duração de um minuto e trinta segundos.

Foi criada uma tela de menu, onde foram colocados o vídeo da animação gerado,

o gráfico do crescimento do lixo espacial, o vídeo da colisão dos satélites e um texto contendo

o resumo desta monografia. Cada elemento pode ser selecionado e visto separadamente.

Como pode ser observado na figura 30.

Page 49: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

48

Figura 30 – Tela de Menu do aplicativo

A figura 31 apresenta a tela inicial, que é exibida automaticamente na sua

inicialização do aplicativo e foi criada em forma de imagem. Já a figura 32 mostra a tela do

aplicativo com a animação sendo exibida e uma legenda. Existem quatro legendas que são

exibidas no decorrer desta animação. E do lado esquerdo são exibidos os botões Menu, Pausa,

Play, Sair, Ativar e Desativar o som, que podem ser selecionados a qualquer momento.

Page 50: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

49

Figura 31 – Tela inicial do aplicativo

Figura 32 – Animação sendo apresentada.

Os elementos adicionais são exibidos em um tempo pré–determinado. Tais

elementos são: um gráfico demonstrando o crescimento do lixo espacial ao longo do tempo,

Page 51: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

50

um vídeo com uma simulação computadorizada da colisão de dois satélites e a representação

de outros objetos e satélites na órbita da Terra, e uma janela explicativa do gráfico

apresentado. A interface contendo esses elementos pode ser observada na figura 33.

Figura 33 – Tela com a animação sendo exibida juntamente com outros elementos.

Ao selecionar um dos objetos de mídia citados acima, a animação principal passa

para a posição deste, e tal mídia é exibida na janela maior, na posição antes ocupada pela

animação, como exposto nas figuras 34 e 35.

Page 52: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

51

Figura 34 – Tela com gráfico maior e a animação reduzida.

Figura 35 – Tela com a animação reduzida e um segundo vídeo em tela grande.

Ao selecionar um dos elementos da tela de menu (Figura 30), este é exibido em

tamanho grande ocupando grande parte da tela, sendo que ao clicar com o botão esquerdo do

Page 53: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

52

mouse ou pressionada a tecla <Enter>, a figura volta ao seu tamanho original e a tela de menu

(Figura 30) é exibida novamente.

A Figura 36 apresenta a tela ao ser selecionada à opção do Gráfico do

Crescimento do Lixo Espacial.

Figura 36 – Gráfico sendo exibido a partir da tela de menu.

Já a Figura 37 exibe a tela ao ser selecionada a opção resumo do TCC, na tela de

menu. Nesse caso, é exibido o resumo desta monografia escrito em arquivo de texto sem

formatação. A Figura 38 representa a tela de exibição do vídeo da simulação da colisão de

dois satélites que é exibida no decorrer da apresentação da animação.

Page 54: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

53

Figura 37 – Texto sendo exibido a partir da tela de menu.

Figura 38 – Vídeo sendo exibido a partir da tela de menu.

A Figura 39 apresenta a tela em que o vídeo da animação gerada é exibida a partir

da sua seleção na tela de menu.

Page 55: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

54

Figura 39 – Animação sendo exibido a partir da tela de menu.

Tal aplicativo pode ser transmitido e exibido através da tecnologia de TV Digital

ou exibido em qualquer computador após a instalação de um software especifico. Um plugin

que permitirá a exibição de conteúdos NCL em navegadores de internet está sendo

desenvolvido pela PUC-Rio para Firefox e Google Chrome, com previsão de lançamento para

dezembro de 2012.

Page 56: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

55

6 CONCLUSÕES E SUGESTÕES PARA TRABALHOS

FUTUROS

A animação foi concluída de forma satisfatória possibilitando a simulação de uma

possível colisão de um detrito espacial com um satélite artificial. A questão do aumento de

tais objetos em órbita da Terra e do problema acarretado por este fato foi abordado. Foi

também utilizada a técnica de sistemas de partículas na modelagem dos objetos,

possibilitando a simulação do efeito de explosão.

O aplicativo em NCL foi desenvolvido dentro das expectativas, sendo validado

através de ferramentas apropriadas e possibilitando assim a abordagem do tema proposto de

uma forma original, abrindo horizontes para a sua exibição através da TV Digital, IPTV ou

como aplicativo desktop, sendo possível também a sua exibição futura através de navegadores

web assim que o plugin necessário para este fim for disponibilizado pelos desenvolvedores.

Desse modo, o usuário pode acessar as informações de uma maneira interativa, tornando sua

pesquisa sobre o tema mais agradável e interessante.

Como sugestão para trabalhos futuros fica a possibilidade de aprimoramento do

nível de realismo da animação com a simulação mais realista dos efeitos da explosão, adição

de novos elementos, e melhora dos componentes modelados, além da simulação de outros

tipos de colisão em que ocorram apenas danos aos objetos, e modelagem de outros tipos de

satélites artificias. O aperfeiçoamento da simulação dos efeitos físicos que ocorrem em tais

acontecimentos também poderia ser considerado em trabalhos futuros. O incremento e

melhoria do aplicativo com a inserção de outras informações e mídias, aprimoramento no

layout de exibição, e o uso de dispositivos móveis tais como tablets e celulares como

receptores e exibidores de informações, funcionalidades estas que estão previstas e

disponíveis para aplicativos desenvolvidos utilizando-se a linguagem NCL.

Page 57: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

56

REFERÊNCIAS BIBLIOGRÁFICAS

ASSIS, André Kock Torres. Principia: Princípios Matemáticos de Filosofia

Natural, Livro II: O Movimento dos Corpos (em Meios com Resistência) e Livro III: O

Sistema do Mundo (Tratado Matematicamente), tradução a partir do livro Sir Isaac Newton‟s

Mathematical Principles of Natural Philosophy, Edusp, São Paulo, 2008.

AZEVEDO, Eduardo; CONCI, Aura. Computação Gráfica: teoria e prática. 4a ed.

Rio de Janeiro: Editora Campus, 2003.

BARAF, David; WIKIN, Andrew. Physically Based Modeling: Principles and

Practice, Siggraph 97 Course Notes, 1997.

BLENDER WIKI, Documentação e informações do software Blender, USA,

2012. Disponível em: http://wiki.blender.org/index.php/File:Blender3D_Partocles-Mode-

Image.jpg>. Último acesso em 15 out 2011.

BRITO, Allan. Blender 3D: guia do usuário, 4a ed. São Paulo: Editora Novatec,

2011.

CALOMENI, A. Efeitos Visuais utilizando Sistemas de Partículas. Rio de

Janeiro: PUC-RJ, 2002. (Monografia).

GINGA NCL, Site Oficial do Middleware Ginga, Brasil, 2012. Disponível em:

<http://www.gingancl.org.br>. Último acesso em: 28 out. 2012.

HALLIDAY, David Fundamentos da Física 2, vol. 1, 5 ed. Rio de Janeiro LTC,

2004.

KARASINSKI, Lucas. Como uma chama se comporta em um ambiente sem

gravidade?, 2012. Disponível em: <http://www.tecmundo.com.br/mega-curioso/25188-como-

uma-chama-se-comporta-em-um-ambiente-sem-gravidade-video-.htm#ixzz2AddzPeAH/>.

Último acesso em 26 ago 2012.

Page 58: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

57

NASA, Orbital Debris Quarterly News, International Space Station Avoids Debris

from Old NASA Satellite. Houston (USA): NASA Orbital Debris Program Office, Volume

15, Issue 1, January 2011.

NASA, Visible Earth. A catalog of NASA images and animations of our home

planet, USA. Disponível em: < http://visibleearth.nasa.gov/>. Último acesso em 13 out 2102.

NETO, Carlos de Salles Soares; SOARES, Luiz Fernando Gomes; RODRIGUES,

Rogério Ferreira; BARBOSA, Simone Diniz Junqueira. Construindo Programas Audiovisuais

Interativos Utilizando a NCL 3.0. Rio de Janeiro: PUC-Rio, 2010. (Apostila).

REEVES, Willian. T.; BLAU, Ricki.: Approximate and Probabilistic Algorithms

for Shading and Rendering Structured Particle Systems. In: SIGGRAPH 1985: Proceedings of

the 12th

annual conference on Computer Graphcs and interactive thecnics, pp. 313-322. ACM

Press, New York, 1985.

REEVES, William T. Particle Systems: A Technique for Modeling a Class of

Fuzzy Objects. ACM. Computer Graphics, Proceedings of Siggraph. vol. 17, nº 3, 1983, p.

359-375.

ROOSENDAAL, Ton. History of Blender. Disponível em:

<http://www.blender.org/blenderorg/blender-foundation/history/>. Último acesso em: 20 mai

2012.

SIMS, K. Particle Dreams, Siggraph Video Review, ACM SIGGRAPH, New

York, 1988.

SOARES, Luiz Fernando Gomes; BARBOSA, Simone Diniz Junqueira.

Programando em NCL: desenvolvimento de aplicações para middleware Ginga, TV digital e

Web. Rio de Janeiro: Elsevier, 2009

Page 59: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

58

APÊNDICE – CÓDIGO NCL

<?xml version="1.0" encoding="ISO-8859-1"?> 1

<ncl id="myNCLDocID"> 2

<head> 3

<connectorBase id="connBaseId"> 4

<importBase alias="conn" documentURI="defaultConnBase.ncl"/> 5

<causalConnector id="onKeySelectionAbortStop"> 6

<connectorParam name="vKey"/> 7

<simpleCondition role="onSelection" key="$vKey"/> 8

<compoundAction operator="par"> 9

<simpleAction role="abort" max="unbounded"/> 10

<simpleAction role="stop"/> 11

</compoundAction> 12

</causalConnector> 13

</connectorBase> 14

<regionBase id="rgbase1"> 15

<region height="100.00%" id="FundoReg" left="0.00%" top="0.00%" 16

width="100.00%" zIndex="10"> 17

<region height="80.00%" id="TelaPrincipalReg" left="8.78%" 18

top="4.38%" width="72.83%" zIndex="4"> 19

<region height="100.00%" id="TelaPrincipalDoisDesc" 20

left="0.00%" top="0.00%" width="100.00%" zIndex="12"/> 21

</region> 22

Page 60: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

59

<region height="29.38%" id="TelaAuxUM" left="0.23%" 23

top="2.92%" width="21.66%" zIndex="5"/> 24

<region height="29.17%" id="TelaAuxDOIS" left="77.99%" 25

top="2.50%" width="20.73%" zIndex="5"/> 26

<region height="4.79%" id="MenuReg" left="0.70%" 27

top="61.04%" width="4.80%" zIndex="10"/> 28

<region height="4.79%" id="Pausereg" left="0.35%" 29

top="66.46%" width="3.63%" zIndex="12"/> 30

<region id="PlayReg" left="0.70%" top="73.12%" 31

width="3.63%" height="4.79%"/> 32

<region id="SairReg" left="0.59%" top="79.58%" 33

width="3.40%" height="4.58%"/> 34

<region id="LegendaReg" left="6.67%" top="86.25%" 35

width="79.98%" height="12.92%"/> 36

<region id="PararSomReg" left="0.94%" top="88.12%" 37

width="2.69%" height="4.38%"/> 38

<region id="AtivarSomReg" left="0.82%" top="93.75%" 39

width="2.69%" height="4.58%"/> 40

<region height="51.04%" id="InfoReg" left="82.20%" 41

top="32.50%" width="16.86%"/> 42

<region height="12.50%" id="LogoReg" left="91.10%" 43

top="86.25%" width="7.49%" zIndex="11"/> 44

<region height="40.62%" id="MenuGraficoReg" left="2.58%" 45

top="5.00%" width="26.93%" zIndex="12"/> 46

Page 61: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

60

<region height="41.67%" id="MenuVideoPrincReg" 47

left="28.92%" top="54.79%" width="32.79%" zIndex="12"/> 48

<region height="36.88%" id="MenuVideoAuxReg" 49

left="71.19%" top="2.50%" width="27.63%" zIndex="12"/> 50

<region height="34.17%" id="MenuTextoReg" left="34.43%" 51

top="1.88%" width="29.86%" zIndex="12"/> 52

</region> 53

</regionBase> 54

<descriptorBase id="descriptorBase1"> 55

<descriptor id="FundoDesc" region="FundoReg" explicitDur="10s"/> 56

<descriptor id="MenuDesc" region="MenuReg" focusIndex="2" 57

moveLeft="10" moveRight="3"/> 58

<descriptor id="PauseDesc" region="Pausereg" focusIndex="3" 59

moveLeft="2" moveRight="4"/> 60

<descriptor id="PlayDesc" region="PlayReg" focusIndex="4" 61

moveLeft="3" moveRight="7"/> 62

<descriptor focusIndex="5" id="PararSomDesc" moveLeft="12" 63

moveRight="6" region="PararSomReg"/> 64

<descriptor focusIndex="6" id="AtivarSomDesc" moveLeft="13" 65

moveRight="9" region="AtivarSomReg"/> 66

<descriptor id="SairDesc" region="SairReg" focusIndex="7" 67

moveLeft="4" moveRight="5"/> 68

<descriptor focusIndex="8" id="LogoDesc" moveLeft="9" 69

moveRight="2" region="LogoReg"/> 70

<descriptor id="VideoPrincipalDesc" region="TelaPrincipalReg"/> 71

Page 62: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

61

<descriptor id="GraficoDesc" region="TelaAuxDOIS" 72

explicitDur="84s" focusIndex="9" moveLeft="6" moveRight="10"/> 73

<descriptor id="VideoDoisDesc" region="TelaAuxUM" 74

focusIndex="10" moveLeft="9" moveRight="2"/> 75

<descriptor id="InfoGraficoDesc" region="InfoReg"/> 76

<descriptor id="GraficoDoisdesc" region="MenuGraficoReg" 77

focusIndex="1" moveLeft="7" moveRight="2"/> 78

<descriptor id="MenuFundoDesc" region="FundoReg"/> 79

<descriptor focusIndex="1" id="GraficoGDesc" moveLeft="6" 80

region="TelaPrincipalDoisDesc"/> 81

<descriptor id="MenuImgvidPrincDesc" 82

region="MenuVideoPrincReg" focusIndex="4" moveLeft="3" moveRight="7"/> 83

<descriptor focusIndex="1" id="VideoPrincDoisDesc" moveLeft="6" 84

region="TelaPrincipalDoisDesc"/> 85

<descriptor id="VideoDosiDesc" region="MenuVideoAuxReg" 86

focusIndex="3" moveLeft="2" moveRight="4"/> 87

<descriptor id="MenuTextoDesc" region="MenuTextoReg" 88

focusIndex="2" moveLeft="1" moveRight="3"/> 89

<descriptor focusIndex="1" id="VideoMissilDesc" moveLeft="6" 90

region="TelaPrincipalDoisDesc"/> 91

<descriptor focusIndex="1" id="TexxtoGDesc" moveLeft="6" 92

region="TelaPrincipalDoisDesc"/> 93

<descriptor focusIndex="1" id="GraficoGPrincDesc" moveLeft="9" 94

moveRight="2" region="TelaPrincipalReg"/> 95

Page 63: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

62

<descriptor id="HtmlPagDesc" region="TelaPrincipalReg" 96

explicitDur="5s"/> 97

<descriptor id="LegendaDesc" region="LegendaReg" 98

explicitDur="5s"/> 99

<descriptor id="VideoAuxDesc" region="TelaPrincipalReg" 100

focusIndex="10"/> 101

<descriptor focusIndex="12" id="ImgStartVideoDoisDesc" 102

moveLeft="2" moveRight="4" region="TelaAuxUM"/> 103

<descriptor id="MenuCtxDesc" region="MenuReg" focusIndex="6" 104

moveLeft="1" moveRight="7"/> 105

<descriptor focusIndex="7" id="btnSairCtxDesc" moveLeft="1" 106

moveRight="8" region="Pausereg"/> 107

<descriptor id="DescP" region="LegendaReg" explicitDur="50s"/> 108

<descriptor id="ImgParaDesc" region="LegendaReg"/> 109

<descriptor focusIndex="1" id="HtmlDesc" moveLeft="6" 110

region="TelaPrincipalDoisDesc"/> 111

</descriptorBase> 112

</head> 113

<body id="myBodyID"> 114

<media id="BtnAtivarSom" src="Medias/AtivarSom.png" 115

descriptor="AtivarSomDesc"/> 116

<media id="BtbImgMenu" src="Medias/BtbImgMenu.png" 117

descriptor="MenuDesc"/> 118

<media id="BtnImgPause" src="Medias/BtnImgPause.png" 119

descriptor="PauseDesc"/> 120

Page 64: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

63

<media id="BtnImgPlay" src="Medias/BtnImgPlay.png" 121

descriptor="PlayDesc"/> 122

<media id="BtnPararSom" src="Medias/BtnImgSom.png" 123

descriptor="PararSomDesc"/> 124

<media id="Fundo" src="Medias/Fundo.png" descriptor="FundoDesc"/> 125

<media id="MenuFundo" src="Medias/FundoMenu.png" 126

descriptor="MenuFundoDesc"> 127

<property name="transparency" value="1%"/> 128

</media> 129

<media id="grafico" src="Medias/grafico.png" descriptor="GraficoDesc"/> 130

<media id="infoGrafico" src="Medias/infoGrafico.png" 131

descriptor="InfoGraficoDesc"/> 132

<media id="Musica" src="Medias/Musica.mp3"/> 133

<media id="BtnSair" src="Medias/red.png" descriptor="SairDesc"/> 134

<media id="VideoIssMissilChines" src="Medias/VideoIssMissilChines.mpeg" 135

descriptor="VideoDoisDesc"/> 136

<media id="VideoPrincipal" src="Medias/VideoPrincipal.mpeg" 137

descriptor="VideoPrincipalDesc"> 138

<area id="AreaGrafico" begin="1s"/> 139

<area id="AreaVideoDois" begin="5s"/> 140

<property name="bounds"/> 141

</media> 142

<port id="PortaIni" component="Fundo"/> 143

<link id="link1" xconnector="conn#onBeginStart_delay"> 144

<bind role="onBegin" component="Fundo"/> 145

Page 65: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

64

<bind role="start" component="BtbImgMenu"> 146

<bindParam name="delay" value="10s"/> 147

</bind> 148

<bind role="start" component="BtnImgPause"> 149

<bindParam name="delay" value="10s"/> 150

</bind> 151

<bind role="start" component="BtnImgPlay"> 152

<bindParam name="delay" value="10s"/> 153

</bind> 154

<bind role="start" component="BtnPararSom"> 155

<bindParam name="delay" value="10s"/> 156

</bind> 157

<bind role="start" component="BtnAtivarSom"> 158

<bindParam name="delay" value="10s"/> 159

</bind> 160

<bind role="start" component="BtnSair"> 161

<bindParam name="delay" value="10s"/> 162

</bind> 163

<bind role="start" component="LogoFeso"> 164

<bindParam name="delay" value="10s"/> 165

</bind> 166

<bind role="start" component="VideoPrincipal"> 167

<bindParam name="delay" value="10s"/> 168

</bind> 169

<bind role="start" component="Musica"> 170

Page 66: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

65

<bindParam name="delay" value="10s"/> 171

</bind> 172

</link> 173

<media id="LogoFeso" src="Medias/LogoFeso.png" descriptor="LogoDesc"/> 174

<link id="link8" xconnector="conn#onBeginStart"> 175

<bind role="start" component="grafico"/> 176

<bind role="onBegin" component="VideoPrincipal" 177

interface="AreaGrafico"/> 178

</link> 179

<link id="link9" xconnector="conn#onBeginStart"> 180

<bind role="onBegin" component="VideoPrincipal" 181

interface="AreaVideoDois"/> 182

<bind role="start" component="VideoIssMissilChines"/> 183

</link> 184

<link id="link10" xconnector="conn#onEndStart"> 185

<bind role="onEnd" component="VideoPrincipal"/> 186

<bind role="start" component="MenuFundo"/> 187

</link> 188

<link id="link11" xconnector="conn#onKeySelectionStartStop"> 189

<bind role="onSelection" component="BtbImgMenu"/> 190

<bind role="start" component="MenuFundo"/> 191

<bind role="stop" component="VideoPrincipal"/> 192

<bind role="stop" component="Musica"/> 193

<bind role="stop" component="BtnImgPause"/> 194

<bind role="stop" component="BtnImgPlay"/> 195

Page 67: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

66

<bind role="stop" component="BtnAtivarSom"/> 196

<bind role="stop" component="BtnPararSom"/> 197

<bind role="stop" component="grafico"/> 198

<bind role="stop" component="graficoGPrinc"/> 199

<bind role="stop" component="VideoAux"/> 200

<bind role="stop" component="VideoIssMissilChines"/> 201

<bind role="stop" component="ImgStartVideoDois"/> 202

<bind role="stop" component="LegExplosao"/> 203

<bind role="stop" component="LegAltitudeSat"/> 204

<bind role="stop" component="LegEscalaIrreal"/> 205

<bind role="stop" component="LegEscalaIrrealDois"/> 206

</link> 207

<link id="link12" xconnector="conn#onEndStop"> 208

<bind role="onEnd" component="VideoPrincipal"/> 209

<bind role="stop" component="grafico"/> 210

<bind role="stop" component="VideoIssMissilChines"/> 211

<bind role="stop" component="Musica"/> 212

<bind role="stop" component="LogoFeso"/> 213

</link> 214

<link id="link13" xconnector="conn#onKeySelectionPause"> 215

<bind role="onSelection" component="BtnImgPause"/> 216

<bind role="pause" component="VideoPrincipal"/> 217

<bind role="pause" component="Musica"/> 218

<bind role="pause" component="VideoIssMissilChines"/> 219

<bind role="pause" component="VideoAux"/> 220

Page 68: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

67

</link> 221

<link id="link14" xconnector="conn#onKeySelectionResume"> 222

<bind role="onSelection" component="BtnImgPlay"/> 223

<bind role="resume" component="VideoPrincipal"/> 224

<bind role="resume" component="Musica"/> 225

<bind role="resume" component="VideoIssMissilChines"/> 226

<bind role="resume" component="VideoAux"/> 227

</link> 228

<link id="link15" xconnector="conn#onKeySelectionPause"> 229

<bind role="onSelection" component="BtnPararSom"/> 230

<bind role="pause" component="Musica"/> 231

</link> 232

<link id="link16" xconnector="conn#onKeySelectionResume"> 233

<bind role="onSelection" component="BtnAtivarSom"/> 234

<bind role="resume" component="Musica"/> 235

</link> 236

<context id="ctxMenu"> 237

<media id="grafico2" src="Medias/LogoGrafico.png" 238

descriptor="GraficoDoisdesc"/> 239

<media id="VideoAuxiliarMenu" 240

src="Medias/VideoIssMissilChines.mpeg" descriptor="VideoMissilDesc"/> 241

<media id="VideoPrincipal2" src="Medias/VideoPrincipal.mpeg" 242

descriptor="VideoPrincDoisDesc"/> 243

<port id="PortaCtxMenu" component="grafico2"/> 244

Page 69: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

68

<media id="graficoG" src="Medias/graficoG.png" 245

descriptor="GraficoGDesc"/> 246

<media id="ImgPrinc" src="Medias/ImgPrinc.png" 247

descriptor="MenuImgvidPrincDesc"/> 248

<media id="ImgVideoDois" src="Medias/ImgVideoDois.png" 249

descriptor="VideoDosiDesc"/> 250

<media id="Texto" src="Medias/Texto.txt" 251

descriptor="TexxtoGDesc"/> 252

<media id="ImgTexto" src="Medias/Texto.png" 253

descriptor="MenuTextoDesc"/> 254

<link id="link75" xconnector="conn#onBeginStart"> 255

<bind role="onBegin" component="grafico2"/> 256

<bind role="start" component="ImgTexto"/> 257

<bind role="start" component="ImgPrinc"/> 258

<bind role="start" component="BtnSairCtx"/> 259

<bind role="start" component="ImgVideoDois"/> 260

</link> 261

<media id="BtbImgMenuCtx2" src="Medias/BtbImgMenu.png" 262

descriptor="MenuCtxDesc"/> 263

<media id="BtnSairCtx" src="Medias/red.png" 264

descriptor="btnSairCtxDesc"/> 265

<link id="link197" xconnector="conn#onEndStart"> 266

<bind role="onEnd" component="BtnSairCtx"/> 267

<bind role="start" component="BtbImgMenuCtx2"/> 268

</link> 269

Page 70: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

69

<link id="Sair" xconnector="onKeySelectionAbortStop"> 270

<bind role="onSelection" component="BtnSairCtx"/> 271

<bind role="abort" component="ctxMenu"/> 272

<bind role="stop" component="BtnSairCtx"/> 273

</link> 274

<link id="link152" xconnector="conn#onSelectionStartStop"> 275

<bind role="onSelection" component="graficoG"/> 276

<bind role="start" component="grafico2"/> 277

<bind role="stop" component="graficoG"/> 278

</link> 279

<link id="LinkGrafico" xconnector="conn#onSelectionStartStop"> 280

<bind role="onSelection" component="grafico2"/> 281

<bind role="start" component="graficoG"/> 282

<bind role="stop" component="grafico2"/> 283

<bind role="stop" component="ImgPrinc"/> 284

</link> 285

<link id="link149" xconnector="conn#onEndStop"> 286

<bind role="onEnd" component="grafico2"/> 287

<bind role="stop" component="ImgVideoDois"/> 288

<bind role="stop" component="ImgTexto"/> 289

<bind role="stop" component="BtnSairCtx"/> 290

<bind role="stop" component="ImgPrinc"/> 291

</link> 292

<link id="link150" xconnector="conn#onSelectionStartStop"> 293

<bind role="onSelection" component="ImgTexto"/> 294

Page 71: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

70

<bind role="start" component="Texto"/> 295

<bind role="stop" component="grafico2"/> 296

<bind role="stop" component="VideoPrincipal2"/> 297

<bind role="stop" component="ImgPrinc"/> 298

</link> 299

<link id="link151" xconnector="conn#onSelectionStartStop"> 300

<bind role="onSelection" component="Texto"/> 301

<bind role="start" component="grafico2"/> 302

<bind role="stop" component="Texto"/> 303

</link> 304

<link id="link155" xconnector="conn#onSelectionStartStop"> 305

<bind role="onSelection" component="VideoPrincipal2"/> 306

<bind role="start" component="grafico2"/> 307

<bind role="stop" component="VideoPrincipal2"/> 308

</link> 309

<link id="link156" xconnector="conn#onSelectionStartStop"> 310

<bind role="onSelection" component="ImgVideoDois"/> 311

<bind role="start" component="VideoAuxiliarMenu"/> 312

<bind role="stop" component="grafico2"/> 313

<bind role="stop" component="ImgPrinc"/> 314

</link> 315

<link id="link157" xconnector="conn#onSelectionStartStop"> 316

<bind role="onSelection" component="VideoAuxiliarMenu"/> 317

<bind role="start" component="grafico2"/> 318

<bind role="stop" component="VideoAuxiliarMenu"/> 319

Page 72: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

71

</link> 320

<link id="link158" xconnector="conn#onEndStart"> 321

<bind role="onEnd" component="VideoAuxiliarMenu"/> 322

<bind role="start" component="grafico2"/> 323

</link> 324

<link id="link162" xconnector="conn#onKeySelectionStartStop"> 325

<bind role="onSelection" component="ImgPrinc"/> 326

<bind role="start" component="VideoPrincipal2"/> 327

<bind role="stop" component="ImgPrinc"/> 328

<bind role="stop" component="grafico2"/> 329

</link> 330

<media id="ImgpretoMenu" src="Medias/Imgpreto.png" 331

descriptor="MenuFundoDesc"/> 332

<link id="link174" xconnector="conn#onSelectionStart"> 333

<bind role="onSelection" component="BtnSairCtx"/> 334

<bind role="start" component="ImgpretoMenu"/> 335

</link> 336

</context> 337

<link id="link17" xconnector="conn#onBeginStart"> 338

<bind role="onBegin" component="MenuFundo"/> 339

<bind role="start" component="ctxMenu" interface="PortaCtxMenu"/> 340

<bind role="start" component="LogoFeso"/> 341

</link> 342

<link id="link66" xconnector="conn#onBeginStart"> 343

<bind role="onBegin" component="grafico"/> 344

Page 73: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

72

<bind role="start" component="infoGrafico"/> 345

</link> 346

<link id="link67" xconnector="conn#onEndStop"> 347

<bind role="onEnd" component="grafico"/> 348

<bind role="stop" component="infoGrafico"/> 349

</link> 350

<media id="graficoGPrinc" src="Medias/graficoG.png" 351

descriptor="GraficoGPrincDesc"/> 352

<link id="link109" xconnector="conn#onKeySelectionStartStop"> 353

<bind role="onSelection" component="grafico"/> 354

<bind role="start" component="graficoGPrinc"/> 355

<bind role="stop" component="grafico"/> 356

</link> 357

<link id="link110" xconnector="conn#onKeySelectionStopSet_varStart"> 358

<bind role="onSelection" component="graficoGPrinc"/> 359

<bind role="start" component="grafico"/> 360

<bind role="stop" component="graficoGPrinc"/> 361

<bind role="set" component="VideoPrincipal" interface="bounds"> 362

<bindParam name="var" value="15%,5%,300%,300%"/> 363

</bind> 364

</link> 365

<link id="link108" xconnector="conn#onBeginSet_var"> 366

<bind role="onBegin" component="graficoGPrinc"/> 367

<bind role="set" component="VideoPrincipal" interface="bounds"> 368

<bindParam name="var" value="102%,1%,35%,35%"/> 369

Page 74: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

73

</bind> 370

</link> 371

<media id="LegAltitudeSat" src="Medias/LegAltitudeSat.png" 372

descriptor="LegendaDesc"/> 373

<media id="LegEscalaIrreal" src="Medias/LegEscalaIrreal.png" 374

descriptor="LegendaDesc"/> 375

<media id="LegEscalaIrrealDois" src="Medias/LegEscalaIrrealDois.png" 376

descriptor="LegendaDesc"/> 377

<media id="LegExplosao" src="Medias/LegExplosao.png" 378

descriptor="LegendaDesc"/> 379

<link id="link111" xconnector="conn#onBeginStart_delay"> 380

<bind role="onBegin" component="VideoPrincipal"/> 381

<bind role="start" component="LegEscalaIrreal"> 382

<bindParam name="delay" value="13s"/> 383

</bind> 384

<bind role="start" component="LegExplosao"> 385

<bindParam name="delay" value="70s"/> 386

</bind> 387

<bind role="start" component="LegEscalaIrrealDois"> 388

<bindParam name="delay" value="81s"/> 389

</bind> 390

<bind role="start" component="LegAltitudeSat"> 391

<bindParam name="delay" value="64s"/> 392

</bind> 393

</link> 394

Page 75: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

74

<link id="link116" xconnector="conn#onBeginStop"> 395

<bind role="onBegin" component="MenuFundo"/> 396

<bind role="stop" component="VideoPrincipal"/> 397

<bind role="stop" component="LegExplosao"/> 398

<bind role="stop" component="LegAltitudeSat"/> 399

<bind role="stop" component="LegEscalaIrreal"/> 400

<bind role="stop" component="LegEscalaIrrealDois"/> 401

<bind role="stop" component="ImgStartVideoDois"/> 402

<bind role="stop" component="BtbImgMenu"/> 403

<bind role="stop" component="BtnSair"/> 404

<bind role="stop" component="grafico"/> 405

<bind role="stop" component="graficoGPrinc"/> 406

<bind role="stop" component="ImgStartVideoDois"/> 407

</link> 408

<link id="link117" xconnector="conn#onKeySelectionStopSet_varStart"> 409

<bind role="onSelection" component="VideoIssMissilChines"/> 410

<bind role="set" component="VideoPrincipal" interface="bounds"> 411

<bindParam name="var" value="1%,3%,50%,50%%"/> 412

</bind> 413

<bind role="stop" component="VideoIssMissilChines"/> 414

<bind role="start" component="VideoAux"/> 415

<bind role="stop" component="graficoGPrinc"/> 416

<bind role="start" component="grafico"/> 417

</link> 418

Page 76: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

75

<media id="VideoAux" src="Medias/VideoAux.mpeg" 419

descriptor="VideoAuxDesc"/> 420

<link id="link118" xconnector="conn#onEndSet_var"> 421

<bind role="onEnd" component="VideoAux"/> 422

<bind role="set" component="VideoPrincipal" interface="bounds"> 423

<bindParam name="var" value="10%,5%,750%,880"/> 424

</bind> 425

</link> 426

<link id="link124" xconnector="conn#onKeySelectionStopSet_varStart"> 427

<bind role="onSelection" component="VideoAux"/> 428

<bind role="set" component="VideoPrincipal"> 429

<bindParam name="var" value="10%,5%,750%,380%"/> 430

</bind> 431

<bind role="start" component="grafico"/> 432

<bind role="stop" component="VideoAux"/> 433

<bind role="start" component="VideoIssMissilChines"/> 434

</link> 435

<link id="link135" xconnector="conn#onEndStop"> 436

<bind role="onEnd" component="VideoPrincipal"/> 437

<bind role="stop" component="VideoAux"/> 438

<bind role="stop" component="VideoIssMissilChines"/> 439

</link> 440

<media id="ImgStartVideoDois" src="Medias/ImgStartVideoDois.png" 441

descriptor="ImgStartVideoDoisDesc"/> 442

<link id="link138" xconnector="conn#onEndStart"> 443

Page 77: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

76

<bind role="onEnd" component="VideoIssMissilChines"/> 444

<bind role="start" component="ImgStartVideoDois"/> 445

</link> 446

<link id="link140" xconnector="conn#onKeySelectionStartStop"> 447

<bind role="onSelection" component="ImgStartVideoDois"> 448

<bindParam name="keyCode" value="Enter"/> 449

</bind> 450

<bind role="start" component="VideoIssMissilChines"/> 451

<bind role="stop" component="ImgStartVideoDois"/> 452

</link> 453

<link id="link141" xconnector="conn#onBeginStop"> 454

<bind role="onBegin" component="VideoAux"/> 455

<bind role="stop" component="ImgStartVideoDois"/> 456

</link> 457

<link id="link142" xconnector="conn#onEndStart"> 458

<bind role="onEnd" component="VideoAux"/> 459

<bind role="start" component="ImgStartVideoDois"/> 460

</link> 461

<link id="link143" xconnector="conn#onBeginStop"> 462

<bind role="onBegin" component="MenuFundo"/> 463

<bind role="stop" component="grafico"/> 464

<bind role="stop" component="VideoIssMissilChines"/> 465

<bind role="stop" component="VideoAux"/> 466

<bind role="stop" component="ImgStartVideoDois"/> 467

<bind role="stop" component="infoGrafico"/> 468

Page 78: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

77

<bind role="stop" component="LegExplosao"/> 469

<bind role="stop" component="LegAltitudeSat"/> 470

<bind role="stop" component="LegEscalaIrreal"/> 471

<bind role="stop" component="LegEscalaIrrealDois"/> 472

<bind role="stop" component="BtnImgPause"/> 473

<bind role="stop" component="BtnImgPlay"/> 474

<bind role="stop" component="BtnPararSom"/> 475

<bind role="stop" component="BtnAtivarSom"/> 476

<bind role="stop" component="VideoPrincipal"/> 477

</link> 478

<link id="linkParar" xconnector="onKeySelectionAbortStop"> 479

<bind role="onSelection" component="BtnSair"/> 480

<bind role="abort" component="myBodyID"/> 481

<bind role="stop" component="BtnSair"/> 482

<bind role="abort" component="LegAltitudeSat"/> 483

<bind role="abort" component="LegEscalaIrreal"/> 484

<bind role="abort" component="LegEscalaIrrealDois"/> 485

<bind role="abort" component="LegExplosao"/> 486

<bind role="abort" component="ctxMenu"/> 487

</link> 488

<media id="Imgpreto" src="Medias/Imgpreto.png" 489

descriptor="ImgParaDesc"/> 490

<link id="link175" xconnector="conn#onSelectionStart"> 491

<bind role="onSelection" component="BtnSair"/> 492

<bind role="start" component="Imgpreto"/> 493

Page 79: T.C.C. Aplicativo em NCL e simulação de colisão e explosão de satélite artificial

78

<bind role="onBegin" component="MenuFundo"/> 494

<bind role="stop" component="ImgStartVideoDois"/> 495

</link> 496

<media descriptor="HtmlDesc" id="ht" src="Medias/ht.png"/> 497

<link id="link177" xconnector="conn#onSelectionStart"> 498

<bind role="onSelection" component="LogoFeso"/> 499

<bind role="start" component="ht"/> 500

</link> 501

</body> 502

</ncl> 503