Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIVERSIDADE FEDERAL RURAL DO RIO DE JANEIRO – UFRRJ INSTITUTO DE CIÊNCIAS EXATAS, DEPARTAMENTO DE MATEMÁTICA CURSO DE MATEMÁTICA COMPUTAÇÃO GRÁFICA: UMA APLICAÇÃO NA EDUCAÇÃO E NA ENGENHARIA1 AUTOR: MARLUCIO BARBOSA ORIENTADOR: PROFESSOR DR. CARLOS ANDRÉS REYNA VERA-TUDELA Seropédica, 2008 1 Este trabalho foi desenvolvido como parte do Programa Primeiros Projetos com o apoio da FAPERJ e do Fundo Setorial de Infra-Estrutura (CT-INFRA) por intermédio do MCT/CNPq. UNIVERSIDADE FEDERAL RURAL DO RIO DE JANEIRO – UFRRJ INSTITUTO DE CIÊNCIAS EXATAS, DEPARTAMENTO DE MATEMÁTICA CURSO DE MATEMÁTICA COMPUTAÇÃO GRÁFICA: UMA APLICAÇÃO NA EDUCAÇÃO E NA ENGENHARIA MARLUCIO BARBOSA Trabalho submetido ao Prêmio Beatriz Neves de Iniciação Científica. Orientador: Professor Dr. Carlos Andrés Reyna Vera-Tudela Seropédica, 2008 DEDICATÓRIA A ti, minha Mãe, dedico essa minha última obra acadêmica enquanto graduando. Obra esta fruto do meu esforço, mas conseqüência de todo o seu investimento, investimento esse financeiro e principalmente afetivo em todos os meus anos de vida. Obrigado Minha Mãe. AGRADECIMENTO À Deus pelo amparo nos momentos difíceis. Aos amigos e parentes pela compreensão de minha ausência. Aos meus colegas de Curso que demonstraram interesse pelo meu trabalho, em especial ao Marcos Alexandre Campos, Lúcio Rodrigues Duque Borges, Martiney Moura Júnior e Edivaldo Figueiredo Fontes Júnior por sua atenção e generosidade quanto ao uso de seus hardwares, softwares e em algumas vezes de sua paciência. Ao Amigo e Professor Augusto que me apresentou à Computação Gráfica e contribui qualitativamente para a elaboração desse texto. Ao Professor Aquiles Braga, amigo, incentivador que sempre buscou mostrar o caminho mais brando para vida cientifica e pessoal. Ao Professor Marcelo Almeida Bairral por seu interesse e acessibilidade, cuja generosidade, amizade e experiência foram fundamentais na elaboração do software i-Complex. Ao Professor Carlos Andres Reyna Vera-Tudela - influência marcante em minha formação acadêmica - por sua atuação como orientador sempre disponível para aprimorar estudos em diversas áreas, fornecer e/ou indicar novas fontes bibliográficas, corrigir, revisar, sugerir e, sobretudo estimular aprofundamentos durante todo esse trabalho. Destaco seu papel como incentivador na produção de diversos artigos divulgados não só em eventos acadêmicos como também em publicações científicas. Carlos, obrigado pela amizade e por acreditar no projeto MEMEC. i Resumo O campo da Visualização Científica vem se desenvolvendo de uma forma paralela ao dos computadores; a oferta maior de recursos permite que o usuário final possa exigir mais do seu trabalho assim como esperar programas mais poderosos, rápidos e que manipulem uma enorme quantidade de dados. Como no capitalismo, a computação é movida pela lei da demanda. A crescente necessidade de sistemas de Visualização Científica leva o desenvolvimento da Computação Gráfica como um todo e suas aplicações ficam inerentes em várias as áreas do conhecimento. Nesse texto, são apresentados resultados do uso da Computação Gráfica, particularmente da Visualização Científica, em duas aplicações totalmente distintas em implementações, mas com um espaço geométrico muito similar. As aplicações são feitas na Educação Matemática e na Engenharia Civil, tratando de problemas da geometria dos números complexos e da elasticidade linear respectivamente. A aplicação feita na Educação é dada pela apresentação do software i-Complex e de suas possibilidades de uso no ensino de números complexos. A aplicação na Engenharia é apresentada através do software MEMEC. O MEMEC é um software desenvolvido com base no método dos Elementos de Contorno para solucionar problemas oriundos da elasticidade. Conceitos empregados na construção do i-Complex são generalizados e aplicados no MEMEC buscando coerência Matemática e Experimental. Para isso técnicas de visualização científica foram desenvolvidas para tirar proveito do método numérico empregado e das geometrias comumente analisadas. Alguns exemplos são apresentados e, sempre que possível, confrontados com resultados existentes na literatura. Palavras Chave: Visualização Científica, Método dos Elementos de Contorno, Números Complexos. ii Rol de Abreviaturas e Siglas 𝑆1, 𝑆2,𝑆3 tensões principais 𝑆𝑒 limite de escoamento do material 𝑆𝑥 tensão normal na direção x 𝑆𝑥𝑦 tensão cisalhante xy 𝑆𝑦 tensão normal na direção y 𝑓1,𝑓2 forças de campo 𝑢𝑖 deslocamento na direção i 𝑣∗ solução fundamental [𝑖𝑛𝑡] representação de uma variável de número inteiro [𝑟𝑒𝑎𝑙] representação de uma variável de número real EAD Educação à Distância GEPETICEM Grupo de Estudos e Pesquisas das Tecnologias da Informação e Comunicação em Educação Matemática SciVis Visualização Científica SRO Sistema de Referência do Objeto TIC Tecnologia da Informação e Comunicação VTK Visualization Toolkit μ parâmetro geométrico da viga retangular de altura variável 𝐴 área da seção reta, constante 𝐵 Constante 𝐼 Momento de Inércia 𝐿, 𝑙 comprimento da viga 𝑀 momento fletor 𝑃 força resultante aplicada 𝑆’, 𝑆𝑒𝑞 tensão equivalente de Von Mises 𝑉 resultante do esforço cortante 𝑋 coordenada cartesiana 𝑌 coordenada cartesiana 𝑍 coordenada cartesiana 𝑏 largura unitária 𝑐 distância do centróide da seção à fibra externa 𝑖 índice inteiro 𝑛 coeficiente de segurança iii 𝑝 forças de superfície 𝑞 esforço cortante distribuído 𝑢 deslocamento na direção x 𝑢.𝐴 unidade de área 𝑢. 𝑐. unidade de comprimento 𝑣 deslocamento na direção y Módulo de Elasticidade µ coeficiente de Poisson iv Lista de Imagens Figura 1: Paradigma dos quatro universos ............................................................. 6 Figura 2: Diagrama do Método de Coordenadas .................................................... 8 Figura 3: Diagrama do Método de Grupos de Transformação ................................ 9 Figura 4: Produto Interno de x e y (a); Distância de x a y (b). ............................... 13 Figura 5: Soma de ponto com vetor (a); combinação afim de pontos (b). ............. 15 Figura 6: Representação afim do espaço Euclidiano ............................................ 18 Figura 7: Fotografia de uma estrada ..................................................................... 19 Figura 8: Projeção cônica ..................................................................................... 20 Figura 9: Plano Projetivo ....................................................................................... 22 Figura 10: Ponto ideal transformado em ponto real. ............................................. 27 Figura 11: Transformação com dois pontos de fuga (D e B). ................................ 27 Figura 12: Projeção paralela. ................................................................................ 28 Figura 13: Projeção cônica.................................................................................... 29 Figura 14: Exemplo de um objeto representado por uma malha de polígonos ..... 32 Figura 15: Exemplo de SciVis gerada pelo software MEMEC ..............................33 Figura 16: Projeção de Cena 3D em imagem 2D .................................................. 36 Figura 17: Diagrama dos Conjuntos Numéricos.................................................... 41 Figura 18: Tela de abertura do i-Complex 2.1 ....................................................... 53 Figura 19: Ambiente de trabalho do i-Complex ..................................................... 54 Figura 20: Soma de números complexos .............................................................. 54 Figura 21: Resultado de (5 + 2𝑖) − 1 + 4𝑖. ............................................................ 55 Figura 22: Resultado de (3 + 2𝑖) ∙ 2 + 0𝑖. .............................................................. 57 Figura 23: Resultado de (5+5𝑖) ∙ 𝑖 ........................................................................ 59 Figura 24: Resultado de (3+3𝑖) ∙ (0 + 2𝑖) ............................................................. 60 Figura 25: Resultado as da equação 𝒙3− (3 + 4𝑖) = 0 ....................................... 62 Figura 26: Cubo elementar de tensões ................................................................. 65 Figura 27: Representação do cubo elementar de tensões para o estado plano de tensões ................................................................................................................. 70 Figura 28: Viga retangular em balanço. ................................................................ 78 Figura 29: Viga em balanço. Representação dos eixos coordenados. ................. 79 Figura 30: Viga em balanço. Representação dos eixos coordenados. ................. 79 Figura 31: Viga de seção constante sujeita a um carregamento uniformemente variável. ................................................................................................................. 81 Figura 32: Tela inicial do MEMEC ......................................................................... 85 Figura 33: Representação física da barra engastada e tracionada ....................... 86 Figura 34: Representação da discretização para a barra engastada .................... 87 Figura 35: SciVis, em surface, do arquivo barra.txt gerada pelo MEMEC com tensão na direção 𝑋. ............................................................................................. 92 Figura 36: Resultado numérico gerado para o arquivo barra.txt através do MEMEC. ................................................................................................................ 93 Figura 37: SciVis, em wireframe, do arquivo barra.txt gerada pelo MEMEC com tensão na direção 𝑋. ............................................................................................. 94 Figura 38: SciVis, em wireframe, de uma barra com 301 nós e 100 pontos internos gerada pelo MEMEC com tensão na direção 𝑋. ................................................... 95 v Figura 39: Tipos de Malhas ................................................................................... 97 Figura 40: Triangulação de um polígono. .............................................................. 99 Figura 41: A triangulação de Delaunay sobre uma nuvem de pontos. ................ 100 Figura 42: Triangulação de Delaunay sobre um conjunto de 10 pontos no plano ............................................................................................................................ 101 Figura 44: SciVis, em surface, de uma barra com duas extremidades fixas gerada pelo MEMEC com tensões nas direções 𝑋 e 𝑌. .................................................. 104 Figura 43: Barra com extremidades fixas e tracionada ao centro ....................... 104 Figura 45: SciVis, em curvas de nível, de uma barra com duas extremidades fixas gerada pelo MEMEC com tensão na direção 𝑌. ................................................. 105 Figura 46: SciVis, em wireframe, de uma barra com duas extremidades fixas gerada pelo MEMEC com tensão na direção 𝑌. ................................................. 106 Figura 47: SciVis, em campo escalar, do arquivo barra.txt gerada pelo MEMEC com tensão na direção 𝑋 .................................................................................... 107 Figura 48: Chapa com furo circular nos eixos de simetria .................................. 107 Figura 49: SciVis de chapa com furo sobre o eixo de simetria ........................... 108 vi Sumário RESUMO ............................................................................................................................................. I ROL DE ABREVIATURAS E SIGLAS .............................................................................................. II LISTA DE IMAGENS ........................................................................................................................ IV CAPÍTULO 0. INTRODUÇÃO ..................................................................................................... 1 CAPÍTULO 1. PRINCÍPIOS DE COMPUTAÇÃO GRÁFICA ..................................................... 3 1.1. ÁREAS QUE FORNECEM MÉTODOS E TÉCNICAS A COMPUTAÇÃO GRÁFICA ............................... 4 1.1.1. Modelagem ................................................................................................................... 4 1.1.2. Visualização ................................................................................................................. 4 1.1.3. Processamento de Imagens ......................................................................................... 5 1.1.4. Visão Computacional .................................................................................................... 5 1.1.5. Animação ...................................................................................................................... 5 1.2. PARADIGMAS DE ABSTRAÇÃO ............................................................................................... 5 1.3. GEOMETRIA ........................................................................................................................ 7 1.3.1. Metodologias para dividir a Geometria ......................................................................... 7 1.3.1.1. O método axiomático ........................................................................................................ 7 1.3.1.2. O método de coordenadas................................................................................................ 8 1.3.1.3. O método de grupos de transformação ............................................................................ 9 1.3.2. Transformações e a Computação Gráfica ................................................................. 10 1.3.3. Geometria Euclidiana ................................................................................................. 10 1.3.3.1. Transformações Lineares ............................................................................................... 11 1.3.3.2. Transformações ortogonais, Isometrias e grupo euclidiano ............................................ 12 1.3.4. Geometria Afim ........................................................................................................... 14 1.3.4.1. Transformações Afins ..................................................................................................... 16 1.3.4.2. Coordenadas Afins ......................................................................................................... 17 1.3.4.3. Representação Matricial ................................................................................................. 18 1.3.4.4. Teorema Fundamental da Geometria Afim ..................................................................... 19 1.3.5. Geometria Projetiva ....................................................................................................19 1.3.5.1. O espaço projetivo .......................................................................................................... 20 1.3.5.2. Coordenadas homogêneas ............................................................................................. 22 1.3.5.3. Transformações projetivas .............................................................................................. 23 1.3.5.4. Anatomia de uma transformação projetiva plana ............................................................ 23 1.3.5.5. Projeção Paralela ............................................................................................................ 28 1.3.5.6. Projeção cônica ou perspectiva ...................................................................................... 28 1.3.6. A Geometria da Computação Gráfica ........................................................................ 30 1.4. OUTRAS CONSIDERAÇÕES SOBRE COMPUTAÇÃO GRÁFICA ................................................. 31 1.4.1. Representação 3D ...................................................................................................... 31 1.4.2. Superfícies Paramétricas ........................................................................................... 32 1.4.3. Visualização Científica ............................................................................................... 33 1.4.3.1. Técnicas da Visualização Científica ................................................................................ 33 1.4.3.2. ToolKits de Visualização Científica ................................................................................. 34 1.4.4. Câmera ....................................................................................................................... 36 1.4.5. Iluminação e Cor ........................................................................................................ 37 1.4.6. Textura........................................................................................................................ 37 CAPÍTULO 2. UM PROBLEMA NA EDUCAÇÃO MATEMÁTICA .......................................... 39 2.1. ENSINO DOS NÚMEROS COMPLEXOS .................................................................................. 39 2.2. UMA REVISÃO HISTÓRICA DOS NÚMEROS COMPLEXOS ........................................................ 40 2.2.1. O Aparecimento do Número .................................................................................. 40 2.2.2. As primeiras reações às raízes quadradas de números negativos ....................... 42 2.2.3. O aparecimento das raízes quadradas de números negativos ............................. 42 vii 2.2.4. A notação.................................................................................................................... 43 2.3. A IMPORTÂNCIA DA INFORMÁTICA NO ENSINO DA MATEMÁTICA ............................................. 44 2.4. NÚMEROS COMPLEXOS: O OBJETO MATEMÁTICO ................................................................ 44 2.4.1. Adição .................................................................................................................... 45 2.4.2. Multiplicação de um real por um complexo ............................................................ 45 2.4.3. Unitários, Argumento, Forma Trigonométrica ........................................................ 46 2.4.4. Multiplicação de complexos ................................................................................... 46 2.4.5. Conjugado, inverso e quociente............................................................................. 47 2.4.6. Os complexos como extensão dos reais e o número i .......................................... 48 CAPÍTULO 3. COMPUTAÇÃO GRÁFICA NA EDUCAÇÃO ................................................... 51 3.1. I-COMPLEX ....................................................................................................................... 52 3.1.1. Introdução ao i-Complex ........................................................................................ 53 3.1.2. Soma e Subtração no i-Complex ........................................................................... 54 3.1.3. Multiplicação de um complexo por um real ............................................................ 56 3.1.4. Multiplicação por 𝑖 .................................................................................................. 58 3.1.5. Multiplicação........................................................................................................... 59 3.1.6. Radiciação .............................................................................................................. 61 CAPÍTULO 4. UM PROBLEMA NA ENGENHARIA CIVIL ...................................................... 63 4.1. FUNDAMENTOS DA MECÂNICA DOS SÓLIDOS ........................................................................ 64 4.1.1. Tensão ................................................................................................................... 64 4.1.2. Deformação ............................................................................................................ 64 4.1.3. Componentes de Tensão ....................................................................................... 64 4.1.4. Forças de Volume .................................................................................................. 65 4.1.5. Forças de Superfície .............................................................................................. 65 4.1.6. Estado Plano de Tensão ........................................................................................ 65 4.1.7. Estado Plano de Deformação ................................................................................ 66 4.2. FUNDAMENTOS DA MECÂNICA DOS SÓLIDOS ........................................................................ 66 4.2.1. Teoria da Máxima Energia de Distorção ................................................................ 67 4.3. TEORIA DA ELASTICIDADE .................................................................................................. 68 4.3.1. Equações de equilíbrio ........................................................................................... 69 4.3.2. Equações de Compatibilidade ............................................................................... 70 4.3.3. Função das Tensões de Airy ................................................................................. 71 4.3.4. Princípio de Saint-Venant ...................................................................................... 72 4.4. INTRODUÇÃO AO MÉTODO DOS ELEMENTOS DE CONTORNO ................................................ 73 4.5. VIGA RETANGULAR DE SEÇÃO CONSTANTE ........................................................................ 77 4.5.1. Viga de Seção Constante em Balanço Sujeita a uma Flexão Simples ................. 77 4.5.2. Viga em Balanço com um Carregamento Uniformemente Distribuído ao Longo de seu Comprimento .................................................................................................................... 79 4.5.3. Viga Retangular em Balanço Submetida a um Carregamento Linearmente Distribuído ao Longo de seu Comprimento ............................................................................. 81 CAPÍTULO 5. COMPUTAÇÃO GRÁFICA NA ENGENHARIA CIVIL ..................................... 83 5.1. HARDWARE ....................................................................................................................... 84 5.2. MEMEC ........................................................................................................................... 84 5.2.1. Entrada de Dados ..................................................................................................85 5.2.2. Algoritmo de interpolação da SciVis ...................................................................... 96 5.2.2.1. Tipos de Malhas .............................................................................................................. 97 5.2.2.2. Propriedades desejáveis de uma malha e de geradores de malha ................................ 98 5.2.2.3. Triangulação de Delaunay .............................................................................................. 98 CONSIDERAÇÕES FINAIS ........................................................................................................... 103 REFERÊNCIAS BIBLIOGRÁFICAS ............................................................................................. 110 Computação Gráfica: Uma aplicação na Educação e na Engenharia 1 Capítulo 0. Introdução O presente texto é baseado na Monografia de Final de Curso do Autor e tem como objeto o estudo da Computação Gráfica, particularmente, de sua geometria. A monografia descreve resultados obtidos na iniciação cientifica realizada e sua submissão ao Prêmio Beatriz Neves é motivada pelo fato do prêmio ser dedicado a modelagem matemática e suas aplicações, ambos realizados nesse trabalho. A Computação Gráfica possui diversos aspectos e alguns deles serão descritos ao longo do texto. Todavia não buscamos exaurir o tema, visto que esse é extremamente extenso e de relativa complexidade. Ao longo do texto são mostrados problemas e definições em Computação Gráfica, Educação Matemática e Engenharia Civil. A escolha de áreas tão distintas para serem tratadas junto à Computação Gráfica mostra sua versatilidade e a importância da Computação Gráfica como objeto de estudo. Cada vez mais temos a necessidade de uma interpretação visual dos fenômenos físicos, muito deles descritos a décadas de forma analítica. Com a evolução da tecnologia e o surgimento de novos métodos numéricos, uma onda crescente de pesquisadores se interessam pela Computação Gráfica e, em nosso caso, pela Visualização Cientifica. Matematicamente, o interesse pela geometria da Computação Gráfica se justifica pelo fato que não existe problema na área que não passe pelo problema de definir a geometria adequada ao problema. Diversas geometrias são tratadas até a elaboração da geometria da Computação Gráfica e são inúmeras as vezes que nos deparamos com problemas com algoritmos para escolha de malhas ou do espaço topológico adequado para o problema. 2 O objetivo do texto é apresentar os softwares MEMEC e i-Complex tendo como plano de fundo a geometria da Computação Gráfica e seus aspectos aplicados. Para tanto, principia–se, no Capítulo 1, tratando dos conceitos básicos dos elementos que constituem a Computação Gráfica. No Capítulo 2, é apresentado o conjunto dos números complexos como objeto matemático. Nesse capítulo, é apresentada a modelagem do comportamento geométrico das operações realizadas sobre o corpo dos Números Complexos. No Capítulo 3, é apresentada uma aplicação da Computação Gráfica na Educação Matemática para trabalhar com o objeto definido no capítulo 2. Nesse capítulo, é apresentado o software i-Complex e exemplos de uso. No Capítulo 4, é apresentado aspectos da Teoria da Elasticidade e do Método dos Elementos de Contorno, tal como, a modelagem matemática de problemas que serão utilizados como exemplos no Capítulo 5. No Capítulo 5, é apresentada uma aplicação da Computação Gráfica na Engenharia Civil para solucionar o problema descrito no capítulo 4. Nesse capítulo, é apresentado o software MEMEC (Mecânica Elastostática - Método de Elementos de Contorno). São apresentados aspectos do software e exemplos de uso como também características da construção do software. O presente texto se encerra com as Considerações Finais, nas quais são apresentados pontos conclusivos destacados, seguidos da estimulação à continuidade dos estudos e das reflexões sobre a Computação Gráfica e das aplicações realizadas. Computação Gráfica: Uma aplicação na Educação e na Engenharia 3 Capítulo 1. Princípios de Computação Gráfica Computação Gráfica é definida, comumente, como o ―conjunto de métodos e técnicas para transformar dados em imagens através de um dispositivo gráfico‖ (Gomes & Velho, 2003). Nesse sentido, temos o problema fundamental da área e desse projeto que é a transformação de dados em imagens. Em matemática aplicada, a solução de um problema está diretamente relacionada com os diversos modelos matemáticos utilizados na sua compreensão. Desse modo, a linha divisória entre problemas resolvidos e problemas em aberto é bem difusa do que ocorre no caso da matemática pura. Nessa última, soluções diferentes de um mesmo problema não trazem, em geral, grandes inovações do ponto de vista do avanço cientifico. Na matemática aplicada, soluções diferentes de um mesmo problema em geral são conseqüências do uso de novos modelos, e trazem informações extremamente úteis nas diversas aplicações práticas. O objetivo, desse capitulo, é o de conceituar aspectos da Computação Gráfica, particularmente, de sua geometria. Tais, conceituações serão aplicadas nos capítulos posteriores para a resolução de um problema na Educação Matemática e de outro problema na Engenharia Civil. As aplicações em áreas tão distintas justificam o fato de que a Computação Gráfica possui aplicações em todas as grandes áreas do conhecimento. Esse capítulo é baseado nos trabalhos de (Gomes & Velho, 2003), (Manssour & Cohen, 2006) e (Battaiola & Erthal, 1998). Computação Gráfica: Uma aplicação na Educação e na Engenharia 4 1.1. ÁREAS QUE FORNECEM MÉTODOS E TÉCNICAS A COMPUTAÇÃO GRÁFICA Seja qual for a área do conhecimento em que a Computação Gráfica esteja sendo aplicada, ela irá explorar uma das três características: A Computação Gráfica permite visualizar objetos que ainda se encontram em fase de projeto; A Computação Gráfica permite visualizar objetos que estão fora do alcance de nossa percepção visual; A Computação Gráfica permite visualizar objetos que fogem de nossa realidade tridimensional. Sendo assim, a Computação Gráfica abrange o conjunto de métodos e técnicas de diversas áreas: modelagem, visualização, processamento de imagens, visão computacional e animação. 1.1.1. MODELAGEM A modelagem geométrica trata do problema de descrever e estruturar dados geométricos no computador. O principal problema da Computação Gráfica é o de transformar dados em imagens. De modo intuitivo, podemos pensar nos dados como sendo objetos geométricos que representam modelos de objetos do mundo físico. Trabalhar com o modelo geométrico adequado é importante na colocação e resolução do problema tanto do ponto de vista teórico quanto do das implementações computacionais. 1.1.2. VISUALIZAÇÃO A área de visualização também é conhecida como Síntese de Imagens. As técnicas dessa área utilizam dados gerados por um sistema de modelagem Computação Gráfica: Uma aplicação na Educação e na Engenharia 5 geométrica e o produto final é uma imagem que pode ser exibida mediante o uso de algum dispositivo de saída gráfica (monitor, impressora, etc.). 1.1.3. PROCESSAMENTO DE IMAGENS No Processamento de Imagens o sistema admite como entrada uma imagem que, após processada, produz outra imagem na saída. 1.1.4. VISÃO COMPUTACIONAL A área de Visão Computacional é também conhecida pelo nome de Análise de Imagens. Essa área tem por finalidade obter, a partir de uma ou várias imagens (entrada), informações geométricas, topológicas ou físicas sobreos dados que a originaram. 1.1.5. ANIMAÇÃO O problema de visualizar o movimento de objetos é conhecido como Animação ou Visualização de Movimento. Esse problema surge quando introduzimos o fator tempo, isto é, os dados variam com o tempo e além do problema de modelar a geometria e a topologia dos dados, temos que fazer também a modelagem do movimento que consiste em descrever o movimento dos objetos. O resultado de uma animação é uma seqüência de imagens (frames), que é chamada genericamente por vídeo. 1.2. PARADIGMAS DE ABSTRAÇÃO Em matemática aplicada necessitamos modelar os diversos objetos em estudo. Para se obter uma conceituação correta devemos criar uma hierarquia de abstrações, e para cada nível de abstração aplicamos o modelo matemático mais adequado. Em Computação Gráfica não é diferente. Um paradigma de abstração que se aplica em geral consiste em estabelecer quatro universos: o universo físico F, Computação Gráfica: Uma aplicação na Educação e na Engenharia 6 o universo matemático M, o universo de representação R e, o universo de implementação I. Figura 1: Paradigma dos quatro universos O universo físico contém os objetos do mundo real que pretendemos estudar; o universo matemático contém uma descrição abstrata dos objetos do mundo físico; o universo da representação é constituído por descrições simbólicas e finitas associadas a objetos do universo matemático; e no universo da implementação associamos as descrições do universo da representação às estruturas de dados, com a finalidade de obter uma representação do objeto no computador. O paradigma de abstração descrito é conhecido como paradigma dos quatro universos (Figura 1). Ele se baseia no fato de que para estudar um determinado fenômeno ou objeto do mundo real no computador, associamos ao mesmo um modelo matemático, em seguida procuramos uma representação finita desse modelo que seja passível de uma implementação computacional. O paradigma dos quatros universos será o paradigma adotado nesse trabalho. Computação Gráfica: Uma aplicação na Educação e na Engenharia 7 1.3. GEOMETRIA Para entendermos adequadamente a geometria adotada na Computação Gráfica primeiro devemos compreender corretamente o que é uma geometria. Segundo Gomes e Velho (Gomes & Velho, 2003), podemos dividir a geometria em três metodologias: o método axiomático, o método de coordenadas e o método de grupos de transformação. Nas seções subseqüentes, serão apresentados aspectos metodológicos da geometria, o papel das transformações na Computação Gráfica, uma breve introdução a Geometria Euclidiana, a Geometria Afim, a Geometria Projetiva e a Geometria da Computação Gráfica. Para simplificar as definições, usaremos a seguinte notação utilizada por Gomes e Velho (Gomes & Velho, 2003): Escalares: x, y, z, ...; Pontos: x, y, z, ...; Vetores: 𝒙 ,𝒚 , 𝒛 ,…. 1.3.1. METODOLOGIAS PARA DIVIDIR A GEOMETRIA Nas subseções posteriores, serão feitas algumas considerações, de forma sucinta, sobre as metodologias para divisão da geometria e se baseiam no texto de (Gomes & Velho, 2003). 1.3.1.1. O MÉTODO AXIOMÁTICO Nesse método definimos o espaço (conjunto dos pontos da geometria), os objetos da geometria (retas, planos, etc.) e um conjunto de propriedades básicas que devem ser satisfeitas pelos objetos. Essas propriedades são chamadas axiomas. A partir daí deduzimos as outras propriedades da geometria na forma de teoremas. Esse método foi introduzido pelo matemático grego Euclides para definir o que conhecemos hoje como Geometria Euclidiana. O método axiomático tem um grande poder de síntese, ao resumir em um conjunto de axiomas propriedades comuns a um grande número de espaços e objetos distintos. Do ponto de vista computacional, método axiomático é muito Computação Gráfica: Uma aplicação na Educação e na Engenharia 8 interessante para se buscar demonstração automática de teoremas, entretanto esse método tem a desvantagem de não determinar uma representação da geometria no computador. 1.3.1.2. O MÉTODO DE COORDENADAS O método de coordenadas, também conhecido como Geometria Analítica, foi introduzido pelo matemático e filosofo francês René Descartes. Esse método consiste em definir um sistema de coordenadas no espaço da geometria de modo que as propriedades da geometria (axiomas e teoremas) são traduzidas em equações matemáticas. Um sistema de coordenadas é algo que traz muita redundância, com efeito, as coordenadas (x, y, z) de um ponto P ∈ ℝ3 indicam a distância de P aos três planos coordenados. Desse modo, os conceitos de Geometria Analítica não são intrínsecos ao objeto geométrico: sempre que definimos algo usando um sistema de coordenadas, precisamos mostrar que conceito independe do sistema de coordenadas utilizado. Entretanto o método é adequado para o uso de técnicas computacionais mediante a correta representação do sistema de coordenadas: Figura 2: Diagrama do Método de Coordenadas Note, no entanto que os objetos passam a depender do sistema de coordenadas utilizado na representação (Figura 2). Isso dificulta o desenvolvimento de métodos automáticos para verificação semântica das propriedades da geometria. Computação Gráfica: Uma aplicação na Educação e na Engenharia 9 1.3.1.3. O MÉTODO DE GRUPOS DE TRANSFORMAÇÃO O método de grupos de transformação (Figura 3) foi introduzido pelo matemático alemão Felix Klein. Nesse método, uma geometria consiste de um espaço 𝑆 (os pontos da geometria), e um grupo 𝐺 de transformações desse espaço. Ou seja, cada elemento 𝑇 ∈ 𝐺 é uma transformação 𝑇: 𝑆 → 𝑆 do espaço, e além disso (por ser um grupo) 𝐺 satisfaz as seguintes propriedades: a. Associatividade: Dados 𝑔,, 𝑙 ∈ 𝐺, 𝑔 𝑙 = 𝑔 𝑙 ; b. Elemento neutro: Existe 𝑒 ∈ 𝐺 tal que 𝑔𝑒 = 𝑒𝑔 = 𝑔 para todo 𝑔 ∈ 𝐺; c. Elemento inverso: Para todo 𝑔 ∈ 𝐺, existe 𝑔−1 ∈ 𝐺 tal que 𝑔𝑔−1 = 𝑔−1𝑔 = 𝑒. Nesse contexto, vamos introduzir algumas definições simples. Um objeto geométrico é um subconjunto de S. Uma propriedade geométrica é uma propriedade de uma figura geométrica que é invariante pela ação de G, ou seja, se um objeto geométrico O goza da propriedade P e g ∈ G, então g(O) também goza da propriedade P. Dois objetos geométricos O1 e O2 são ditos congruentes se existir um elemento g ∈ G tal que g O1 = O2. Um fato interessante dessa abordagem é que ela permite relacionar diferentes geometrias num mesmo espaço mediante o estudo da relação entre grupos. É claro que não existem axiomas e sim teoremas nesse método. Do ponto de vista computacional devemos buscar uma representação do espaço S e do grupo G de modo a implementar modelos da geometria: Figura 3: Diagrama do Método de Grupos de Transformação Computação Gráfica: Uma aplicação na Educação e na Engenharia 10 Além disso, em Computação Gráfica as transformações estão associadas ao movimento de objetos do espaço. A abordagem por grupo de transformações será a base para a construção da geometria adequada para a Computação Gráfica. 1.3.2. TRANSFORMAÇÕES E A COMPUTAÇÃO GRÁFICA O uso de transformações em geometria está relacionado com dois aspectos de grande importância em Computação Gráfica: a. Mudança de coordenadas – Os sistemas de coordenadas são utilizados para se obter a correta formulação analítica de um determinado problema. Através de um sistema de coordenadas podemos calcular posições, velocidades e outras grandezas associadas aos objetos do mundo físico. A mudança de coordenadas entre dois sistemas é feita por uma transformação doespaço. b. Deformação de objetos no espaço – Existem duas classes de deformação de objetos: deformações rígidas e deformações não- rígidas. As deformações rígidas mudam a posição dos objetos no espaço sem, no entanto, alterar suas relações métricas. Essas deformações são chamadas de isometrias ou movimentos rígidos. As deformações não-rígidas alteram as relações métricas dos objetos. 1.3.3. GEOMETRIA EUCLIDIANA Antes de definirmos a geometria euclidiana utilizando grupo de transformações vamos rever alguns conceitos da álgebra linear. Considere o espaço ℝ𝑛 = 𝑥1,… , 𝑥𝑛 ; 𝑥𝑖𝜖ℝ e, definamos sobre esse espaço duas operações: a soma: 𝑥1, 𝑥2,… , 𝑥𝑛 + 𝑦1,𝑦2,… ,𝑦𝑛 = 𝑥1 + 𝑦1, 𝑥2 + 𝑦2,… , 𝑥𝑛 + 𝑦𝑛 e; o produto: 𝜆 𝑥1, 𝑥2,… , 𝑥𝑛 = 𝜆𝑥1, 𝜆𝑥2,… , 𝜆𝑥𝑛 . Computação Gráfica: Uma aplicação na Educação e na Engenharia 11 1.3.3.1. TRANSFORMAÇÕES LINEARES As transformações que preservam a estrutura linear do ℝn são chamadas de transformações lineares. Dessa forma, uma transformação linear é caracterizada pelas propriedades: L: ℝn → ℝn L u + v = L u + L(v) e L λu = λL(u) para todo u, v ϵ ℝn , e λϵℝn . Portanto as transformações lineares preservam os subespaços do espaço ℝn , que definem por sua vez os elementos básicos da geometria (retas, planos etc.). As transformações lineares invertíveis de ℝn formam um grupo, que será indicado por GL(n), chamado de grupo especial linear de ordem n. Para uso computacional devemos buscar uma representação adequada das transformações lineares. Os n elementos e1 = 1, 0,0,… , 0 ; e2 = 0, 1,0,… , 0 ; ⋮ en = 0, 0,0,… , 1 constituem uma base de Rn . Se L: ℝn → ℝn é linear definimos os n vetores a1, a2,… , an , por a1 = L e1 = a11 , a21 , a31 ,… , an1 ; a2 = L e2 = a12 , a22 , a32 ,… , an2 ; ⋮ an = L en = a1n , a2n , a3n ,… , ann . Construímos agora uma matriz Le cujas colunas são, nessa ordem, os vetores a1, a2,… , an : Computação Gráfica: Uma aplicação na Educação e na Engenharia 12 Le = a11 ⋯ a1n ⋮ ⋱ ⋮ an1 ⋯ ann Um cálculo imediato mostra que se x = x1,… , xn então L x = Le ∙ x, onde no lado direito temos o produto de matrizes. Estabelecemos assim uma correspondência que associa a cada transformação linear L uma matriz Le de modo que o valor da transformação num vetor pode ser obtido multiplicando a matriz por esse vetor. Reciprocamente, se A é uma matriz de ordem n, definimos uma transformação L:ℝn → ℝn pondo L x = A ∙ x = a11 ⋯ a1n ⋮ ⋱ ⋮ an1 ⋯ ann x1 ⋮ xn Temos assim uma correspondência biunívoca entre os espaço das transformações lineares do espaço euclidiano n-dimensional e o conjunto das matrizes de ordem n. Essa correspondência é uma importante uma vez que ela preserva as operações nos dois espaços, isto é: TοL x = T L x = TeLe ∙ x; T + L x = T x + L x = (Te + Le) ∙ x. Do ponto de vista computacional, a implementação de um sistema para manipular transformações lineares se traduz na implementação de um sistema de efetuar operações com matrizes. Em particular, o grupo GL(n) das transformações lineares invertíveis corresponde ao grupo das matrizes de ordem n que são invertíveis. 1.3.3.2. TRANSFORMAÇÕES ORTOGONAIS, ISOMETRIAS E GRUPO EUCLIDIANO Para medir as distâncias em ℝn devemos definir uma métrica, para isso introduzimos o produto interno u, v = uivi n i=1 , onde u = (u1,… , un) e v = (v1,… , vn). Usando o produto interno , obtemos as noções de comprimento de um vetor, e de ângulo entre dois vetores: Computação Gráfica: Uma aplicação na Educação e na Engenharia 13 O comprimento ou norma de um vetor u é dado por u = u, u . O ângulo θ entre dois vetores não nulos u e v é definido por cos θ = u,v u v . Geometricamente, o produto interno é a medida da projeção do vetor x sobre o y ponderada pelo comprimento de y (Figura 4a). Figura 4: Produto Interno de x e y (a); Distância de x a y (b). A partir da norma de um vetor, definimos a distancia d(x, y) entre os pontos x e y do espaço ℝn , pondo d x, y = x − y . Ou seja, a distância de x a y é a norma do vetor que liga o ponto x ao ponto y (Figura 4b). Uma transformação T:ℝn → ℝn que preserva o produto interno, isto é T u , T(v) = u, v , é dita ser uma transformação ortogonal. Uma transformação ortogonal preserva a norma do espaço e, portanto preserva também à distância, sendo, pois uma isometria. As isometrias modificam a posição de pontos e objetos do espaço, entretanto mantém as relações métricas. Dois objetos 𝑂1 e 𝑂2 do espaço são ditos congruentes, se existe uma isometria 𝑇:ℝ𝑛 → ℝ tal que 𝑇𝑂1 = 𝑂2. Portanto, a relação de congruência é determinada pelas isometrias do espaço. A congruência é o conceito básico da geometria Euclidiana: as propriedades da geometria Euclidiana são as que se referem à preservação de congruência. Em outras palavras, o grupo de transformações 𝐸(𝑛) da geometria euclidiana, no sentido de Felix Klein, é o grupo de isometrias do espaço ℝ𝑛 . Da Álgebra Linear sabemos que uma transformação 𝑇:ℝ𝑛 → ℝ𝑛 , não necessariamente linear, é uma isometria se, e somente se, 𝑇 𝑢 = 𝐿 𝑢 + 𝑣0, onde 𝐿 é uma transformação linear ortogonal e 𝑣0 é um vetor fixo. x y θ x-y y x (a) (b) Computação Gráfica: Uma aplicação na Educação e na Engenharia 14 Geometricamente, a isometria é composta de uma transformação linear ortogonal seguida de uma translação. Temos assim, uma caracterização simples das isometrias do espaço Euclidiano. Todavia, devemos ressaltar que a translação não é uma transformação linear, portanto não preserva as operações do espaço e nem faz parte da álgebra de transformações do espaço Euclidiano. 1.3.4. GEOMETRIA AFIM A geometria Euclidiana apresenta vários inconvenientes para ser utilizada em Computação Gráfica. Dentre os quais podemos citar dois: O grupo das transformações da geometria não tem uma álgebra natural associada, uma vez que a translação não é linear; No espaço Euclidiano não há uma distinção clara entre ponto e um vetor. Como resolver a confusão entre ponto e vetor do espaço euclidiano? A solução é trabalharmos com duas cópias de ℝ𝑛 onde uma delas representa pontos e a outra vetores. O objetivo é responder as seguintes perguntas: Que operações são possíveis nesse espaço (ponto-ponto, ponto- vetor e vetor-ponto)? Quais as transformações do espaço? Sendo assim, definimos o espaço afim como sendo um par (𝒫,𝒱) onde 𝓟 é o espaço de pontos, e 𝓥 o espaço de vetores. O caso mais interessante é quando 𝒫 = 𝓥 = ℝ𝑛 e, portanto, daremos mais atenção a esse caso. Como 𝓥 é um espaço vetorial, ele admite a operação de combinação linear de vetores, 𝑎𝑖𝒖𝒊 𝑛 𝑖=1 ,𝑎𝑖𝜖ℝ. Temos também as transformações lineares entre vetores, 𝑇 𝑎𝑖𝒖𝒊 𝑛 𝑖=1 = 𝑎𝑖𝑇(𝒖𝒊 ) 𝑛 𝑖=1 . Computação Gráfica: Uma aplicação na Educação e na Engenharia 15 Definimos a operação de soma (Figura 5a) de um ponto p com um vetor 𝒖 , 𝒑+ 𝒖 = 𝒒 ∈ 𝓟, cujo resultado é um ponto q. A operação anterior motiva a definir uma operação de subtração de pontos como 𝒒 − 𝒑 = 𝒗 ⇔ 𝒒 = 𝒑+ 𝒗 . Podemos generalizar a operação anterior como uma combinação linear arbitrária de pontos 𝑎𝑖𝒑𝒊 𝑛 𝑖=1 ∈ 𝒱 ⇔ 𝑎𝑖 𝑛 𝑖=1 = 0. Observe que a operação descrita é semelhante à operação de diferença Deve-se observar que a operação de subtração descrita é semelhante à subtração entre dois pontos (ou vetores?)que foi feita no espaço Euclidiano (Figura 4b). Entretanto a operação no ℝ𝑛 não tem uma semântica clara. Em particular a figura está errada uma vez que os vetores do espaço Euclidiano são ponto e x – y deveria estar ―localizado‖ na origem. Vemos que a Geometria Afim introduz de modo formal o conceito de vetor livre da Física, que pode ser localizado em qualquer ponto. Definimos uma operação de interpolação (Figura 5b) de pontos 𝒒 = 1− 𝑎 𝒒𝟏 + 𝑎𝒒𝟐 = 𝒒𝟏 + 𝑎 𝒒𝟐 − 𝒒𝟏 ,𝑎 ∈ 0, 1 , ou ainda, 𝒒 = 𝑎1𝒒𝟏 + 𝑎2𝒒𝟐, com 𝑎1,𝑎2𝜖 0, 1 , 𝑎1 + 𝑎2 = 1. A última forma de escrever a operação permite a sua generalização: 𝑎𝑖𝒒𝒊 𝑛 𝑖=1 ∈ 𝓟 ⇔ 𝑎𝑖 𝑛 𝑖=1 = 1. 𝒖 𝒑 𝒒 𝑎1 + 𝑎2 = 1 𝑎1 𝑎2 𝒒𝟏 𝒒 𝒒𝟐 ( a ) ( b ) Figura 5: Soma de ponto com vetor (a); combinação afim de pontos (b). Computação Gráfica: Uma aplicação na Educação e na Engenharia 16 Essa soma é chamada de combinação afim de pontos. A equação de uma reta nos motiva a definir um invariante importante da geometria afim. Com efeito, a equação paramétrica de uma reta 𝑟 que passa pelos pontos 𝒂 e b é um conceito afim. De fato, ela é dada por 𝒓 𝑡 = 𝒂+ 𝑡 𝒃 − 𝒂 = 1− 𝑡 𝒂+ 𝒃, 𝑡𝜖ℝ. Sendo assim, considere 𝒒,𝒒𝟏 e 𝒒𝟐 pertencem a uma reta r a razão afim é definida por 𝑞 − 𝑞1 𝑞 − 𝑞2 = 𝑎2 𝑎1 Em outras palavras, se um ponto 𝑞 divide um segmento 𝑞1𝑞2 segmento na razão 𝑏2: 𝑏1, então 𝑞 = 𝑏1𝑞1 + 𝑏2𝑞2 𝑏1 + 𝑏2 , 𝑏1 + 𝑏2 ≠ 0. Resumidamente a semântica das operações da geometria afim é: Vetores podem ser combinados (combinação linear); Pontos podem ser combinados em duas situações apenas: quando a soma dos coeficientes é 1 ou 0. No primeiro caso o resultado é um ponto, e no segundo caso o resultado é um vetor. 1.3.4.1. TRANSFORMAÇÕES AFINS Uma transformação 𝑇:𝒜1 → 𝒜2 entre dois espaços afins, 𝒜1 = (𝒫1,𝒱1) e 𝒜2 = (𝒫2,𝒱2), é chamada de transformação afim se, e somente se, 1. 𝑇 preserva vetores, e além disso a restrição 𝑇|𝒱:𝒱 → 𝒱 é uma transformação linear; 2. 𝑇 preserva pontos, e além disso 𝑇 𝒑+ 𝒗 = 𝑇 𝒑 + 𝑇(𝒗 ). A segunda propriedade pode ser generalizada: 𝑇 preserva combinação afim de pontos, isto é Computação Gráfica: Uma aplicação na Educação e na Engenharia 17 𝑎𝑖 = 1 ⇒ 𝑇( 𝑛 𝑖=1 𝑎𝑖𝒑𝒊 𝑛 𝑖=1 ) = 𝑎𝑖𝑇(𝒑𝒊 𝑛 𝑖=1 ). As transformações rígidas, que constituem o grupo de transformações da geometria Euclidiana, são transformações afins. 1.3.4.2. COORDENADAS AFINS Seja 𝒜 um espaço afim de dimensão n, o um ponto do espaço, e {v 1, v 2,… , v n} uma base de 𝒜. A lista F = {o, v 1, v 2,… , v n} é um referencial de 𝒜. Um referencial define um sistema de coordenadas do espaço afim. Ou seja, considere um ponto p = o + v ϵ 𝒜. Como os vetores v i formam uma base de 𝒜, podemos escrever v = c1v1 + c2v2 +⋯+ cnvn e, portanto o ponto p pode ser escrito, de modo único, na forma p = o + c1v1 + c2v2 +⋯+ cnvn Os n + 1 escalares 1, c1, c2,… , cn representam as coordenadas do ponto p no referencial. Essas coordenadas são indicadas pela lista (c1, c2,… , cn , 1), com o elemento 1 no final. Geometricamente, a representação afim do ℝn é obtida colocando uma cópia de ℝn no hiperplano zn+1 = 1 do espaço ℝ n+1 (Figura 6). Isso tira o privilégio gozado pela origem do ℝn que causa toda a confusão entre ponto e vetor. Computação Gráfica: Uma aplicação na Educação e na Engenharia 18 1.3.4.3. REPRESENTAÇÃO MATRICIAL Como na Geometria Euclidiana, uma transformação afim pode ser representada matricialmente. Considere os dois referenciais 𝐹 = {𝒖 𝟏,𝒖 𝟐,… ,𝒖 𝒏,𝒐} e 𝐺 = {𝒗 𝟏,𝒗 𝟐,… ,𝒗 𝒏,𝒐′} ,um ponto 𝒙 = 𝑥1𝒖𝟏 + 𝑥2𝒖𝟐 +⋯+ 𝑥𝑛𝒖𝒏 + 𝒐 no espaço afim ℝ 𝑛 . Seja 𝑇 uma transformação linear e suponhamos que 𝑇 𝒖𝒋 = 𝑎𝑖𝑗𝒗𝑖 𝑛 𝑖=1 e T(𝐨) = 𝑎𝑖𝑛+1𝒗𝑖 𝑛 𝑖=1 Um cálculo imediato permite escrever o valor de 𝑇(𝒙) no referencial 𝐺: 𝒙 = 𝑥𝑗𝒖 𝒋 𝑛 𝑗=1 + 𝒐 ⇒ 𝑇 𝒙 = 𝑥𝑗𝑇(𝒖 𝒋) 𝑛 𝑗=1 + 𝑇 𝒐 = 𝑎𝑖𝑗𝑥𝑗 + 𝑎𝑖𝑛+1 𝑛 𝑗=1 𝑣𝑖 𝑛 𝑖=1 Ou seja, as coordenadas de 𝑇(𝒙) no referencial 𝐺 são dadas pelo produto de matrizes Figura 6: Representação afim do espaço Euclidiano 1 ℝ𝑛 Computação Gráfica: Uma aplicação na Educação e na Engenharia 19 𝑎11 𝑎12 ⋯ 𝑎1𝑛 𝑎1𝑛+1 𝑎21 𝑎22 … 𝑎2𝑛 𝑎2𝑛+1 ⋮ ⋮ ⋱ ⋮ ⋮ 𝑎𝑛1 𝑎𝑛2 ⋯ 𝑎𝑛𝑛 𝑎𝑛𝑛+1 0 0 … 0 1 𝑥1 𝑥2 ⋮ 𝑥𝑛 1 . Portanto, em termos matriciais, o grupo de transformações da Geometria Afim é constituído pelas matrizes de ordem 𝑛 + 1 que sejam invertíveis. 1.3.4.4. TEOREMA FUNDAMENTAL DA GEOMETRIA AFIM Teorema: Uma transformação afim fica completamente determinada por seus valores numa base afim. Mais precisamente, se (𝑢0, 𝑢1,… ,𝑢𝑛) e (𝑣0, 𝑣1 ,… , 𝑣𝑛) são bases afins, se existe uma única transformação afim 𝐿 tal que 𝐿 𝑢𝑖 = (𝑣𝑖), 𝑖 = 0, 1,… , 𝑛. 1.3.5. GEOMETRIA PROJETIVA A Geometria Afim seria uma boa escolha para a Geometria da Computação Gráfica, pois as transformações afins incluem os movimentos rígidos da Geometria Euclidiana, e, além disso, são representadas por matrizes, que admitem uma estrutura computacional simples. No entanto, essa geometria possui alguns inconvenientes quando realizamos transformações de visualização. As transformações de visualização estão presentes em uma das etapas do processo de visualização de dados em Computação Gráfica. Considere a Figura 7a que representa a fotografia de uma vista área (ortogonal) de uma estrada retilínea em um terreno idealmente plano. A Figura 7b que representa uma fotografia da mesma estrada obtida a partir de um determinado ponto de vista próximo à estrada. ( a ) P ( b ) Figura 7: Fotografia de uma estrada Computação Gráfica: Uma aplicação na Educação e na Engenharia 20 Geometricamente, a imagem da Figura 7b corresponde a uma transformação dos objetos geométricos na Figura 7a. A transformação do processo fotográfico preserva os diversos objetos em cena, no entanto, ela não é uma transformação afim uma vez que as retas paralelas que delimitam a estrada não são paralelas na imagem fotográfica. Isso mostra uma deficiência em se utilizar a Geometria Afim para a Geometria da Computação Gráfica. A solução para incluir a transformação de visualização, utilizada no processo de fotografia, no grupo de transformações nos leva a Geometria Projetiva. As subseções subseqüentes buscam caracterizar a geometria projetiva, mas não exauri-la, uma vez que a Geometria Projetiva, como as demais, é um campo bastante extenso. Tais subseções baseiam-se no trabalho de Jonas Gomes e Luiz Velho (Gomes & Velho, 2003). 1.3.5.1. O ESPAÇO PROJETIVO Utilizaremos o conceito de visualização para motivar a definição do espaço projetivo. Do ponto de vista matemático, essa transformação é definida por uma projeção cônica. Considere o ponto 𝑂 do espaço euclidiano ℝ𝑛+1 e um hiperplano ∏ ⊂ ℝ𝑛+1 tal que 𝑂 ∉ ∏ (Figura 8). A projeção cônica de um ponto 𝑃 ∈ ℝ3 ,𝑃 ≠ 𝑂 no plano ∏ é o ponto 𝑃′ onde a reta 𝑟 que passa por 𝑂 e 𝑃 intersecta o plano ∏. 𝑃′ 𝑄′ 𝑂 𝑄 𝑃 ∏ Figura 8: Projeção cônica Computação Gráfica: Uma aplicação na Educação e na Engenharia 21 Note que todos os pontos da reta 𝑟 definida por 𝑂 e 𝑃, com exceção do próprio ponto𝑂, são projetados no mesmo ponto 𝑃′. Isso significa que com relação à projeção cônica, todos os pontos da reta 𝑟 são iguais. Esse fato natural considera a reta 𝑟, excluindo o ponto 𝑂, como sendo um ponto projetivo. Tomando o ponto 𝑂 como sendo a origem de ℝ𝑛+1, definimos como o espaço projetivo de dimensão 𝑛 o conjunto das retas passando pela origem de ℝ𝑛+1 (eliminando-se a origem). Desejamos que a Geometria Projetiva seja uma extensão natural da Geometria Afim pois a mesma possui diversas propriedades úteis a Computação Gráfica. Indicamos esse espaço projetivo 𝑛-dimensional por ℝℙ𝑛 . É comum representar o ponto (𝑥1,𝑥2 ,… , 𝑥𝑛 , 𝑥𝑛+1) desse espaço como (𝒙, 𝑥𝑛+1),𝒙 ∈ ℝ 𝑛 . Generalizando nosso modelo: os subespaços projetivos de dimensão 𝑚 em ℝℙ𝑛 , 𝑚 < 𝑛 são subespaços de dimensão 𝑚 + 1 em ℝ𝑛+1. Em particular, as retas projetivas são subespaços bidimensionais, ou seja, planos que passam pela origem. A correspondência natural de pontos do espaço afim com pontos do espaço projetivo determina uma partição dos pontos de ℝℙ𝑛 em dois conjuntos ℝℙ𝑛 = 𝒙, 1 ∪ 𝒙, 0 ,𝒙 ≠ 0. Os pontos da forma (𝒙, 1) são os pontos do plano euclidiano 𝑧 = 1. Eles são chamados de pontos afins do plano projetivo (Figura 9). Os pontos do tipo (𝒙, 0) são chamados de pontos ideais ou pontos do infinito. Computação Gráfica: Uma aplicação na Educação e na Engenharia 22 1.3.5.2. COORDENADAS HOMOGÊNEAS Com base no nosso modelo de ℝℙ𝑛 no qual cada ponto é uma reta em ℝ𝑛+1 − {0} passando pela origem podemos definir as coordenadas projetivas. Dado um ponto 𝒑 ∈ ℝℙ𝑛 , tomamos o ponto 𝒑′ ∈ ℝ𝑛+1 na reta 𝑟 que representa o ponto 𝒑. Se 𝒑′ = (𝑥1, 𝑥2,… , 𝑥𝑛 , 𝑥𝑛+1), então tomamos as coordenadas euclidianas (𝑥1, 𝑥2,… , 𝑥𝑛 , 𝑥𝑛+1) como sendo as coordenadas projetivas do ponto 𝒑. Ocorre que se 𝜆 ∈ ℝ é um número não nulo, 𝜆𝒑′ representa o mesmo ponto projetivo 𝒑. Desse modo, 𝜆(𝑥1, 𝑥2,… , 𝑥𝑛 , 𝑥𝑛+1) também representam coordenadas de 𝒑. Ou seja, as coordenadas projetivas de um ponto são determinadas a menos de uma multiplicação por um escalar não nulo, e por isso são chamadas de coordenadas homogêneas. Os hiperplanos projetivos de ℝℙ𝑛 são definidos pela equação linear homogênea 𝑎1𝑥1 + 𝑎2𝑥2 +⋯+ 𝑎𝑛+1𝑥𝑛+1 = 0. Do ponto de vista do modelo proposto do espaço projetivo, um hiperplano é um subespaço 𝑛-dimensional de ℝ𝑛+1, ou seja, um hiperplano de ℝ𝑛+1 que passam pela origem. No caso do plano projetivo, 𝑛 = 2, o hiperplano de ℝ3, dado pela equação 1 ℝ𝑛 𝑃 𝑃′ Figura 9: Plano Projetivo Computação Gráfica: Uma aplicação na Educação e na Engenharia 23 𝑎1𝑥1 + 𝑎2𝑥2 + 𝑎3𝑥3 = 0. 1.3.5.3. TRANSFORMAÇÕES PROJETIVAS Uma transformação projetiva 𝑇: ℝℙ𝑛 → ℝℙ𝑛 deve transformar pontos do espaço projetivo, portanto do ponto de vista euclidiano, 𝑇 deve transformar uma reta pela origem de ℝ𝑛+1 noutra reta que também passa pela origem. Sendo assim, concluímos que 𝑇 deve ser uma transformação linear invertível 𝑇: ℝ𝑛+1 → ℝ𝑛+1, do espaço euclidiano ℝ𝑛+1. Daí decorre que uma transformação projetiva ℝℙ𝑛 preserva os elementos lineares do espaço projetivo e, além disso, é representada por uma matriz (de ordem 𝑛 + 1). Observe que se 𝑇: ℝℙ𝑛 → ℝℙ𝑛 é uma transformação projetiva e 𝜆 ∈ ℝ, 𝜆 ≠ 0, então usando a linearidade de 𝑇 temos 𝜆𝑇 𝑃 = 𝑇 𝜆𝑃 = 𝑇(𝑃). Ou seja, uma transformação projetiva fica definida de forma a menos de um produto por um escalar não nulo. 1.3.5.4. ANATOMIA DE UMA TRANSFORMAÇÃO PROJETIVA PLANA O objetivo dessa seção é de fornecer e compreender a anatomia dessa transformação. Uma transformação projetiva T: ℝℙ2 → ℝℙ2 do plano projetivo é dada por uma transformação linear invertível T: ℝ3 → ℝ3. Portanto ele é representado por uma matriz M de ordem 3 invertível. A importância do estudo da anatomia, isto é, de sua compreensão se evidência nas aplicações realizadas no capítulo 3 e 5. Essa seção está baseada no capítulo de Geometria do livro Introdução à Computação Gráfica de Jonas Gomes e Luiz Velho (Gomes & Velho, 2003). Para isso, considere a matriz M da transformação abaixo dividida em 4 blocos, Computação Gráfica: Uma aplicação na Educação e na Engenharia 24 𝑀 = a c | t1 b d | t2 − − | − p1 p2 | s = A T P S , onde A = a c b d , P = p1 p2 , T = t1 t2 e S = s . Suponha que P = 0 0 T = 0 0 , e S = 1 . Ou seja, a matriz da transformação é dada por 𝑎 𝑐 0 𝑏 𝑑 0 0 0 1 . Nesse caso, aplicando a transformação a um ponto do infinito (𝑥, 𝑦, 0), temos 𝑎 𝑐 0 𝑏 𝑑 0 0 0 1 𝑥 𝑦 0 = 𝑎𝑥 + 𝑐𝑦 𝑏𝑥 + 𝑑𝑦 0 . Portanto o ponto resultante também é um ponto do infinito (dizemos que a transformação deixa a reta do infinito invariante). Por outro lado, se (𝑥,𝑦, 1) é um ponto afim do plano projetivo, a sua imagem pela transformação é dada por 𝑎 𝑐 0 𝑏 𝑑 0 0 0 1 𝑥 𝑦 1 = 𝑎𝑥 + 𝑐𝑦 𝑏𝑥 + 𝑑𝑦 1 . Isso mostra que o ponto resultante também é um ponto afim. Ou seja, o plano projetivo também é deixado invariante pela transformação. Além disso, nos dois casos acima as coordenadas afins do ponto transformado são dados por Computação Gráfica: Uma aplicação na Educação e na Engenharia 25 𝑎 𝑐 𝑏 𝑑 𝑥 𝑦 = 𝑎𝑥 + 𝑐𝑦 𝑏𝑥 + 𝑑𝑦 . Os resultados acima mostram que a transformação projetiva é simplesmente uma transformação linear do plano euclidiano cuja matriz é o bloco 𝐴. Portanto o grupo das transformações projetivas do plano contém, de modo natural, o grupo das transformações lineares do plano euclidiano (e em particular o grupo dos movimentos rígidos da Geometria Euclidiana Plana). É fato de que o grupo das transformações projetivas contém o grupo das transformações lineares do plano euclidiano. Com efeito, sabemos que a matriz 𝑎 𝑐 t1 𝑏 𝑑 t2 0 0 1 representa uma transformação linear do plano seguida de uma translação (ver seção de Geometria Afim). Para ver isso, considere as matrizes a seguir: A = 1 0 0 1 , P = 0 0 , e S = 1 . Obtemos então M x, y, 1 = 1 0 t1 0 1 t2 0 0 1 x y 1 = x + t1 y + t2 1 . Portanto a ação da transformação no plano afim é a translação pelo vetor (t1, t2). O efeito do elemento 𝑠, que constitui o bloco 𝑆 da matriz, corresponde a uma homotetia2 do plano afim de fator 1 𝑠 , 𝑠 ≠ 0. De fato, 2 Homotetia significa ampliação ou redução das distâncias dos pontos de um espaço em relação a um ponto fixo. Uma homotetia é definida pelo seu centro O e pela razão k de homotetia e é a aplicação afim tal que a cada ponto P faz corresponder o ponto P' tal que: OP′ = k . OP . Computação Gráfica: Uma aplicação na Educação e na Engenharia 26 1 0 0 0 1 0 0 0 s x y 1 = x y s = x s y s 1 . Dos casos estudados, podemos concluir que o grupo das transformações projetivas contém o grupo das transformações afins (e, portanto os movimentos rígidos da geometria Euclidiana). Analisemos agora o bloco 𝑃 da matriz 𝑀 = A T P S . Para isso, tomemos o bloco 𝐴 como sendo a matriz identidade, o bloco 𝑇 nulo e 𝑠 = 1. Aplicando a transformação em um ponto afim com coordenadas (𝑥,𝑦, 1), obtemos 1 0 0 0 1 0 p1 p2 1 x y 1 = x y p1x + p2y + 1 . Se 𝑝1 ≠ 0 ou 𝑝2 ≠ 0, a equação p1x + p2y + 1 = 0 possui uma infinidade de soluções. Isso mostra que pontos 𝑥,𝑦, 1 , do plano afim, são transformadosem pontos do infinito (𝑥,𝑦, 0) do plano projetivo. Por outro lado, aplicando a transformação a um ponto ideal (𝑥, 𝑦, 0), obtém- se: 𝑀 𝑥, 𝑦, 0 = 𝑥, 𝑦, p1x + p2y . Tomando na equação acima pontos (𝑥, 𝑦) de modo que 𝑝𝑥 + 𝑞𝑦 ≠ 0, concluímos que pontos do infinito do plano projetivo são transformados em pontos do plano afim. Geometricamente, se um ponto ideal é transformado em um ponto 𝑃0 do plano afim, então a família de retas paralelas, que se intersectam nesse ponto ideal, é transformada em uma família de retas incidentes no ponto 𝑃0 (Figura 10). O ponto 𝑃0 é chamado de ponto de fuga da transformação. Computação Gráfica: Uma aplicação na Educação e na Engenharia 27 Um ponto de fuga correspondendo a uma direção paralela a um dos eixos coordenados de ℝ𝑛 é chamado ponto de fuga principal. Como no plano afim existem no máximo duas direções ortogonais, podem-se ter transformações projetivas com no máximo dois pontos de fuga principais. Cada um desses pontos de fuga é a imagem do ponto ideal que corresponde às direções (𝑥, 0,0) e (0,𝑦, 0). A existência dos pontos de fuga é controlada pelos elementos 𝑝1 e 𝑝2, na matriz 𝑀 da transformação projetiva. Se 𝑝1 ≠ 0 e 𝑝2 = 0, temos apenas um ponto de fuga correspondente ao eixo-𝑥; se 𝑝1 = 0 e 𝑝2 ≠ 0, temos apenas um ponto de fuga correspondente ao eixo-𝑦; se ambos 𝑝1 e 𝑝2 são não nulos temos dois pontos de fuga principais. A Figura 11 mostra uma transformação projetiva de um retângulo com dois pontos de fuga. Note que a imagem do retângulo é um quadrilátero. Esse tipo de comportamento foi utilizado na aplicação descrita no capitulo 5 para criar efeitos de deformação em objetos. Figura 11: Transformação com dois pontos de fuga (D e B). 𝐷 𝐶 𝐵 𝐴 𝐶 𝐵 𝐴 𝐷 Figura 10: Ponto ideal transformado em ponto real. 𝑃0 Computação Gráfica: Uma aplicação na Educação e na Engenharia 28 Ao definir Geometria Projetiva, utilizamos como motivação a projeção cônica de uma fotografia. Nas seções seguintes estaremos retornando essa linha de raciocínio para mostrar que as projeções são de fato transformações projetivas. 1.3.5.5. PROJEÇÃO PARALELA Dados os planos Π e Π′ do espaço projetivo, e uma reta 𝑟 não paralela a nenhum deles, definimos uma projeção paralela 𝑇: Π → Π′ do seguinte modo: dado 𝑃 ∈ Π, seja 𝑠 a reta que passa pelo ponto 𝑃 e é paralela à reta 𝑟, então 𝑇 𝑃 = 𝑠 ∩ Π′ (Figura 12). Quando a reta 𝑠 é ortogonal ao plano Π′, a projeção é chamada de projeção ortogonal. Não é difícil mostrar que a projeção paralela é uma transformação afim do plano Π no plano Π′. Na realidade, se os planos forem paralelos a projeção paralela define uma isometria entre eles. 1.3.5.6. PROJEÇÃO CÔNICA OU PERSPECTIVA Essa projeção que nos motivou ao estudo da Geometria Projetiva. Ela é definida do seguinte modo: considere um ponto 𝑂 e dois planos projetivos Π e Π′ no espaço projetivo ℝℙ3 (Figura 13). Para todo ponto 𝑃 ∈ Π, a reta projetiva 𝑂𝑃 intersecta o plano Π′ em um ponto P′. Definimos 𝑇:Π → Π′, pondo T P = P′ Figura 12: Projeção paralela. Π′ Π 𝑠 r P′ P Computação Gráfica: Uma aplicação na Educação e na Engenharia 29 conforme ilustrado na Figura 13. O ponto 𝑂 é chamado de centro de projeção. As retas 𝑂𝑃 são chamadas de retas de projeção. Queremos mostrar que a projeção cônica 𝑇 é uma transformação projetiva. Para isso, tomemos uma transformação projetiva 𝐿 do espaço que transforma o centro de projeção 𝑂 em um ponto do infinito do espaço projetivo. Todas as retas de projeção são transformadas por 𝐿 em retas paralelas. Portanto a transformação composta 𝐿𝜊𝑇 da projeção cônica 𝑇 com a transformação projetiva 𝐿 é uma projeção paralela 𝑇′ entre os planos transformados 𝐿(Π) e 𝐿(Π′). Segue-se daí que a projeção cônica é dada por 𝑇 = 𝐿−1𝜊𝑇′. Ou seja, ela é a composta de uma projeção paralela, que é afim, com a transformação projetiva 𝐿−1, sendo pois uma transformação projetiva. As projeções são importantes em Computação Gráfica como modelos de transformações devido a transformação da câmera virtual. Como a imagem da projeção é o plano Π′, ela pode ser pensada como uma transformação de ℝ3 em ℝ2, ou, mais precisamente, de ℝℙ3 em ℝℙ2. Desse ponto de vista, a projeção mais genérica possível é uma transformação projetiva 𝑇:ℝℙ3 → ℝℙ2 que, em coordenadas homogêneas, é dada por Figura 13: Projeção cônica Π′ Π 𝑂 P′ P 𝑄 𝑄′ Computação Gráfica: Uma aplicação na Educação e na Engenharia 30 𝑦1 𝑦2 𝑦3 = 𝑎11 𝑎12 𝑎13 𝑎14 𝑎21 𝑎22 𝑎23 𝑎24 𝑎31 𝑎32 𝑎33 𝑎34 𝑥1 𝑥2 𝑥3 𝑥4 . Temos 11 graus de liberdade para definir uma câmera virtual ou sintética usando essa transformação, e diversos tipos de câmeras possíveis. Dentre elas podemos citar: câmera de perspectiva (que usa a projeção cônica), câmera de furo (―pinhole camera‖), câmera afim (projeção paralela), câmera de perspectiva fraca (―weak-perspective‖) e a câmera ortográfica. O estudo de câmeras não é o objeto principal desse texto e, portanto, não terá ênfase nesse texto, todavia uma prévia será feita na seção 1.4.4. 1.3.6. A GEOMETRIA DA COMPUTAÇÃO GRÁFICA Nas seções anteriores, definimos alguns conceitos para determinar qual seria a geometria mais adequada para a Computação Gráfica. Como vimos a Geometria Projetiva é a mais adequada porque tanto a Geometria Euclidiana quanto a Geometria Afim não possuíam estrutura geométrica ou Algébrica para suportar algumas operações importantes para a Computação Gráfica. Na verdade o espaço projetivo ainda tem suas limitações, principalmente do ponto de vista algébrico. Os aspectos computacionais da geometria não foram considerados nesse capítulo introdutório. Aspectos computacionais da Geometria Afim são tratados na Geometria Computacional e é um tópico de grande importância na Computação Gráfica, todavia, ele não será tratado aqui, mas será utilizado em grande escala nas aplicações apresentadas nos capítulos 3 e 5. Computação Gráfica: Uma aplicação na Educação e na Engenharia 31 1.4. OUTRAS CONSIDERAÇÕES SOBRE COMPUTAÇÃO GRÁFICA 1.4.1. REPRESENTAÇÃO 3D Em geral, a forma de representação determina a estrutura de dados a ser utilizada, o custo do processamento de um objeto através do pipeline de visualização 3D, a aparência final de um objeto e a facilidade para alterar a sua forma. Na literatura, encontramos geralmente quatro formas de representação, de acordo com a importância e freqüência de utilização: (1)malha de polígonos; (2) superfícies paramétricas; (3) Geometria Sólida Construtiva (CSG); (4) enumeração de ocupação espacial. As representações 1 e 4 consistem numa aproximação da forma do objeto que está sendo modelado. A 2 e a 3, por sua vez, são representações exatas. Por outro lado, a 1 e a 2 representam apenas a superfície do objeto, sendo o volume inteiro representado pela 3 e pela 4. A forma mais comum de representar modelos 3D é através de uma malha de polígonos. Ou seja, define-se um conjunto de vértices no espaço (geometria) e como esses vértices devem ser ligados para formarem polígonos fechados, chamados de face (topologia), que podem ser triângulos ou quadrados. O armazenamento desse tipo de estrutura é usualmente realizado através de vetores de estruturas, matrizes ou listas. Por exemplo, a Figura 14 apresenta a lista de vértices e faces necessárias para desenhar uma casa simplificada. Computação Gráfica: Uma aplicação na Educação e na Engenharia 321.4.2. SUPERFÍCIES PARAMÉTRICAS Superfícies paramétricas são usadas quando se necessita trabalhar com superfícies suaves na modelagem de objetos de forma livre (Free Form Objects). Neste caso, uma representação muito utilizada são os patches paramétricos bicúbicos, que permitem calcular as coordenadas de todos os pontos que formam uma superfície curva através da definição de 16 pontos de controle e da utilização de três equações, uma para x, uma para y e uma para z. Cada equação possui duas variáveis (ou parâmetros) e termos para todo domínio dos parâmetros até o seu cubo (daí as expressões bi e cúbico). Em outras palavras, o patch é uma superfície curva na qual cada um dos pontos que a formam deve ser processado. Para isto, inicialmente devem ser definidos 16 pontos 3D, chamados pontos de controle. Quatro destes pontos que determinam a forma do patch pertencem aos seus cantos. A partir da especificação dos pontos de controle, são usadas três funções para calcular os valores intermediários que, simplificadamente, são resultantes de uma interpolação. Através de parâmetros passados para as funções, é possível determinar a quantidade de valores intermediários calculados. Além disso, sempre que um ponto de controle é alterado, os pontos que formam a superfície devem ser gerados novamente. 𝑣1 𝑣4 𝑣8 𝑣9 𝑣6 𝑣2 𝑣3 𝑣7 𝑣5 Vértices (geometria) 1 𝑥1 𝑦1 𝑧1 2 𝑥2 𝑦2 𝑧2 3 𝑥3 𝑦3 𝑧3 4 𝑥4 𝑦4 𝑧4 5 𝑥5 𝑦5 𝑧5 6 𝑥6 𝑦6 𝑧6 7 𝑥7 𝑦7 𝑧7 8 𝑥8 𝑦8 𝑧8 9 𝑥9 𝑦9 𝑧9 Faces (topologia) 1 𝑣1 𝑣4 𝑣5 2 𝑣1 𝑣5 𝑣2 3 𝑣1 𝑣2 𝑣3 4 𝑣1 𝑣3 𝑣4 5 𝑣4 𝑣3 𝑣7 𝑣8 6 𝑣5 𝑣4 𝑣8 𝑣9 7 𝑣2 𝑣5 𝑣9 𝑣6 8 𝑣3 𝑣2 𝑣6 𝑣7 9 𝑣6 𝑣9 𝑣8 𝑣7 Figura 14: Exemplo de um objeto representado por uma malha de polígonos Computação Gráfica: Uma aplicação na Educação e na Engenharia 33 1.4.3. VISUALIZAÇÃO CIENTÍFICA Visualização Científica (Scientific Visualization ou SciVis), está relacionada com a exploração de dados e informação de modo a haver ganho de compreensão e percepção dos dados. O objetivo da Visualização Científica é promover um nível mais profundo de entendimento dos dados sob investigação, confiando na habilidade dos humanos de visualizar. Em muitos casos, as ferramentas e técnicas de visualização têm sido usadas para analisar e mostrar grandes volumes de dados multidimensionais, freqüentemente variantes no tempo, de modo a permitir ao usuário extrair características e resultados rápida e facilmente. A Figura 15 mostra uma SciVis, em isolinhas(vide comentários em Considerações Finais), de uma barra trapezoidal com tensões na direção 𝑋. A SciVis foi gerada pelo software MEMEC que será objeto de estudo no Capítulo 5. Figura 15: Exemplo de SciVis gerada pelo software MEMEC 1.4.3.1. TÉCNICAS DA VISUALIZAÇÃO CIENTÍFICA Existem diversas técnicas aplicadas pela SciVis. Algumas são específicas para tratar dados escalares, como temperatura, outras dados vetoriais, como deslocamento, e outras ainda, tensoriais, como tensor de tensões. Computação Gráfica: Uma aplicação na Educação e na Engenharia 34 Entre as que operam com dados escalares, há os gráficos de funções, isolinhas e isosuperfícies, mapeamento de cores, renderização volumétrica, desenho de superfícies elevadas, entre outras. Algumas técnicas trabalham com dados dimensionais, enquanto outras trabalham com bi ou mesmo tridimensionais. O mapeamento de cores, por exemplo, que consiste em associar uma gama de cores a uma variação do valor do dado, pode ser usado em análises em duas ou três dimensões. Outras técnicas trabalham com dados vetoriais, como por exemplo, as linhas e fitas de corrente, o uso de setas, e o desenho da posição das partículas. Essas técnicas trabalham geralmente em duas ou três dimensões. Não existem muitas técnicas eficientes para representar tensores. A maioria delas usa glifos, ou ícones, para tentar representar os componentes dos tensores. Entretanto, o que tem se mostrado mais eficiente, é a representação dos componentes dos tensores de forma separada, utilizando técnicas para dados escalares. O mesmo pode ser feito com dados vetoriais. As diversas técnicas modernas de visualização nada mais são do que variações das tradicionais. No entanto, as técnicas usadas precisam de alguns cuidados para sua aplicação, e não apenas o uso simples dos algoritmos. 1.4.3.2. TOOLKITS DE VISUALIZAÇÃO CIENTÍFICA As diversas técnicas da SciVis foram freqüentemente desenvolvidas e reunidas em bibliotecas ou toolkits (pacotes) gráficos, como por exemplo, AVS, VTK, OpenDX, VisAD, IRIS Explorer. O AVS (Advanced Visual Systems), criado em 1989, é um dos pacotes para visualização de dados mais antigos. Ele permite a utilização tanto por programadores experientes quanto por usuários diretos, pois possui um ambiente gráfico de desenvolvimento. Possui métodos de visualização para problemas em diversos campos, incluindo ciências, administração, engenharia, medicina, telecomunicações e meio ambiente Computação Gráfica: Uma aplicação na Educação e na Engenharia 35 Outro pacote, ou biblioteca é o VisAD, constituído de uma série de componentes para visualização interativa e colaborativa e análise numérica de dados. O nome VisAD é um acrônimo para Visualization for Algorithm Development (Visualização para Desenvolvimento de Algoritmo) (VISAD Home Page, 2007). Um pacote bastante utilizado é o Open Visualization Data Explorer (OpenDX). Ele é uma versão de código aberto do produto da IBM Visualization Data Explorer. Existe há vários anos, e possui um conjunto de ferramentas para manipulação, transformação, processamento, renderização e animação de dados. Possui integrada uma interface gráfica orientada a objetos (IBM Research Visualization Data Explorer, 2005). O IRIS Explorer é uma ferramenta desenvolvida pelo NAG (Numerical Algorithms Group) para desenvolvimento de aplicações de visualização. Possui um ambiente de desenvolvimento visual (NUMERICAL ALGORITHMS GROUP, 2005). O Visualization ToolKit (VTK) é um sistema gratuito de código aberto para computação gráfica 3D, processamento de imagem e visualização muito usado. Ele consiste de uma biblioteca de classes na linguagem de programação C++, e algumas camadas de interface incluindo Tcl/Tk, Java e Python. Com diversas técnicas, é influenciado pelo princípio da Orientação a Objetos (KITWARE, 2005). O VTK provê uma variedade de representações de dados incluindo conjuntos de pontos desorganizados, dados poligonais, imagens, volumes, e também malhas estruturadas, retilíneas e não-estruturadas. Existem, ainda, diversos outros pacotes de SciVis. Alguns deles são específicos para determinadas áreas, enquanto outros são bastante genéricos. Computação Gráfica: Uma aplicação na Educação e na Engenharia 36 1.4.4. CÂMERA Um dos objetos mais importantes na construção de uma cena tridimensional é a câmera sintética, que possibilita a visão de qualquer outro objeto. Portanto, pelo menos uma câmera precisa ser definida em cada cena. Uma câmera sintética pode ser caracterizada de diversas maneiras, como por exemplo, como um ponto de visão e centro de interesse que define o centro da imagem da câmera. Outra idéia é associar o ponto de visão com uma direção. A Figura 16 mostra uma representação da projeção de uma imagem em uma tela 2D, de acordo com a câmera. Figura 16: Projeção de Cena 3D em imagem 2D O movimento de câmera é o mais utilizado para representar o observador em sistemas gráficos e de visualização. O posicionamento e a animação de
Compartilhar