Comp grafica ufrrj

575 visualizações

Publicada em

computação gráfica

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
575
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
17
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Comp grafica ufrrj

  1. 1. 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 deInfra-Estrutura (CT-INFRA) por intermédio do MCT/CNPq.
  2. 2. 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
  3. 3. DEDICATÓRIAA ti, minha Mãe, dedico essa minha última obraacadêmica enquanto graduando. Obra esta frutodo meu esforço, mas conseqüência de todo o seuinvestimento, investimento esse financeiro eprincipalmente afetivo em todos os meus anos devida.Obrigado Minha Mãe.
  4. 4. AGRADECIMENTO À Deus pelo amparo nos momentosdifíceis. Aos amigos e parentes pelacompreensão de minha ausência. Aos meus colegas de Curso quedemonstraram interesse pelo meu trabalho, emespecial ao Marcos Alexandre Campos, LúcioRodrigues Duque Borges, Martiney Moura Júnior eEdivaldo Figueiredo Fontes Júnior por sua atenção egenerosidade quanto ao uso de seus hardwares,softwares e em algumas vezes de sua paciência. Ao Amigo e Professor Augusto que meapresentou à Computação Gráfica e contribuiqualitativamente para a elaboração desse texto. Ao Professor Aquiles Braga, amigo,incentivador que sempre buscou mostrar o caminhomais brando para vida cientifica e pessoal. Ao Professor Marcelo Almeida Bairralpor seu interesse e acessibilidade, cuja generosidade,amizade e experiência foram fundamentais naelaboração do software i-Complex. Ao Professor Carlos Andres ReynaVera-Tudela - influência marcante em minha formaçãoacadêmica - por sua atuação como orientador sempredisponível para aprimorar estudos em diversas áreas,fornecer e/ou indicar novas fontes bibliográficas,corrigir, revisar, sugerir e, sobretudo estimularaprofundamentos durante todo esse trabalho. Destacoseu papel como incentivador na produção de diversosartigos divulgados não só em eventos acadêmicoscomo também em publicações científicas. Carlos,obrigado pela amizade e por acreditar no projetoMEMEC.
  5. 5. ResumoO campo da Visualização Científica vem se desenvolvendo de uma forma paralelaao dos computadores; a oferta maior de recursos permite que o usuário finalpossa exigir mais do seu trabalho assim como esperar programas maispoderosos, rápidos e que manipulem uma enorme quantidade de dados. Como nocapitalismo, a computação é movida pela lei da demanda. A crescentenecessidade de sistemas de Visualização Científica leva o desenvolvimento daComputação Gráfica como um todo e suas aplicações ficam inerentes em váriasas áreas do conhecimento. Nesse texto, são apresentados resultados do uso daComputação Gráfica, particularmente da Visualização Científica, em duasaplicações totalmente distintas em implementações, mas com um espaçogeométrico muito similar. As aplicações são feitas na Educação Matemática e naEngenharia Civil, tratando de problemas da geometria dos números complexos eda elasticidade linear respectivamente. A aplicação feita na Educação é dada pelaapresentação do software i-Complex e de suas possibilidades de uso no ensinode números complexos. A aplicação na Engenharia é apresentada através dosoftware MEMEC. O MEMEC é um software desenvolvido com base no métododos Elementos de Contorno para solucionar problemas oriundos da elasticidade.Conceitos empregados na construção do i-Complex são generalizados eaplicados no MEMEC buscando coerência Matemática e Experimental. Para issotécnicas de visualização científica foram desenvolvidas para tirar proveito dométodo numérico empregado e das geometrias comumente analisadas. Algunsexemplos são apresentados e, sempre que possível, confrontados com resultadosexistentes na literatura.Palavras Chave: Visualização Científica, Método dos Elementos de Contorno,Números Complexos. i
  6. 6. 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 realEAD Educação à Distância Grupo de Estudos e Pesquisas das Tecnologias daGEPETICEM Informação e Comunicação em Educação MatemáticaSciVis Visualização CientíficaSRO Sistema de Referência do ObjetoTIC Tecnologia da Informação e ComunicaçãoVTK 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 ii
  7. 7. 𝑝 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 iii
  8. 8. Lista de ImagensFigura 1: Paradigma dos quatro universos ............................................................. 6Figura 2: Diagrama do Método de Coordenadas .................................................... 8Figura 3: Diagrama do Método de Grupos de Transformação ................................ 9Figura 4: Produto Interno de x e y (a); Distância de x a y (b). ............................... 13Figura 5: Soma de ponto com vetor (a); combinação afim de pontos (b). ............. 15Figura 6: Representação afim do espaço Euclidiano ............................................ 18Figura 7: Fotografia de uma estrada ..................................................................... 19Figura 8: Projeção cônica ..................................................................................... 20Figura 9: Plano Projetivo ....................................................................................... 22Figura 10: Ponto ideal transformado em ponto real. ............................................. 27Figura 11: Transformação com dois pontos de fuga (D e B). ................................ 27Figura 12: Projeção paralela. ................................................................................ 28Figura 13: Projeção cônica.................................................................................... 29Figura 14: Exemplo de um objeto representado por uma malha de polígonos ..... 32Figura 15: Exemplo de SciVis gerada pelo software MEMEC .............................. 33Figura 16: Projeção de Cena 3D em imagem 2D.................................................. 36Figura 17: Diagrama dos Conjuntos Numéricos.................................................... 41Figura 18: Tela de abertura do i-Complex 2.1 ....................................................... 53Figura 19: Ambiente de trabalho do i-Complex ..................................................... 54Figura 20: Soma de números complexos .............................................................. 54Figura 21: Resultado de (5 + 2𝑖) − 1 + 4𝑖. ............................................................ 55Figura 22: Resultado de (3 + 2𝑖) ∙ 2 + 0𝑖. .............................................................. 57Figura 23: Resultado de (5+5𝑖) ∙ 𝑖 ........................................................................ 59Figura 24: Resultado de (3+3𝑖) ∙ (0 + 2𝑖) ............................................................. 60Figura 25: Resultado as da equação 𝒙3 − (3 + 4𝑖) = 0 ....................................... 62Figura 26: Cubo elementar de tensões ................................................................. 65Figura 27: Representação do cubo elementar de tensões para o estado plano detensões ................................................................................................................. 70Figura 28: Viga retangular em balanço. ................................................................ 78Figura 29: Viga em balanço. Representação dos eixos coordenados. ................. 79Figura 30: Viga em balanço. Representação dos eixos coordenados. ................. 79Figura 31: Viga de seção constante sujeita a um carregamento uniformementevariável. ................................................................................................................. 81Figura 32: Tela inicial do MEMEC ......................................................................... 85Figura 33: Representação física da barra engastada e tracionada ....................... 86Figura 34: Representação da discretização para a barra engastada .................... 87Figura 35: SciVis, em surface, do arquivo barra.txt gerada pelo MEMEC comtensão na direção 𝑋. ............................................................................................. 92Figura 36: Resultado numérico gerado para o arquivo barra.txt através doMEMEC. ................................................................................................................ 93Figura 37: SciVis, em wireframe, do arquivo barra.txt gerada pelo MEMEC comtensão na direção 𝑋. ............................................................................................. 94Figura 38: SciVis, em wireframe, de uma barra com 301 nós e 100 pontos internosgerada pelo MEMEC com tensão na direção 𝑋. ................................................... 95 iv
  9. 9. Figura 39: Tipos de Malhas ................................................................................... 97Figura 40: Triangulação de um polígono. .............................................................. 99Figura 41: A triangulação de Delaunay sobre uma nuvem de pontos. ................ 100Figura 42: Triangulação de Delaunay sobre um conjunto de 10 pontos no plano............................................................................................................................ 101Figura 44: SciVis, em surface, de uma barra com duas extremidades fixas geradapelo MEMEC com tensões nas direções 𝑋 e 𝑌. .................................................. 104Figura 43: Barra com extremidades fixas e tracionada ao centro ....................... 104Figura 45: SciVis, em curvas de nível, de uma barra com duas extremidades fixasgerada pelo MEMEC com tensão na direção 𝑌. ................................................. 105Figura 46: SciVis, em wireframe, de uma barra com duas extremidades fixasgerada pelo MEMEC com tensão na direção 𝑌. ................................................. 106Figura 47: SciVis, em campo escalar, do arquivo barra.txt gerada pelo MEMECcom tensão na direção 𝑋 .................................................................................... 107Figura 48: Chapa com furo circular nos eixos de simetria .................................. 107Figura 49: SciVis de chapa com furo sobre o eixo de simetria ........................... 108 v
  10. 10. SumárioRESUMO ............................................................................................................................................. IROL DE ABREVIATURAS E SIGLAS .............................................................................................. IILISTA DE IMAGENS ........................................................................................................................ IVCAPÍTULO 0. INTRODUÇÃO ..................................................................................................... 1CAPÍ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........................................................................................................................ 37CAPÍ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 vi
  11. 11. 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 .......................................... 48CAPÍ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.............................................................................................................. 61CAPÍ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 ............................................................................. 81CAPÍ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 .............................................................................................. 98CONSIDERAÇÕES FINAIS ........................................................................................................... 103REFERÊNCIAS BIBLIOGRÁFICAS ............................................................................................. 110 vii
  12. 12. Computação Gráfica: Uma aplicação na Educação e na Engenharia 1Capítulo 0. Introdução O presente texto é baseado na Monografia de Final de Curso do Autor etem como objeto o estudo da Computação Gráfica, particularmente, de suageometria. A monografia descreve resultados obtidos na iniciação cientificarealizada e sua submissão ao Prêmio Beatriz Neves é motivada pelo fato doprêmio ser dedicado a modelagem matemática e suas aplicações, ambosrealizados nesse trabalho. A Computação Gráfica possui diversos aspectos e alguns deles serãodescritos 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çãoGráfica, Educação Matemática e Engenharia Civil. A escolha de áreas tãodistintas para serem tratadas junto à Computação Gráfica mostra suaversatilidade e a importância da Computação Gráfica como objeto de estudo. Cada vez mais temos a necessidade de uma interpretação visual dosfenômenos físicos, muito deles descritos a décadas de forma analítica. Com aevolução da tecnologia e o surgimento de novos métodos numéricos, uma ondacrescente de pesquisadores se interessam pela Computação Gráfica e, em nossocaso, pela Visualização Cientifica. Matematicamente, o interesse pela geometria da Computação Gráfica sejustifica pelo fato que não existe problema na área que não passe pelo problemade definir a geometria adequada ao problema. Diversas geometrias são tratadasaté a elaboração da geometria da Computação Gráfica e são inúmeras as vezesque nos deparamos com problemas com algoritmos para escolha de malhas oudo espaço topológico adequado para o problema.
  13. 13. 2 O objetivo do texto é apresentar os softwares MEMEC e i-Complex tendocomo plano de fundo a geometria da Computação Gráfica e seus aspectosaplicados. Para tanto, principia–se, no Capítulo 1, tratando dos conceitos básicos doselementos que constituem a Computação Gráfica. No Capítulo 2, é apresentado oconjunto dos números complexos como objeto matemático. Nesse capítulo, éapresentada a modelagem do comportamento geométrico das operaçõesrealizadas sobre o corpo dos Números Complexos. No Capítulo 3, é apresentada uma aplicação da Computação Gráfica naEducação Matemática para trabalhar com o objeto definido no capítulo 2. Nessecapítulo, é apresentado o software i-Complex e exemplos de uso. No Capítulo 4, é apresentado aspectos da Teoria da Elasticidade e doMétodo dos Elementos de Contorno, tal como, a modelagem matemática deproblemas que serão utilizados como exemplos no Capítulo 5. No Capítulo 5, é apresentada uma aplicação da Computação Gráfica naEngenharia Civil para solucionar o problema descrito no capítulo 4. Nessecapítulo, é apresentado o software MEMEC (Mecânica Elastostática - Método deElementos de Contorno). São apresentados aspectos do software e exemplos de usocomo também características da construção do software. O presente texto se encerra com as Considerações Finais, nas quais sãoapresentados pontos conclusivos destacados, seguidos da estimulação àcontinuidade dos estudos e das reflexões sobre a Computação Gráfica e dasaplicações realizadas.
  14. 14. Computação Gráfica: Uma aplicação na Educação e na Engenharia 3Capítulo 1. Princípios de Computação Gráfica Computação Gráfica é definida, comumente, como o ―conjunto de métodose 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 edesse projeto que é a transformação de dados em imagens. Em matemática aplicada, a solução de um problema está diretamenterelacionada com os diversos modelos matemáticos utilizados na suacompreensão. Desse modo, a linha divisória entre problemas resolvidos eproblemas 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áticaaplicada, soluções diferentes de um mesmo problema em geral sãoconseqüê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çãoGráfica, particularmente, de sua geometria. Tais, conceituações serão aplicadasnos capítulos posteriores para a resolução de um problema na EducaçãoMatemática e de outro problema na Engenharia Civil. As aplicações em áreas tãodistintas justificam o fato de que a Computação Gráfica possui aplicações emtodas as grandes áreas do conhecimento. Esse capítulo é baseado nos trabalhos de (Gomes & Velho, 2003),(Manssour & Cohen, 2006) e (Battaiola & Erthal, 1998).
  15. 15. 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 estejasendo 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 etécnicas de diversas áreas: modelagem, visualização, processamento deimagens, visão computacional e animação. 1.1.1. MODELAGEM A modelagem geométrica trata do problema de descrever e estruturardados geométricos no computador. O principal problema da Computação Gráfica é o de transformar dados emimagens. De modo intuitivo, podemos pensar nos dados como sendo objetosgeométricos que representam modelos de objetos do mundo físico. Trabalhar como modelo geométrico adequado é importante na colocação e resolução doproblema tanto do ponto de vista teórico quanto do das implementaçõescomputacionais. 1.1.2. VISUALIZAÇÃO A área de visualização também é conhecida como Síntese de Imagens. Astécnicas dessa área utilizam dados gerados por um sistema de modelagem
  16. 16. Computação Gráfica: Uma aplicação na Educação e na Engenharia 5geométrica e o produto final é uma imagem que pode ser exibida mediante o usode 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 umaimagem 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álisede Imagens. Essa área tem por finalidade obter, a partir de uma ou váriasimagens (entrada), informações geométricas, topológicas ou físicas sobre osdados que a originaram. 1.1.5. ANIMAÇÃO O problema de visualizar o movimento de objetos é conhecido comoAnimação ou Visualização de Movimento. Esse problema surge quandointroduzimos o fator tempo, isto é, os dados variam com o tempo e além doproblema de modelar a geometria e a topologia dos dados, temos que fazertambém a modelagem do movimento que consiste em descrever o movimentodos 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 emestudo. Para se obter uma conceituação correta devemos criar uma hierarquia deabstrações, e para cada nível de abstração aplicamos o modelo matemático maisadequado. Em Computação Gráfica não é diferente. Um paradigma de abstração quese aplica em geral consiste em estabelecer quatro universos: o universo físico F,
  17. 17. Computação Gráfica: Uma aplicação na Educação e na Engenharia 6o universo matemático M, o universo de representação R e, o universo deimplementação I. Figura 1: Paradigma dos quatro universos O universo físico contém os objetos do mundo real que pretendemosestudar; o universo matemático contém uma descrição abstrata dos objetos domundo físico; o universo da representação é constituído por descrições simbólicase finitas associadas a objetos do universo matemático; e no universo daimplementação associamos as descrições do universo da representação àsestruturas de dados, com a finalidade de obter uma representação do objeto nocomputador. O paradigma de abstração descrito é conhecido como paradigma dosquatro universos (Figura 1). Ele se baseia no fato de que para estudar umdeterminado fenômeno ou objeto do mundo real no computador, associamos aomesmo um modelo matemático, em seguida procuramos uma representação finitadesse modelo que seja passível de uma implementação computacional. O paradigma dos quatros universos será o paradigma adotado nessetrabalho.
  18. 18. 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çãoGráfica primeiro devemos compreender corretamente o que é uma geometria.Segundo Gomes e Velho (Gomes & Velho, 2003), podemos dividir a geometriaem três metodologias: o método axiomático, o método de coordenadas e ométodo de grupos de transformação. Nas seções subseqüentes, serão apresentados aspectos metodológicos dageometria, o papel das transformações na Computação Gráfica, uma breveintrodução a Geometria Euclidiana, a Geometria Afim, a Geometria Projetiva e aGeometria da Computação Gráfica. Para simplificar as definições, usaremos a seguinte notação utilizada porGomes 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 algumasconsiderações, de forma sucinta, sobre as metodologias para divisão dageometria 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), osobjetos da geometria (retas, planos, etc.) e um conjunto de propriedades básicasque devem ser satisfeitas pelos objetos. Essas propriedades são chamadasaxiomas. A partir daí deduzimos as outras propriedades da geometria na forma deteoremas. Esse método foi introduzido pelo matemático grego Euclides paradefinir o que conhecemos hoje como Geometria Euclidiana. O método axiomático tem um grande poder de síntese, ao resumir em umconjunto de axiomas propriedades comuns a um grande número de espaços eobjetos distintos. Do ponto de vista computacional, método axiomático é muito
  19. 19. Computação Gráfica: Uma aplicação na Educação e na Engenharia 8interessante para se buscar demonstração automática de teoremas, entretantoesse método tem a desvantagem de não determinar uma representação dageometria 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étodoconsiste em definir um sistema de coordenadas no espaço da geometria de modoque as propriedades da geometria (axiomas e teoremas) são traduzidas emequaçõ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êsplanos coordenados. Desse modo, os conceitos de Geometria Analítica não sãointrínsecos ao objeto geométrico: sempre que definimos algo usando um sistemade coordenadas, precisamos mostrar que conceito independe do sistema decoordenadas utilizado. Entretanto o método é adequado para o uso de técnicascomputacionais 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 decoordenadas utilizado na representação (Figura 2). Isso dificulta odesenvolvimento de métodos automáticos para verificação semântica daspropriedades da geometria.
  20. 20. 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 pelomatemático alemão Felix Klein. Nesse método, uma geometria consiste de umespaço 𝑆 (os pontos da geometria), e um grupo 𝐺 de transformações desseespaç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 objetogeométrico é um subconjunto de S. Uma propriedade geométrica é umapropriedade 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émgoza da propriedade P. Dois objetos geométricos O1 e O2 são ditos congruentesse existir um elemento g ∈ G tal que g O1 = O2 . Um fato interessante dessa abordagem é que ela permite relacionardiferentes geometrias num mesmo espaço mediante o estudo da relação entregrupos. É claro que não existem axiomas e sim teoremas nesse método. Do ponto de vista computacional devemos buscar uma representação doespaço S e do grupo G de modo a implementar modelos da geometria: Figura 3: Diagrama do Método de Grupos de Transformação
  21. 21. 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 associadasao movimento de objetos do espaço. A abordagem por grupo de transformaçõesserá a base para a construção da geometria adequada para a ComputaçãoGráfica. 1.3.2. TRANSFORMAÇÕES E A COMPUTAÇÃO GRÁFICA O uso de transformações em geometria está relacionado com doisaspectos 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 do espaç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 detransformações vamos rever alguns conceitos da álgebra linear. Considere oespaç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 , … , 𝜆𝑥 𝑛 .
  22. 22. 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 chamadasde 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 ossubespaços do espaço ℝn , que definem por sua vez os elementos básicos dageometria (retas, planos etc.). As transformações lineares invertíveis de ℝnformam um grupo, que será indicado por GL(n), chamado de grupo especial linearde ordem n. Para uso computacional devemos buscar uma representação adequadadas 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 vetoresa1 , 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, osvetores a1 , a2 , … , an :
  23. 23. Computação Gráfica: Uma aplicação na Educação e na Engenharia 12 a11 ⋯ a1n Le = ⋮ ⋱ ⋮ 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 umacorrespondência que associa a cada transformação linear L uma matriz Le demodo que o valor da transformação num vetor pode ser obtido multiplicando amatriz por esse vetor. Reciprocamente, se A é uma matriz de ordem n, definimosuma transformação L: ℝn → ℝn pondo a11 ⋯ a1n x1 L x =A∙x= ⋮ ⋱ ⋮ ⋮ an1 ⋯ ann xn Temos assim uma correspondência biunívoca entre os espaço dastransformações lineares do espaço euclidiano n-dimensional e o conjunto dasmatrizes de ordem n. Essa correspondência é uma importante uma vez que elapreserva as operações nos dois espaços, isto é: TοL x = T L x = Te Le ∙ x; T + L x = T x + L x = (Te + Le ) ∙ x. Do ponto de vista computacional, a implementação de um sistema paramanipular transformações lineares se traduz na implementação de um sistema deefetuar operações com matrizes. Em particular, o grupo GL(n) das transformaçõeslineares invertíveis corresponde ao grupo das matrizes de ordem n que sãoinvertí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 nintroduzimos o produto interno u, v = i=1 ui vi , onde u = (u1 , … , un ) e v =(v1 , … , vn ). Usando o produto interno , obtemos as noções de comprimento deum vetor, e de ângulo entre dois vetores:
  24. 24. 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 . u,v O ângulo θ entre dois vetores não nulos u e v é definido por cos θ = . u v Geometricamente, o produto interno é a medida da projeção do vetor xsobre o y ponderada pelo comprimento de y (Figura 4a). x-y x x θ y y (a) (b) 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 pontosx e y do espaço ℝn , pondo d x, y = x − y . Ou seja, a distância de x a y é anorma 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çãoortogonal 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 eobjetos 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 umaisometria 𝑇: ℝ 𝑛 → ℝ tal que 𝑇𝑂1 = 𝑂2 . Portanto, a relação de congruência édeterminada pelas isometrias do espaço. A congruência é o conceito básico dageometria Euclidiana: as propriedades da geometria Euclidiana são as que sereferem à preservação de congruência. Em outras palavras, o grupo detransformações 𝐸(𝑛) da geometria euclidiana, no sentido de Felix Klein, é o grupode isometrias do espaço ℝ 𝑛 . Da Álgebra Linear sabemos que uma transformação 𝑇: ℝ 𝑛 → ℝ 𝑛 , nãonecessariamente linear, é uma isometria se, e somente se, 𝑇 𝑢 = 𝐿 𝑢 + 𝑣0 ,onde 𝐿 é uma transformação linear ortogonal e 𝑣0 é um vetor fixo.
  25. 25. Computação Gráfica: Uma aplicação na Educação e na Engenharia 14Geometricamente, a isometria é composta de uma transformação linear ortogonalseguida de uma translação. Temos assim, uma caracterização simples das isometrias do espaçoEuclidiano. Todavia, devemos ressaltar que a translação não é umatransformação linear, portanto não preserva as operações do espaço e nem fazparte da álgebra de transformações do espaço Euclidiano. 1.3.4. GEOMETRIA AFIM A geometria Euclidiana apresenta vários inconvenientes para ser utilizadaem 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? Asolução é trabalharmos com duas cópias de ℝ 𝑛 onde uma delas representapontos 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 𝑎 𝑖 𝑇(𝒖 𝒊 ) .
  26. 26. 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 definiruma 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. 𝑎1 + 𝑎2 = 1 𝑎2 𝒒𝟐 𝒖 𝑎1 𝒑 𝒒 𝒒 𝒒𝟏 (a) (b) Figura 5: Soma deoperação descrita é semelhante à operação de (b). Observe que a ponto com vetor (a); combinação afim de pontos diferençaDeve-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. Emparticular a figura está errada uma vez que os vetores do espaço Euclidiano sãoponto e x – y deveria estar ―localizado‖ na origem. Vemos que a Geometria Afimintroduz de modo formal o conceito de vetor livre da Física, que pode serlocalizado 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.
  27. 27. 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 dageometria afim. Com efeito, a equação paramétrica de uma reta 𝑟 que passapelos pontos 𝒂 e b é um conceito afim. De fato, ela é dada por 𝒓 𝑡 = 𝒂 +𝑡 𝒃 − 𝒂 = 1 − 𝑡 𝒂 + 𝒃, 𝑡𝜖ℝ. Sendo assim, considere 𝒒, 𝒒 𝟏 e 𝒒 𝟐 pertencem auma reta r a razão afim é definida por 𝑞 − 𝑞1 𝑎2 = 𝑞 − 𝑞2 𝑎1 Em outras palavras, se um ponto 𝑞 divide um segmento 𝑞1 𝑞2 segmento narazão 𝑏2 : 𝑏1 , então 𝑏1 𝑞1 + 𝑏2 𝑞2 𝑞= , 𝑏1 + 𝑏2 ≠ 0. 𝑏1 + 𝑏2 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 somados coeficientes é 1 ou 0. No primeiro caso o resultado é um ponto, e no segundocaso 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çãoafim de pontos, isto é
  28. 28. 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 dageometria 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{v1 , v2 , … , vn } uma base de 𝒜. A lista F = {o, v1 , v2 , … , vn } é um referencial de 𝒜. Um referencial define um sistema de coordenadas do espaço afim. Ouseja, considere um ponto p = o + v ϵ 𝒜. Como os vetores vi formam uma base de 𝒜, podemos escrever v = c1 v1 + c2 v2 + ⋯ + cn vne, portanto o ponto p pode ser escrito, de modo único, na forma p = o + c1 v1 + c2 v2 + ⋯ + cn vn Os n + 1 escalares 1, c1 , c2 , … , cn representam as coordenadas do ponto pno referencial. Essas coordenadas são indicadas pela lista (c1 , c2 , … , cn , 1), com oelemento 1 no final. Geometricamente, a representação afim do ℝn é obtidacolocando 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 entreponto e vetor.
  29. 29. Computação Gráfica: Uma aplicação na Educação e na Engenharia 18 1 ℝ𝑛 Figura 6: Representação afim do espaço Euclidiano 1.3.4.3. REPRESENTAÇÃO MATRICIAL Como na Geometria Euclidiana, uma transformação afim pode serrepresentada matricialmente. Considere os dois referenciais 𝐹 = {𝒖 𝟏 , 𝒖 𝟐 , … , 𝒖 𝒏 , 𝒐} e 𝐺 = {𝒗 𝟏 , 𝒗 𝟐 , … , 𝒗 𝒏 , 𝒐′},um ponto 𝒙 = 𝑥1 𝒖 𝟏 + 𝑥2 𝒖 𝟐 + ⋯ + 𝑥 𝑛 𝒖 𝒏 + 𝒐 no espaço afim ℝ 𝑛 . Seja 𝑇 umatransformação linear e suponhamos que 𝑛 𝑛 𝑇 𝒖𝒋 = 𝑎 𝑖𝑗 𝒗 𝑖 e T(𝐨) = 𝑎 𝑖𝑛 +1 𝒗 𝑖 𝑖=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 produtode matrizes
  30. 30. Computação Gráfica: Uma aplicação na Educação e na Engenharia 19 𝑎11 𝑎12 ⋯ 𝑎1𝑛 𝑎1𝑛+1 𝑥1 𝑎21 𝑎22 … 𝑎2𝑛 𝑎2𝑛+1 𝑥2 ⋮ ⋮ ⋱ ⋮ ⋮ ⋮ . 𝑎 𝑛1 𝑎 𝑛2 ⋯ 𝑎 𝑛𝑛 𝑎 𝑛𝑛 +1 𝑥𝑛 0 0 … 0 1 1 Portanto, em termos matriciais, o grupo de transformações da GeometriaAfim é 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 porseus 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çãoGráfica, pois as transformações afins incluem os movimentos rígidos daGeometria Euclidiana, e, além disso, são representadas por matrizes, queadmitem uma estrutura computacional simples. No entanto, essa geometriapossui alguns inconvenientes quando realizamos transformações de visualização.As transformações de visualização estão presentes em uma das etapas doprocesso 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 7bque representa uma fotografia da mesma estrada obtida a partir de umdeterminado ponto de vista próximo à estrada. P (a) (b) Figura 7: Fotografia de uma estrada
  31. 31. Computação Gráfica: Uma aplicação na Educação e na Engenharia 20 Geometricamente, a imagem da Figura 7b corresponde a umatransformação dos objetos geométricos na Figura 7a. A transformação doprocesso 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 estradanão são paralelas na imagem fotográfica. Isso mostra uma deficiência em seutilizar a Geometria Afim para a Geometria da Computação Gráfica. A soluçãopara 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, é umcampo bastante extenso. Tais subseções baseiam-se no trabalho de JonasGomes 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çoprojetivo. Do ponto de vista matemático, essa transformação é definida por umaprojeçã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
  32. 32. 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 dopróprio ponto 𝑂, são projetados no mesmo ponto 𝑃′. Isso significa que comrelação à projeção cônica, todos os pontos da reta 𝑟 são iguais. Esse fato naturalconsidera a reta 𝑟, excluindo o ponto 𝑂, como sendo um ponto projetivo. Tomandoo ponto 𝑂 como sendo a origem de ℝ 𝑛+1 , definimos como o espaço projetivo dedimensão 𝑛 o conjunto das retas passando pela origem de ℝ 𝑛 +1 (eliminando-se aorigem). Desejamos que a Geometria Projetiva seja uma extensão natural daGeometria Afim pois a mesma possui diversas propriedades úteis a ComputaçãoGráfica. Indicamos esse espaço projetivo 𝑛-dimensional por ℝℙ 𝑛 . É comumrepresentar 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 retasprojetivas são subespaços bidimensionais, ou seja, planos que passam pelaorigem. A correspondência natural de pontos do espaço afim com pontos doespaç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.
  33. 33. Computação Gráfica: Uma aplicação na Educação e na Engenharia 22 𝑃 1 𝑃′ ℝ𝑛 Figura 9: Plano Projetivo 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 oponto 𝒑. Se 𝒑′ = (𝑥1 , 𝑥2 , … , 𝑥 𝑛 , 𝑥 𝑛 +1 ), então tomamos as coordenadas euclidianas(𝑥1 , 𝑥2 , … , 𝑥 𝑛 , 𝑥 𝑛 +1 ) como sendo as coordenadas projetivas do ponto 𝒑. Ocorre quese 𝜆 ∈ ℝ é um número não nulo, 𝜆𝒑′ representa o mesmo ponto projetivo 𝒑. Dessemodo, 𝜆(𝑥1 , 𝑥2 , … , 𝑥 𝑛 , 𝑥 𝑛 +1 ) também representam coordenadas de 𝒑. Ou seja, ascoordenadas projetivas de um ponto são determinadas a menos de umamultiplicação por um escalar não nulo, e por isso são chamadas de coordenadashomogêneas. Os hiperplanos projetivos de ℝℙ 𝑛 são definidos pela equação linearhomogê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 quepassam pela origem. No caso do plano projetivo, 𝑛 = 2, o hiperplano de ℝ3 , dadopela equação
  34. 34. 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 doespaço projetivo, portanto do ponto de vista euclidiano, 𝑇 deve transformar umareta pela origem de ℝ 𝑛 +1 noutra reta que também passa pela origem. Sendoassim, 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 elementoslineares do espaço projetivo e, além disso, é representada por uma matriz (deordem 𝑛 + 1). Observe que se 𝑇: ℝℙ 𝑛 → ℝℙ 𝑛 é uma transformação projetiva e 𝜆 ∈ ℝ, 𝜆 ≠0, então usando a linearidade de 𝑇 temos 𝜆𝑇 𝑃 = 𝑇 𝜆𝑃 = 𝑇(𝑃). Ou seja, umatransformação projetiva fica definida de forma a menos de um produto por umescalar 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 dessatransformação. Uma transformação projetiva T: ℝℙ2 → ℝℙ2 do plano projetivo é dada poruma transformação linear invertível T: ℝ3 → ℝ3 . Portanto ele é representado poruma 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 4blocos,
  35. 35. Computação Gráfica: Uma aplicação na Educação e na Engenharia 24 a c | t1 b d | t2 A T 𝑀= = , − − | − P S p1 p2 | sonde a c t A= , P = p1 p2 , T = 1 e S = s . b d t2 Suponha que 0 P= 0 0 T= ,e S = 1 . 0 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 atransformação deixa a reta do infinito invariante). Por outro lado, se (𝑥, 𝑦, 1) é um ponto afim do plano projetivo, a suaimagem 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, oplano projetivo também é deixado invariante pela transformação. Além disso, nosdois casos acima as coordenadas afins do ponto transformado são dados por
  36. 36. 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 modonatural, o grupo das transformações lineares do plano euclidiano (e em particularo grupo dos movimentos rígidos da Geometria Euclidiana Plana). É fato de que o grupo das transformações projetivas contém o grupo dastransformações lineares do plano euclidiano. Com efeito, sabemos que a matriz 𝑎 𝑐 t1 𝑏 𝑑 t2 0 0 1representa uma transformação linear do plano seguida de uma translação (verseção de Geometria Afim). Para ver isso, considere as matrizes a seguir: 1 0 A= ,P = 0 0 ,e S = 1 . 0 1 Obtemos então 1 0 t1 x x + t1 M x, y, 1 = 0 1 t 2 y = y + t2 . 0 0 1 1 1 Portanto a ação da transformação no plano afim é a translação pelo vetor(t1 , t 2 ). O efeito do elemento 𝑠, que constitui o bloco 𝑆 da matriz, corresponde auma 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 aum ponto fixo. Uma homotetia é definida pelo seu centro O e pela razão k de homotetia e é aaplicação afim tal que a cada ponto P faz corresponder o ponto P tal que: OP′ = k . OP.
  37. 37. Computação Gráfica: Uma aplicação na Educação e na Engenharia 26 1 0 0 x x x s 0 1 0 y = y = y s . 0 0 s 1 s 1 Dos casos estudados, podemos concluir que o grupo das transformaçõesprojetivas contém o grupo das transformações afins (e, portanto os movimentosrígidos da geometria Euclidiana). A T Analisemos agora o bloco 𝑃 da matriz 𝑀 = . Para isso, tomemos o P Sbloco 𝐴 como sendo a matriz identidade, o bloco 𝑇 nulo e 𝑠 = 1. Aplicando atransformação em um ponto afim com coordenadas (𝑥, 𝑦, 1), obtemos 1 0 0 x x 0 1 0 y = y . p1 p2 1 1 p1 x + p2 y + 1 Se 𝑝1 ≠ 0 ou 𝑝2 ≠ 0, a equação p1 x + p2 y + 1 = 0 possui uma infinidade desoluções. Isso mostra que pontos 𝑥, 𝑦, 1 , do plano afim, são transformados empontos do infinito (𝑥, 𝑦, 0) do plano projetivo. Por outro lado, aplicando a transformação a um ponto ideal (𝑥, 𝑦, 0), obtém-se: 𝑀 𝑥, 𝑦, 0 = 𝑥, 𝑦, p1 x + p2 y . Tomando na equação acima pontos (𝑥, 𝑦) de modo que 𝑝𝑥 + 𝑞𝑦 ≠ 0,concluímos que pontos do infinito do plano projetivo são transformados em pontosdo plano afim. Geometricamente, se um ponto ideal é transformado em um ponto 𝑃0 doplano afim, então a família de retas paralelas, que se intersectam nesse pontoideal, é transformada em uma família de retas incidentes no ponto 𝑃0 (Figura 10).O ponto 𝑃0 é chamado de ponto de fuga da transformação.
  38. 38. Computação Gráfica: Uma aplicação na Educação e na Engenharia 27 𝑃0 Figura 10: Ponto ideal transformado em ponto real. Um ponto de fuga correspondendo a uma direção paralela a um dos eixoscoordenados de ℝ 𝑛 é chamado ponto de fuga principal. Como no plano afimexistem no máximo duas direções ortogonais, podem-se ter transformaçõesprojetivas com no máximo dois pontos de fuga principais. Cada um desses pontosde 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 , namatriz 𝑀 da transformação projetiva. Se 𝑝1 ≠ 0 e 𝑝2 = 0, temos apenas um pontode fuga correspondente ao eixo-𝑥; se 𝑝1 = 0 e 𝑝2 ≠ 0, temos apenas um ponto defuga correspondente ao eixo-𝑦; se ambos 𝑝1 e 𝑝2 são não nulos temos doispontos de fuga principais. A Figura 11 mostra uma transformação projetiva de umretângulo com dois pontos de fuga. Note que a imagem do retângulo é umquadrilátero. Esse tipo de comportamento foi utilizado na aplicação descrita nocapitulo 5 para criar efeitos de deformação em objetos. 𝐶 𝐷 𝐶 𝐷 𝐵 𝐴 𝐵 𝐴 Figura 11: Transformação com dois pontos de fuga (D e B).
  39. 39. Computação Gráfica: Uma aplicação na Educação e na Engenharia 28 Ao definir Geometria Projetiva, utilizamos como motivação a projeçãocônica de uma fotografia. Nas seções seguintes estaremos retornando essa linhade raciocínio para mostrar que as projeções são de fato transformaçõesprojetivas. 1.3.5.5. PROJEÇÃO PARALELA Dados os planos Π e Π′ do espaço projetivo, e uma reta 𝑟 não paralela anenhum deles, definimos uma projeção paralela 𝑇: Π → Π′ do seguinte modo:dado 𝑃 ∈ Π, seja 𝑠 a reta que passa pelo ponto 𝑃 e é paralela à reta 𝑟, então𝑇 𝑃 = 𝑠 ∩ Π′ (Figura 12). P′ P 𝑠 r Π′ Π Figura 12: Projeção paralela. Quando a reta 𝑠 é ortogonal ao plano Π′, a projeção é chamada deprojeção ortogonal. Não é difícil mostrar que a projeção paralela é umatransformação afim do plano Π no plano Π′. Na realidade, se os planos foremparalelos 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′
  40. 40. Computação Gráfica: Uma aplicação na Educação e na Engenharia 29conforme ilustrado na Figura 13. O ponto 𝑂 é chamado de centro de projeção. Asretas 𝑂𝑃 são chamadas de retas de projeção. P′ P 𝑂 𝑄 𝑄′ Π′ Π Figura 13: Projeção cônica Queremos mostrar que a projeção cônica 𝑇 é uma transformação projetiva.Para isso, tomemos uma transformação projetiva 𝐿 do espaço que transforma ocentro 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 atransformação projetiva 𝐿 é uma projeção paralela 𝑇′ entre os planostransformados 𝐿(Π) 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, coma transformação projetiva 𝐿−1 , sendo pois uma transformação projetiva. As projeções são importantes em Computação Gráfica como modelos detransformações devido a transformação da câmera virtual. Como a imagem daprojeçã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çãomais genérica possível é uma transformação projetiva 𝑇: ℝℙ3 → ℝℙ2 que, emcoordenadas homogêneas, é dada por
  41. 41. Computação Gráfica: Uma aplicação na Educação e na Engenharia 30 𝑥1 𝑦1 𝑎11 𝑎12 𝑎13 𝑎14 𝑥2 𝑦2 = 𝑎21 𝑎22 𝑎23 𝑎24 𝑥3 . 𝑦3 𝑎31 𝑎32 𝑎33 𝑎34 𝑥4 Temos 11 graus de liberdade para definir uma câmera virtual ou sintéticausando essa transformação, e diversos tipos de câmeras possíveis. Dentre elaspodemos citar: câmera de perspectiva (que usa a projeção cônica), câmera defuro (―pinhole camera‖), câmera afim (projeção paralela), câmera de perspectivafraca (―weak-perspective‖) e a câmera ortográfica. O estudo de câmeras não é o objeto principal desse texto e, portanto, nãoterá ê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 qualseria a geometria mais adequada para a Computação Gráfica. Como vimos aGeometria Projetiva é a mais adequada porque tanto a Geometria Euclidianaquanto a Geometria Afim não possuíam estrutura geométrica ou Algébrica parasuportar algumas operações importantes para a Computação Gráfica. Na verdadeo espaço projetivo ainda tem suas limitações, principalmente do ponto de vistaalgébrico. Os aspectos computacionais da geometria não foram considerados nessecapítulo introdutório. Aspectos computacionais da Geometria Afim são tratados naGeometria Computacional e é um tópico de grande importância na ComputaçãoGráfica, todavia, ele não será tratado aqui, mas será utilizado em grande escalanas aplicações apresentadas nos capítulos 3 e 5.
  42. 42. 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 serutilizada, o custo do processamento de um objeto através do pipeline devisualização 3D, a aparência final de um objeto e a facilidade para alterar a suaforma. Na literatura, encontramos geralmente quatro formas de representação, deacordo 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 numaaproximaçã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 2representam apenas a superfície do objeto, sendo o volume inteiro representadopela 3 e pela 4. A forma mais comum de representar modelos 3D é através de uma malhade polígonos. Ou seja, define-se um conjunto de vértices no espaço (geometria) ecomo esses vértices devem ser ligados para formarem polígonos fechados,chamados de face (topologia), que podem ser triângulos ou quadrados. Oarmazenamento desse tipo de estrutura é usualmente realizado através devetores de estruturas, matrizes ou listas. Por exemplo, a Figura 14 apresenta alista de vértices e faces necessárias para desenhar uma casa simplificada.
  43. 43. Computação Gráfica: Uma aplicação na Educação e na Engenharia 32 Vértices (geometria) Faces (topologia) 𝑣1 1 𝑥1 𝑦1 𝑧1 1 𝑣1 𝑣4 𝑣5 𝑣3 𝑣4 2 𝑥2 𝑦2 𝑧2 2 𝑣1 𝑣5 𝑣2 3 𝑥3 𝑦3 𝑧3 3 𝑣1 𝑣2 𝑣3 𝑣2 𝑣5 4 𝑥4 𝑦4 𝑧4 4 𝑣1 𝑣3 𝑣4 𝑣7 5 𝑥5 𝑦5 𝑧5 5 𝑣4 𝑣3 𝑣7 𝑣8 𝑣8 6 𝑥6 𝑦6 𝑧6 6 𝑣5 𝑣4 𝑣8 𝑣9 7 𝑥7 𝑦7 𝑧7 7 𝑣2 𝑣5 𝑣9 𝑣6 𝑣6 𝑣9 8 𝑥8 𝑦8 𝑧8 8 𝑣3 𝑣2 𝑣6 𝑣7 9 𝑥9 𝑦9 𝑧9 9 𝑣6 𝑣9 𝑣8 𝑣7 Figura 14: Exemplo de um objeto representado por uma malha de polígonos 1.4.2. SUPERFÍCIES PARAMÉTRICAS Superfícies paramétricas são usadas quando se necessita trabalhar comsuperfícies suaves na modelagem de objetos de forma livre (Free Form Objects).Neste caso, uma representação muito utilizada são os patches paramétricosbicúbicos, que permitem calcular as coordenadas de todos os pontos que formamuma superfície curva através da definição de 16 pontos de controle e da utilizaçãode três equações, uma para x, uma para y e uma para z. Cada equação possuiduas variáveis (ou parâmetros) e termos para todo domínio dos parâmetros até oseu cubo (daí as expressões bi e cúbico). Em outras palavras, o patch é uma superfície curva na qual cada um dospontos que a formam deve ser processado. Para isto, inicialmente devem serdefinidos 16 pontos 3D, chamados pontos de controle. Quatro destes pontos quedeterminam a forma do patch pertencem aos seus cantos. A partir daespecificação dos pontos de controle, são usadas três funções para calcular osvalores intermediários que, simplificadamente, são resultantes de umainterpolação. Através de parâmetros passados para as funções, é possíveldeterminar a quantidade de valores intermediários calculados. Além disso,sempre que um ponto de controle é alterado, os pontos que formam a superfíciedevem ser gerados novamente.
  44. 44. 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á relacionadacom a exploração de dados e informação de modo a haver ganho decompreensã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, asferramentas e técnicas de visualização têm sido usadas para analisar e mostrargrandes volumes de dados multidimensionais, freqüentemente variantes notempo, de modo a permitir ao usuário extrair características e resultados rápida efacilmente. A Figura 15 mostra uma SciVis, em isolinhas(vide comentários emConsiderações Finais), de uma barra trapezoidal com tensões na direção 𝑋. ASciVis 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íficaspara tratar dados escalares, como temperatura, outras dados vetoriais, comodeslocamento, e outras ainda, tensoriais, como tensor de tensões.
  45. 45. 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 comdados dimensionais, enquanto outras trabalham com bi ou mesmotridimensionais. O mapeamento de cores, por exemplo, que consiste em associaruma gama de cores a uma variação do valor do dado, pode ser usado emanálises em duas ou três dimensões. Outras técnicas trabalham com dados vetoriais, como por exemplo, aslinhas 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. Amaioria delas usa glifos, ou ícones, para tentar representar os componentes dostensores. Entretanto, o que tem se mostrado mais eficiente, é a representaçãodos componentes dos tensores de forma separada, utilizando técnicas para dadosescalares. O mesmo pode ser feito com dados vetoriais. As diversas técnicas modernas de visualização nada mais são do quevariações das tradicionais. No entanto, as técnicas usadas precisam de algunscuidados 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 ereunidas 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 pacotespara visualização de dados mais antigos. Ele permite a utilização tanto porprogramadores experientes quanto por usuários diretos, pois possui um ambientegráfico de desenvolvimento. Possui métodos de visualização para problemas emdiversos campos, incluindo ciências, administração, engenharia, medicina,telecomunicações e meio ambiente
  46. 46. 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 decomponentes para visualização interativa e colaborativa e análise numérica dedados. O nome VisAD é um acrônimo para Visualization for AlgorithmDevelopment (Visualização para Desenvolvimento de Algoritmo) (VISAD HomePage, 2007). Um pacote bastante utilizado é o Open Visualization Data Explorer(OpenDX). Ele é uma versão de código aberto do produto da IBM VisualizationData Explorer. Existe há vários anos, e possui um conjunto de ferramentas paramanipulação, transformação, processamento, renderização e animação de dados.Possui integrada uma interface gráfica orientada a objetos (IBM ResearchVisualization Data Explorer, 2005). O IRIS Explorer é uma ferramenta desenvolvida pelo NAG (NumericalAlgorithms Group) para desenvolvimento de aplicações de visualização. Possuium ambiente de desenvolvimento visual (NUMERICAL ALGORITHMS GROUP,2005). O Visualization ToolKit (VTK) é um sistema gratuito de código aberto paracomputaçã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++, ealgumas camadas de interface incluindo Tcl/Tk, Java e Python. Com diversastécnicas, é influenciado pelo princípio da Orientação a Objetos (KITWARE, 2005). O VTK provê uma variedade de representações de dados incluindoconjuntos de pontos desorganizados, dados poligonais, imagens, volumes, etambém malhas estruturadas, retilíneas e não-estruturadas. Existem, ainda, diversos outros pacotes de SciVis. Alguns deles sãoespecíficos para determinadas áreas, enquanto outros são bastante genéricos.
  47. 47. 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 cenatridimensional é a câmera sintética, que possibilita a visão de qualquer outroobjeto. Portanto, pelo menos uma câmera precisa ser definida em cada cena. Uma câmera sintética pode ser caracterizada de diversas maneiras, comopor exemplo, como um ponto de visão e centro de interesse que define o centroda 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 tela2D, 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 observadorem sistemas gráficos e de visualização. O posicionamento e a animação deobjetos se dão tanto pela alteração da posição do objeto em relação a um sistemade coordenadas global da cena, como pela alteração pura e simples da posiçãoda câmera. As projeções mais comuns, para a criação de uma imagem, são aperspectiva e a paralela.
  48. 48. Computação Gráfica: Uma aplicação na Educação e na Engenharia 37 1.4.5. ILUMINAÇÃO E COR A maior parte do processo físico de iluminação pode ser simulado nocomputador. Entretanto, sua utilização na obtenção de imagens de alta qualidadeimplica em altos custos computacionais. A iluminação, de forma direta, não émuito importante em análises numéricas. Mas, de forma indireta, pelo efeito desombreamento ou tonalização, ela pode dar a impressão de tridimensionalidade,facilitando a análise de modelos 3D. A cor é de fundamental importância na aplicação realizada no capítulo 5. Aaplicação mais comum consiste em associar cores a valores de dados. Porexemplo, associar uma gama de cores, variando do vermelho ao azul, com osvalores de tensão em uma direção, da máxima tração à máxima compressão.Além dessa aplicação, a utilização de cores é item obrigatório em aplicações deComputação Gráfica O processo de calcular a iluminação para cada ponto de uma superfície édenominado tonalização (shading). Para superfícies coloridas, a intensidade decada componente da luz (vermelha, verde e azul, ou RGB), deve ser calculadaindividualmente. Isso porque, em Computação Gráfica, a maioria dos sistemasgráficos trabalha com o modelo de cores RGB, que é o mais próximo do hardwaregráfico, que trabalha com fósforo destas três cores. Esse modelo assume que acor de um pixel é determinada pela soma dos componentes vermelho, verde eazul da cor, sendo que a quantidade de cada componente é expressa no intervalo[0,1] ou [0,255]. 1.4.6. TEXTURA Objetos reais não são suficientemente caracterizados apenas por suageometria tridimensional, mas necessitam de informação adicional de suasuperfície. No caso mais simples, a superfície do objeto é coberta com uma corconstante. Como regra, as superfícies de objetos não são desestruturadas, maspossuem variação de cor dependente de posição, transparência, rugosidade, etambém geometria, que dão a característica de aparência de materiais. Essaspropriedades são sumarizadas no termo textura.
  49. 49. Computação Gráfica: Uma aplicação na Educação e na Engenharia 38 O objetivo de simulação de texturas em Computação Gráfica é gerarimagens de textura num dispositivo visual final, que evoca uma sensação detextura similar à causada pela original. Em Computação Gráfica, além de representar objetos reais, as texturassão usadas para dar suporte a aplicações científicas, para percepção do espaço eforma de objetos tridimensionais, e como primitivas básicas de conjunto de dadosde visualização com parâmetros múltiplos. As texturas são tratadas comoparâmetros de aparência, como por exemplo, cor, rugosidade, reflexão e brilho.

×