Notas de Aula de Um Curso de Modelagem de Sólidos

Tamanho: px
Começar a partir da página:

Download "Notas de Aula de Um Curso de Modelagem de Sólidos"

Transcrição

1 Notas de Aula de Um Curso de Modelagem de Sólidos em Computação Gráfica Humberto José Bortolossi Universidade Federal Fluminense VERSÃO de fevereiro de 2017 Essas são anotações que fiz durante a disciplina de Modelagem de Sólidos no programa de Doutorado em Matemática da PUC-Rio em Por favor, envie suas sugestões, correções e críticas para hjbortol@vm.uff.br.

2 Sumário 1 Modelos de decomposição Níveis de abstraçãoemmodelagem Sólidos construtíveis e não-construtíveis Propriedades de modelos de representação Classificação de modelos de sólidos Modelos de decomposição Modelos construtivos Modelos de contorno (boundary models) Modelos de decomposição Enumeração exaustiva Cell decompositions Octree representation Modelos construtivos Modelos half-spaces Half-spaces Operações booleanas Representação de modelos half-spaces Propriedades dos modelos half-spaces Constructive Solid Geometry Representação de modelos CSG Algoritmos para modelos CSG Propriedades de modelos CSG Classificações de pertinência Propagação para baixo Propagação para cima Vizinhanças Modelos baseados em superfícies Variedades bidimensionais Limitações de modelos em variedades Modelos planos de variedades bidimensionais Definição formal de modelos planos Modelos planos realizáveis Subdivisões de uma superfície

3 3.5.2 Orientabilidade A característica de Euler Os números de Betti Superfícies com bordo Dualidade Resumo Modelos de Contorno Conceitos básicos Estrutura de dados em modelos de contorno Modelos de contorno baseados em polígonos Modelos de contorno baseados em vértices Modelos de contorno baseados em arestas Faces com várias curvas de bordo Validade de modelos de contorno Descrição de modelos de contorno Conversão de modelos CSG Desenhos em dimensãodoisemeio Modificações locais Algoritmos para modelos de contorno Visualização Propriedades integrais Propriedades de modelos de contorno Operadores de Euler Manipulação de modelos planos Operações topológicas locais Operações topológicas globais Consistência das operaçõessobremodelosplanos Manipulação de modelos de contorno Notações e convenções Primitivas esqueléticas: MVFS e KVFS Manipulações locais Manipulações globais: KFMRH, MFKRH Um exemplo dos operadores de Euler Propriedades dos operadores de Euler A fórmula de Euler-Poincaré revisitada Propriedades algébricas dos operadores de Euler Poder de descrição dos operadores de Euler

4 Lista de Figuras 1.1 Sólidos (a) construtível e (b) não-construtível Um modelo octree Esquema representativo para a decomposição octree Modelo half-space de um cilindro finito Três coleções de primitivas CSG Uma operação booleana não regular Ambigüidade no caso on-on Sólidos cujas superfícies não são variedades topológicas Uma superfície cilíndrica Outras superfícies: (a) esfera, (b) toro e (c) faixa de Möbius Modelos planos de uma pirâmide A garrafa de Klein Modelos de um cubo Um modelo plano e seu dual Definição de uma face Constituintes básicos de modelos de contorno Um objeto exemplo Um modelo de contorno baseado em vértices Um modelo de contorno baseado em arestas A estrutura de dados winged-edge A estrutura de dados winged-edge completa Objeto com faces nãosimples Modelos de contorno inválidos Um objeto com BR não conveniente Varredura de faces Operações booleanas em perfis Modificações locais em modelos de contorno A operação de quebra de um vértice Soma conexa de dois modelos planos Soma conexa aplicada a uma única componente O operador MVFS O operador MEV

5 5.6 O operador MEF O operador KEMR Exemplo dos operadores de Euler Exemplo dos operadores de Euler (continuação)

6 Capítulo 1 Modelos de decomposição A modelagem de sólidos é um ramo da modelagem geométrica cujo principal objetivo éade manter a aplicabilidade geral de seus modelos. Ela insiste em criar somente representações completas de objetos físicos, isto é, representações nas quais se épossível responder a questões geométricas arbitrárias de uma maneira algorítmica. 1.1 Níveis de abstração em modelagem Podemos distingüir quatro diferentes níveis de abstração em modelagem: (1) Modelo físico: Neste nível descrevemos e caracterizamos objetos reais de nosso mundo tridimensional através de suas propriedades físicas que, por suas vez, são percebidas através de nossos sentidos. (2) Modelo matemático: A fim de termos alguma esperança de modelar objetos no computador, devemos adotar uma idealização adequada dos objetos reais que estamos interessados em modelar. Para conseguir isto, utilizamos a linguagem matemática (teoria de conjuntos e topologia algébrica) para descrever de maneira rigorosa os objetos de interesse. (3) Modelo de representação: Depois de definirmos de maneira rigorosa a classe de objetos matemáticos em que estamos interessados o passo seguinte é a de associar ao modelo matemático uma representação apropriada para manuseio em computador. (4) Modelo de implementação: Neste último nível adaptamos o modelo de representação de acordo com os recursos de implementação disponíveis (em geral, características próprias da linguagem escolhida, a utilização ou não de processamento paralelo, etc.). 1.2 Sólidos construtíveis e não-construtíveis Como vimos acima, a fim de efetuarmos a modelagem de objetos em computador faz-se necessária uma idealização adequada dos objetos físicos tridimensionais de interesse. Esta idealização éfeita com objetos matemáticos que podem ser definidos através da teoria de conjuntos e topologia algébrica. Caraterizaremos aqui os objetos matemáticos que serão adequados ao processo de modelagem em nosso caso. 6

7 Definição Um sólido é um conjunto limitado e fechado do espaço vetorial IR 3 Definição Um objeto rígido é uma classe de equivalência de conjunto de pontos de IR 3 formada pela seguinte relação de equivalência: A é equivalente a B (A B) se, e somente se, existe um movimento rígido (composição de translações e rotações) levando A em B. Definição A regularização de um conjunto A IR 3, r(a) é definida por: r(a): = c(i(a)) onde c(a) e i(a) denotam, respectivamente, o fecho e interior do conjunto A. Conjuntos que satisfazem r(a) =A são denominados conjuntos regulares. Definição Uma variedade bidimensional M éumespaço topológico onde todo ponto possui uma vizinhança que é topologicamente equivalente a um disco aberto de IR 2. Nossos objetos matemáticos de interesse são sólidos rígidos regularizados cujo bordo constitui uma variedade bidimensional. Tais objetos matemáticos são denominados sólidos construtíveis. (a) (b) Figura 1.1: Sólidos (a) construtível e (b) não-construtível. 1.3 Propriedades de modelos de representação As seguintes propriedades orientam na análise dos diversos modelos de representação: (1) Poder de expressão: Quais objetos podem ser representados? Épossível ampliar este domínio? Um aspecto do poder de expressão é a precisão do esquema de representação: quão precisamente podem ser representados objetos complicados? (2) Validade: Todas as representações admissíveis são válidas? Um esquema com esta propriedade (desejável) é denominado sintaticamente válido quando ela força a validade de todos os sólidos que obedeçam suas regras de definição. (3) Ambigüidade e unicidade: Os modelos de representação válidos designam um único sólido? Sólidos possuem mais de uma representação válida? (4) Linguagem de descrição: Que tipo de linguagens de descrição de sólidos são suportadas em um sistema de modelamento baseado no esquema de representação em questão? Elas são inerentes, isto é, diretamente baseadas nas representações do esquema ou elas são baseadas em uma conversão de outro esquema? 7

8 (5) Concisão: Quão grandes (em termos de armazenamento computacional) são as representações dos sólidos de interesse? (Esta propriedade está freqüentemente em contraponto com a precisão da representação). (6) Operações fechadas: As operações de manipulação e descrição dos sólidos preservam a validade das representações? Quão gerais são as manipulações que são suportadas pelo esquema de representação? (7) Aplicabilidade e custo computacional: Que tipo de algoritmos podem ser escritos para as representações do esquema? Que tipo de complexidades computacionais estão envolvidas? As representações do esquema são apropriadas para que tipo de aplicações? Naturalmente, estamos particularmente interessados em soluções inerentes ao esquema de representação, isto é, que não envolvam conversão em um esquema de representação totalmente diferente. 1.4 Classificação de modelos de sólidos Modelos de decomposição Descrevem os sólidos através de uma única operação de colagem (gluing) de primitivas básicas. O tipo de primitivas básicas usadas gera variados modelos de decomposição Modelos construtivos Descrevem os sólidos através de operadores de construção aplicados às primitivas básicas. Os operadores de construção não se restringem somente a operação de colagem (gluing) Modelos de contorno (boundary models) Descrevem os sólidos através de seus contornos. Um sólido é uma coleção de faces, uma face é uma coleção de arestas; uma aresta é representada por dois vértices. 1.5 Modelos de decomposição Enumeração exaustiva Sólidos podem ser considerados como conjuntos de pontos. Evidentemente não podemos enumerar todos os pontos que pertençam a um sólido mas certamente podemos enumerar cubos (de tamanho especificado) que estão contidos (total ou parcialmente) no sólido. Os cubos são tomados de tamanho uniforme de maneira que eles não se interceptem, isto é, eles formam uma subdivisão regular do espaço. A representação resultante é denominada enumeração exaustiva. Destacamos suas propriedades: (1) Poder de expressão: Enumeração exaustiva é obviamente aproximativa. Contudo, o esquema é geral: todo tipo de objeto pode ser representado em enumeração exaustiva. 8

9 (2) Validade: A validade da enumeração exaustiva depende da iteração geométrica de cubos individuais. Se apenas sólidos construtíveis são admitidos, nem toda representação é válida (por exemplo, dois cubos que se interceptam apenas em um vértice). (3) Ambigüidade e unicidade: Todas representações válidas não são ambíguas. Existe também unicidade: fixando-se o espaço de interesse e a resolução, todo sólido possui apenas uma representação. (4) Linguagem de descrição: Em aplicações de processamento de imagens, enumerações exaustivas são geralmente criadas através de um scanner. No contexto de modelagem de sólidos, elas são geradas através de uma conversão de outros modelos. (5) Concisão: Enumeração exaustiva tende a utilizar grande quantidade de armazenamento computacional: uma resolução de utiliza 16 milhões de bits de armazenagem. (6) Operações fechadas: Enumerações exaustivas suportam muitos algoritmos fechados. E- xemplos são dadas pelas operações booleanas. (7) Aplicabilidade e custo computacional: Algoritmos para este esquema tendem a ser extremamente simples. Enumeração exaustiva é largamente utilizada em processamento digital de imagens. Também, ela é utilizada como um esquema auxiliar para acelerar operações de outras representações Cell decompositions Um tratramento para se resolver os problemas apresentados em enumeração exaustiva e mantendo-se suas propriedades é a de se utilizar outros tipos de elementos básicos que não sejam apenas cubos. Estes esquemas são denominados Cell Decompositions. Destacamos suas propriedades: (1) Poder de expressão: Oespaço de modelagem é geral na presença de células com superfícies nas quais o grau não ultrapassa o grau das células. (2) Validade: A validade é difícil de se estabelecer. Para se verificar a validade, um teste de interseção para cada par de células é necessário. (3) Ambigüidade e unicidade: Uma decomposição válida determina completamente um sólido. Não existe unicidade. (4) Linguagem de descrição: Em geral, é muito difícil criar representações neste esquema por um mecanismo direto. Usualmente, cell decompositions são criadas pela conversão de outras representações mais convenientes. (5) Concisão: Cell decompositions são relativamente concisas. As representações usuais consistem de uma lista de nós, cada uma sendo um ponto tridimensional indexado, seguido por uma lista de elementos que por sua vez possuem um código e uma lista de números cuja interpretação depende do código. 9

10 (6) Operações fechadas: Em geral, cell decompositions são apenas usadas como entrada para algoritmos que passivamente examinam o modelo sem modificá-lo. Algoritmos fechados não triviais (como operações booleanas) são desconhecidos ou computacionalmente intratáveis. (7) Aplicabilidade e custo computacional: Cell decompositions são indispensáveis como representação de entrada para algoritmos computacionais. Método de elementos finitos fornece um exemplo disto Octree representation Octrees fornecem exemplos típicos de esquemas adaptativos de subdivisão do espaço. A representação octree usa uma subdivisão recursiva do espaço de interesse em oito octantes que estão arranjados em uma árvore de 8 ramos. Usualmente uma octree é considerado como estando localizada em torno da origem de seu sistema de coordenadas xyz, com seu primeiro nível de octantes correspondendo aos octantes do espaço, e em particular o octante 3 sendo o octante positivo x, y, z > 0. Então se faz necessário representar o presente espaço de interesse separadamente em termos de uma transformação adequada. Cada node (nó)de uma octree consiste de um code e oito ponteiros para oito children, numerados de 0 a 7. Se code = full, a parte do espaço representada pelo node está completamente preenchido pelo sólido e os ponteiros de 0 a 7 são todos NULL e, portanto, não existem ramos. Se code = empty, a parte do espaço representada está vazia e, novamente, não existem ramos. A terceira possibilidade é a de que code = partial e isto corresponde ao fato do espaço estar parcialmente preenchido e parcialmente vazio. Neste caso, os oitos ponteiros apontam para oito children que correspondem a uma subdivisão regular do node em questão. Construção de representações octree No contexto de modelagem de sólidos, octrees são ordinariamente construídas a partir de primitivas sólidas. Para cada tipo de primitiva, um procedimento de classificação entre uma cópia da primitiva e um nó arbitrário do octree se faz necessário. A classificação deve ser capaz de distinguir entre os seguintes três casos: Caso 1: O nó considerado está completamento no exterior da primitiva. Caso 2: O nó considerado está completamento no interios da primitiva. Caso 3: Onóestá parcialmente no interior da primitiva. Algoritmos para Octrees Um modelador octree funcionalmente completo deve incluir algoritmos para os seguintes requisitos: (1) Geradores de árvores que criam octrees de primitivas parametrizadas ou outros tipos de modelos geométricos. 10

11 (a) y z x (b) (c) Figura 1.2: Um modelo octree. 11

12 octree box root code child[0]. child[7] loc box loc min max coord depth xyz xyz xyz Figura 1.3: Esquema representativo para a decomposição octree. (2) Operações booleanas que tomam duas octrees (com mesmo espaço de interesse) como argumentos e que calculam uma nova octree resultante da união, interseção ou diferença das mesmas. A implementação de operações booleanas leva a algortimos que percorrem sincronicamente as árvores de cada objeto, fazendo uma comparação adequada entre nós respectivos. Por exemplo, no processo de interseção de duas octrees, temos os seguintes casos: (a) Os nós n 1 e n 2 são folhas. Nesta situação, o nó correspondente à octree resultante é full se n 1 e n 2 são full; caso contrário, ele éempty. (b) Os nós n 1 ou n 2 são folhas (mas não simultaneamente). Nesta situação, se o nó queé uma folha for full, a sub-árvore do nó que não éumafolhaé copiada para a octree resultante. Caso contrário, o nó daárvore resultante é empty. (c) Os nós n 1 e n 2 não são folhas. Nesta situação, o algoritmo é aplicado recursivamente à sub-árvore, como acima. (3) Operações geométricas que tomam uma octree e calculam uma nova para modelar o resultado de translação, rotação ou homotetia do objeto fornecido. Alguns destes problemas levam a algoritmos não intuitivos e complicados. Por exemplo, a translação de uma octree é uma operação relativamente difícil. (4) Procedimentos de análise que calculam propriedades tais como volume ou área de superfície de uma octree. (5) Geradores gráficos que criam uma imagem gráfica do objeto modelado pela octree. Propriedades de Octrees As propriedades de representações octrees são similares as de enumeração exaustiva, com algumas exceções notáveis. 12

13 (1) Poder de expressão: Como em enumeração exaustiva, octrees são representações aproximativas e modelam de maneira exata apenas objetos muito particulares. (2) Validade: Nem toda representação é válida se adotarmos sólidos construtíveis como os únicos objetos admissíveis. (3) Ambigüidade e unicidade: Fixando-se uma resolução, octrees representam um sólido sem ambigüidade. A representação também éúnica (novamente fixando-se a resolução): um objeto possui apenas uma única representação octree compactada (algoritmos tais como operações booleanas podem criar octrees com nós desnecessários (isto é, um nó interno no qual os oito children são todos full)). (4) Linguagem de descrição: As mesmas observaçõesfeitasparaenumeração exaustiva se aplicam aqui, isto é, octrees são usualmente formadas por conversão de outras representações. (5) Concisão: Em geral, o número de nós de uma representaçãooctreedeumobjetoéproporcional a sua área de superfície. Desta maneira, modelos octree não são tão dispendiosos como representações exaustivas mas mesmo assim utilizam uma grande quantidade de armazenamento. (6) Operações fechadas: Translações e rotações são exemplos de operações fechadas. Operações booleanas podem gerar representações não válidas (isto é, podem gerar objetos que não são construtíveis). (7) Aplicabilidade e custo computacional: Muitos algortimos para octree podem ser construídos utilizando-se uma procura linear na árvore e operações relativamente simples em cada node. Para estes algoritmos, as mesmas observaçõs feitas para enumeração exaustiva se aplicam. Octrees lineares Embora octrees utilizem uma quantidade menor de armazenamnto se comparadas com enumeração exaustiva, esta é ainda muito grande. Isto tem levado pesquisadores a investigar possibilidades de se compactar representações octrees e de se substituir uma representação explícita (em termos da árvore) por representações alternativas como por exemplo uma estrutura de dados linear. Evidentemente, tais representações são também convenientes para de armazenar octrees em dispositivos externos. Os octantes de uma octree seguem uma ordenação (de 0 a 7). Estes números podem ser usados para se contruir um endereço para cada nó de uma octree (com exceção da raiz). Claramente, o endereço de um nó denível i éumaseqüência de i dígitos de 0 a 7. Um símbolo especial pode ser incluído para se indicar que os níveis subseqüentes ao nível demarcado pela posição do símbolo (inclusive) é dispensável na representação do endereço. A octree linear de Gargantini é baseada nestas observações. Em seu esquema, uma octree linear é simplesmente uma lista ordenada de endereços para todos os nós full. Assim, a octree linear correspondente à da figura 1.2 é simplesmente a lista {22, 23, 26, 27, 3X, 70, 71, 72, 73, 75, 77} 13

14 onde X éosímbolo utilizado para representar que o endereço do nó termina no nível anterior. Uma outra representação linear de uma octree é a assim denominada representação DF. Ela é construída percorrendo-se a árvore em uma determinda ordem e armazenando-se certas informações dos nós encontrados. O método utiliza o alfabeto B, W e ( para se denotar um nó full, um nó empty e um nó partial, respectivamente. Desta maneira, a representação DF correspondente à figura 1.2 constituí-se do seguinte: (WW(WWBBWWBBBWWW(BBBBWBWB Como o alfabeto possui apenas três caracteres, dois bits para cada nó são suficientes para a codificação. Observamos, finalmente, que muitos algoritmos importantes podem ser realizados utilizandose somente representações lineares (como operações booleanas). 14

15 Capítulo 2 Modelos construtivos Os modelos de decomposição discutidos no trabalho anterior representam sólidos como uma coleção básica de elementos combinados com uma operação de colagem (gluing). Em contraste, modelos construtivos utilizam operações mais poderosas. 2.1 Modelos half-spaces Todos modelos construtivos consideram sólidos como pontos do IR 3. A idéia básica destes modelos é a de se começar a partir de conjuntos suficientemente simples que podem ser representados diretamente e modelar outros conjuntos de pontos em termos de combinações muito gerais destes conjuntos simples. Os assim denominados modelos half-spaces aplicam este tratamento de uma maneira direta Half-spaces A todo conjunto de pontos A podemos associar uma função característica g A :IR 3 {0, 1} que diz se um ponto x IR 3 pertence ou não a A. Em outras palavras, a função g A deve satisfazer g A (x) =1 x A g A (x) =0 x A Para conjuntos de pontos muito gerais, funções características não oferecem muita ajuda porque suas representações seriam tão difíceis quanto as representações dos próprios conjuntos. Contudo, para uma interessante classe de conjuntos de pontos, g A pode ser representada em termos de uma função real analítica f de x, y e z definida em todo o IR 3. A restrição para funções analíticas nos garante a exclusão de certos objetos patológicos. Todos os pontos x =(x, y, z) tais que f é igual a zero são considerados como pertencendo ao conjunto de pontos enquanto que f menor do que zero define seu complemento (evidentemente, não haveria problema algum em 15

16 se tomar como convenção as desigualdades contrárias). Uma vez que f(x) =0 divide todo o espaço em duas partes, os conjuntos de pontos definidos por f(x) 0ef(x) 0 são denominados half-spaces. Por exemplo, as funções ax + by + cz + d 0 x 2 + y 2 r 2 0 definem dois conjuntos de pontos muito úteis, a saber, o half-space planar que consiste de todos os pontos que estão sobre ou dentro do lado positivo do plano ax + by + c + d = 0 e o half-space cilíndrico que consiste de todos os pontos que estão sobre ou dentro de um cilindro infinito com eixo de revolução dado pelo eixo z eraior. Outros half-spaces de interesse incluem as superfícies quadricas tais como a esfera e cones, e certas superfícies de maior ordem como o toro. Observe que esta coleção inclui tanto half-spaces ilimitados (como o caso do cilindro infinito acima) como half-spaces limitados (como o caso da esfera x 2 + y 2 + z 2 r 2 0) Operações booleanas Half-spaces fornecem as primitivas básicas de modelamento. Como half-spaces são conjuntos de pontos, os procedimentos naturais de modelagem para modelos half-spaces são as operações booleanas de união ( ), interseção ( ) e diferença (\). Assim, modelos half-spaces são construídos combinando-se instanciamentos de half-spaces com operações booleanas. Por exemplo, para se descrever um cilindro finito C de comprimento h, são necessários um half-space cilíndrico e dois half-spaces planares, combinados juntos com a operação : H 1 : x 2 + y 2 r 2 0 H 2 : z 0 H 3 : z h 0 C = H 1 H 2 H 3 Esta construção é ilustrada na figura (2.1). Desta maneira, uma espaço de modelagem M de um modelador half-space é a classe de combinações booleanas dos half-spaces disponíveis Representação de modelos half-spaces Como visto acima, a representação de um modelo half-space divide-se em duas partes: (1) Representação de half-spaces: O procedimento mais comum é o de representar half-spaces como instanciamentos de half-spaces base em algum sistema conveniente de coordenadas, 16

17 Figura 2.1: Modelo half-space de um cilindro finito. utilizando-se para isto, um código que descreve o tipo de half-space, uma lista de parâmetros que descreve seu tamanho e uma matriz de transformação que fornece sua localização e orientação. Como uma alternativa para este tratamento, todos os half-spaces descritos por quadricas podem ser representados através das funções f(x) =f(x, y, z) que os definem, isto é, uma vez que f(x, y, z) = [ x y z 1 ] A 11 A 12 A 13 A 14 A 21 A 22 A 23 A 24 A 31 A 32 A 33 A 34 A 41 A 42 A 43 A 44 podemos armazenar os 16 coeficientes A ij ou os 10 coeficientes resultantes calculando-se as multiplicações acima. (2) Representação de combinações booleanas de half-spaces: Uma possibilidade para este tipo de representação resulta do fato que toda expressão booleana pode ser escrita na forma soma de produtos, mais especificamente, um sólido S é expresso na forma S = i H ij j onde os H ij denotam os half-spaces individuais de S Propriedades dos modelos half-spaces Temos: (1) Poder de expressão: O poder de expressão de um modelador half-space é determinado pela selação dos half-spaces disponíveis. e da generalidade das operações presentes para x y z 1 17

18 combiná-los. Tipicamente, modeladores desta classe incluem half-spaces que são dados por quadricas (planos, superfícies cilíndricas, cônicas, esféricas, etc.) e, em algumas vezes, até mesmo um toro. (2) Validade: Half-spaces são conjuntos de pontos não limitados. Mesmo uma combinação deles pode ser ilimitada e, assim, nem todas combinações são sólidos válidos (se apenas varieades limitadas são admitidas). (3) Ambigüidade e unicidade: Cada combinação válida de half-spaces determina um sólido. Assim, modelos half-spaces não são ambíguos. Representações half-spaces não são únicas. (4) Linguagem de descrição: Instanciamentos e combinações de half-spaces nos levam a uma maneira relativamente simples de se descrever sólidos. Com algum esforço, se é também possível criar uma interface gráfica com o usuário. (5) Concisão: Modelos half-spaces são relativamente concisos: algumas centenas de half-spaces são usualmente suficientes para modelar partes realísticas adequadamente (dentro das limitações do espaço de modelagem). (6) Operações fechadas: Nem sempre combinações booleanas de half-spaces resultam em um sólido admissível. Introduziremos mais adiante operações booleanas regularizadas para corrigir este tipo de problema. (7) Aplicabilidade e custo computacional: Os algoritmos naturais para modelagem com o uso de half-spaces são os assim denominados algoritmos de classificação de pertinência (set membership classification). Discutiremos mais adiante esta família de algoritmos. 2.2 Constructive Solid Geometry Modelos half-spaces puros fornecem um tratamento matematicamente rigoroso e de fácil entendimento. Para usuários finais, contudo, é mais fácil operar sobre primitivas limitadas ao invés de half-spaces ilimitados. Observe também que combinações de half-spaces podem resultar em um conjunto de pontos ilimitado o que confronta nossa noção de um sólido válido. Para evitar a geração de conjuntos ilimitados, a assim denonimada Constructive Solid Geometry (CSG) fornece um maneira de se modelar sólidos com o uso de conjunto de conjuntos limitados como primitivas Representação de modelos CSG Representaçõs CSG são árvore binárias (ordenadas). Nós intermediários representam operadores que podem ser ou movimentos rígidos ou operações booleanas regularizadas (que serão definidas mais adiante) enquanto que nós terminais (folhas) representam as primitivas. Árvores CSG podem ser definidas como se segue: árvore CSG ::= primitiva árovre CSG operaç~ao booleana árvore CSG árvore CSG movimento rígido 18

19 No esquema acima, <primitiva> é um instanciamento de uma primitiva sólida, representada através de um código que identifica o tipo da primitiva e uma seqüência de parâmetros que determina suas dimensões. <movimento rígido> denota ou uma translação ou uma rotação e, finalmente, < operaç~ao booleana> é uma das operações booleanas, e \. Desta maneira, primitivas são representadas como folhas de uma árvore CSG enquanto que nós interiores representam ou uma operação booleana ou um movimento rígido. Segundo este ponto de vista, tais operações e movimentos são interpretados como operando sobre árvores CSG. Cada primitiva é escolhida de modo a definir um conjunto limitado do IR 3. Como o conjunto de operações disponíveis não destrói o fato dos conjuntos serem limitados, modelos CSG sempre produzirão conjuntos limitados. O fácil uso de um modelador CSG depende muito da coleção de primitivas disponíveis. Por exemplo, a figura (2.2) exibe três coleções de primitivas. Observe como a coleção (a) inclui várias arestas para ajudar na modelagem de formas arrendondadas que são frequentemente necessárias em partes mecânicas. Note que todas as primitivas da figura podem ser expressas como uma combinação booleana de half-spaces simples (neste caso, planos e cilindros). O domínio de uma modelador CSG depende da variedade de half-spaces disponíveis em suas primitivas e dos movimentos rígidos e operações booleanas disponíveis. Observe que apesar das três coleções da figura (2.2) possuírem primitivas distintas, todas as três definem um mesmo domínio. Operações booleanas regularizadas Algumas combinações de primitivas CSG (ou half-spaces) não constituem variedades construtíveis. Considere, por exemplo, o caso da figura (2.3). De acordo com a definição ordinária de operações booleanas, a interseção dos dois objetos consiste de um objeto retangular mais um segmento de reta. Sobre a ótica de caracterização de sólidos como conjunto de pontos, o problema do objeto resultante é o de que ele não é regular: o segmento de reta pendente viola a definição de regularidade. A fim de evitar tais tipos de objetos, introduzimos a noção de operações regularizadas. Definição As operações booleanas de união,interseção e diferença regularizadas, denotadas por, e \, respectivamente, são definidas por: A B = c(i(a B)) A B = c(i(a B)) A \ B = c(i(a \ B)) onde, e \ denotam, respectivamente, as operações booleanas usuais. i( ) e c( ) denotam as operações topológicas de interior e fecho. Se primitivas CSG são escolhidas como conjuntos limitados regulares, as operações booleanas regularizadas possuem a desejável propriedade de serem algebricamente fechadas na classe de conjuntos limitados regulares. Isto é, garante-se assim que toda árvore CSG constitui um conjunto limitado regular. 19

20 (a) (b) (c) Figura 2.2: Três coleções de primitivas CSG. 20

21 A B A B Figura 2.3: Uma operação booleana não regular Algoritmos para modelos CSG As árvores CSG podem ser vistas como descrições implícitas da geometria do sólido modelado que devem ser analizadas, de alguma maneira, a fim de se criar uma saída gráfica ou se efetuar cálculos. A estrutura da árvore CSG sugere o uso da técnica dividir e conquistar cuja idéia básica éo de dividir o problema em duas partes, recursivamente resolver cada uma delas e unir os resultados parciais de modo a se obter uma solução global. A recursãoterminaquandooproblemafoi subdividido em partes primitivas que permitem uma solução direta. Quando aplicado a uma árvore CSG, a maneira natural de se subdividir o problema éo de processar as sub-árvores de cada nó interior(quenocasoconstituiumaoperação booleana) separadamente. A recursão termina nas folhas onde o problema é resolvido para primitivas. Soluções dos subproblemas são então combinadas segundo a operação booleana em questão Propriedades de modelos CSG Temos: (1) Poder de expressão: Depende da classe de primitivas (ou half-spaces) disponíveis. (2) Validade: Toda árvore CSG reprenta um sólido admissível desde que primitivas válidas (isto é, primitivas limitadas) sejam consideradas e apenas operações booleanas regularizadas sejam aplicadas. (3) Ambigüidade e unicidade: Toda árvore CSG modela um sólido sem ambigüidade. Não existe unicidade. (4) Linguagem de descrição: Usualmente linguagem textual. É possível se incluir uma interface gráfica em um modelador CSG. (5) Concisão: Árvores CSG são, em princípio, relativamente concisas. Em modeladores práticos, elas tendem a crescer quando outras informações, que ajudam na eficiência de operações gráficas, são incluídas na árvore CSG básica. 21

22 (6) Operações fechadas: Operações booleanas regularizadas são algebricamente fechadas para árvores CSG. (7) Aplicabilidade e custo computacional: O poder computacional de algums algoritmos CSG importantes é pobre. Os algoritmos de dividir e conquistar geralmente conduzem a algoritmos eficintes embora árvores CSG mal balanceadas possam prejudicar a eficiência de tais algoritmos. 2.3 Classificações de pertinência Os assim denominados algoritmos de classificação de pertinência (set membership classification algorithms) são uma classe particularmente útil de algoritmos baseados na técnica de dividir e conquistar. Em termos gerais, um tal algoritmo age sobre dois conjuntos de pontos, a saber, o conjunto candidato C e o conjunto de referência R. O algoritmo deve classificar C com relação a R formando três conjuntos CinR, ConR e CoutR representando as partes de C no interior, na fronteira e no exterior de R, respectivamente. Por exemplo, o algoritmo para se classificar um segmento de reta finito (uma aresta ) com relação a uma árvore CSG pode ser visto segundo esta idéia geral tomando-se como conjuntos: C: umaarestae dada em termos de um par de n-uplas ordenadas. R: umaárvore CSG S. CinR, ConR, CoutR: os conjuntos EinS, EonS e EoutS consistindo cada um de subsegmentos de E tais que EinS EonS EoutS = S e que representam, respectivamente, os pontos de E que estão no interior, na fronteira e no exterior de S. Outros exemplos de classificação de pertinência são dados por classificação ponto/sólido, classificação face/sólido, etc Propagação para baixo A classificação ponto/sólido é naturalmente implementada como um conjunto de procedimentos recursivos mas ela pode ser pensada, de uma maneira mais simples, como passando mensagens através dos nós da árvore. No início, as coordenadas dos pontos são enviadas a partir da raiz da árvore. Dali, elas são propagadas em direção às folhas, possivelmente alteradas. Em cada folha, as coordenadas finais descrevem o mesmo ponto mas com relação ao sistema de coordenadas locais da primitiva que a folha representa. Na folha, classificamos o ponto como in, on ou out dependendo se o ponto está nointerior, nafronteiraounoexteriordaprimitiva. Estaclassificação é devolvida para a raiz. Em um nó intermediário, os resultados das subárvores são combinados. Assim, a primeira fase do algoritmo pode ser descrita como se segue. (1) Se o ponto (x, y, z) chega em um nó que define uma operação booleana, então ele é passado inalterado para os nós descendentes. 22

23 (2) Se o ponto (x, y, z) chega em um nó que define uma translação ou rotação, a translação ou rotação inversa é aplicada em (x, y, z) fornecendo um novo ponto (x,y,z )queéenviado para nós descendentes. (3) Se o ponto (x, y, z) chega em uma folha, entãoopontoé classificado com relação a primitiva e esta classificação é devolvida para o pai da folha Propagação para cima Na segunda fase do algoritmo as mensagens contendo a classificação do ponto devem ser combinadas segundo as operações booleanas que definem os nós intermediários. Nenhum trabalho é realizado em nós que representam translações ou rotações. A tabela (2.1) mostra o que deve ser feito para nós que representam uma união ou uma interseção. in on out in in in in on in on? on out in on out in on out in in on out on on on? out out out out out Tabela 2.1: Combinação de vizinhanças para união e interseção Vizinhanças Implementado desta maneira, o algoritmo estará incorreto. Considere, por exemplo, os exemplos dados na figura (2.4). O problema aqui é a classificação dos pontos que estão sobre a fronteira da superfície da primitiva. Estes pontos podem estar sobre uma região da superfície da primitiva que permanecem sobre a superfície do sólido descrito pela árvore, e então a tabela fornece um resultado correto. Se, contudo, o ponto está em uma região da superfície que não está na superfície A A B B Figura 2.4: Ambigüidade no caso on-on. final do objeto, então a tabela fornece um resultado incorreto. O que se faz necessário para resolver este tipo de problema é o de descrever a geometria local na vizinhança do ponto. Isto pode 23

24 ser feito com a informação adicional da vizinhança do ponto. Não entraremos em detalhes sobre a incorporação de vizinhanças na estrutura de dados para se resolver este tipo de ambigüidade. Sugerimos ao leitor o artigo de Robert Bruce Tilove, Set Membership Classification: A Unified Approach to Geometric Intersection Problems, IEEE Transactions on Computers, Volume C-29, número 10, páginas

25 Capítulo 3 Modelos baseados em superfícies Se faz preciso referenciar certas propriedades da superfície de um sólido a fim de evitar determinadas anomalias que ocorrem quando somente do uso de teoria de conjuntos. De fato, é perfeitamente possível caracterizar espaços de modelagem apenas através das propriedades destas superfícies. A caracterização de sólidos baseados em suas superfícies toma a fronteira de um objeto sólido. Esta é composta de uma coleção de faces que são coladas a fim de formar uma pele completa do objeto. Para podermos falar rigorosamente destes procedimentos informais e enunciar explicitamente sobre quais condições obtemos um sólido satisfazendo nossa noção de construtibilidade, usaremos os conceitos desenvolvidos em outro ramo da topologia, a saber, topologia algébrica. 3.1 Variedades bidimensionais Intuitivamente, uma superfície pode ser considerada como um conjunto de IR 3 que é essencialmente bidimensional : todo ponto da superfície (exceto pontos sobre uma aresta de bordo) estão no interior de uma região bidimensional de pontos da superfície. A bidimensionalidade da superfície significa que podemos estudar suas propriedades através de um modelo plano. Primeiro, definiremos mais abstratamente (e mais rigorosamente) o que entendemos por superfície e então construiremos um modelo simples para ela em termos de uma topologia especial definida no espaço euclidiano IR 2. Definição Uma variedade bidimensional M éumespaço topológico onde todo ponto possui uma vizinhança que é topologicamente equivalente a um disco aberto do IR 2. Intuitivamente, um inseto vivendo em M vê em torno de si uma região contínua simples. Esta noção pode ser perfeitamente aplicada em nosso caso e o planeta Terra. De fato, a superfície de uma esfera é uma variedade bidimensional. 3.2 Limitações de modelos em variedades Seja A um conjunto regularizado e limitado. Se uma variedade bidimensional M e a fronteira de A, (A), são topologicamente equivalentes, dizemos que A éumarealização de M em IR 3. 25

26 Como veremos em breve, a classe de variedades bidimensionais que possuem pelo menos uma realização pode ser caracterizada precisamente. Denominaremos tais varieades bidimensionais de realizáveis. Infelizmente, nem todos conjuntos regularizados e limitados são realizações de alguma variedade bidimensional. A figura (3.1) ilustra alguns destes conjuntos. O problema com todos estes objetos é que suas superfícies tocam-se em um ponto ou sobre um segmento de curva. As vizinhanças de tais pontos não são discos, como requerido pela definição (3.1.1). Por exemplo, a vizinhança do ponto problema na figura (3.1) (a) consiste de dois discos. Assim, existe uma incompatibilidade natural entre modelos em conjuntos regularizados limitados e modelos em variedades. Para propósitos práticos, objetos como os da figura (3.1) podem ser representados indiretamente ignorando-se os pontos e segmentos de retas excepcionais. Desta maneira, o objeto da figura (3.1) (a) seria representado como uma combinação rígida de duas componentes. 3.3 Modelos planos de variedades bidimensionais Para estabelecer condições suficientes para que uma variedade seja realizável necessitaremos de um mecanismo que possa representar todas as variedades bidimensionais de maneira a nos permitir elaborar sobre suas propriedades. Para este propósito, usaremos os modelos planos. Para ilustrar a idéia básica da representação vamos considerar primeiro um exemplo simples. A figura (3.2) representa um polígono de quatro lados enquanto que (b) representa a superfície cilíndrica obtida colando-se em (a) as duas arestas nomeadas com α. Aidéia básica do que se segue é empregar uma figura plana nomeada (como o retângulo em (a)) a fim de elaborarmos sobre as propriedades de uma superfície (o cilindro). Isto éfeito definindo-se uma topologia especial na figura plana. Na topologia natural do IR 2, as vizinhanças de um ponto são todas discos abertos de algum raio r em torno do ponto. O mesmo ocorre na topologia especial que usaremos, exceto para pontos sobre arestas nomeadas. Para estes, vizinhanças consistem da união de dois semidiscos em torno de pontos simétricos sobre a aresta (veja figura (3.2) (a)). Para esta topologia especial, pontos simétricos sobre arestas possuem as mesmas vizinhanças, a saber, as vizinhanças circulares que elas possuiriam se arestas sob um mesmo nome fossem coladas. Tais pontos são distos estarem topologicamente identificados esão tratados como um único ponto. Observe que, agora, todos os pontos do cilindro de (a), exceto aqueles sobre arestas não nomeadas, possuem vizinhanças topologicamente equivalentes a um disco de IR 2.Porcausa destes pontos excepcionais, o cilindro é denominado uma superfície com bordo. Outros exemplos de modelos planos são dados na figura (3.3). O modelo plano de uma esfera é obtido simplesmente identificando-se os pontos correspondentes das arestas nomeadas em (a); a bola de futebol americano é quase um perfeito exemplo prático deste procedimento. O prosseguimento natural da figura (3.2) é o modelo de um toro em (b). Ele é criado identificandose as arestas de cima e de baixo do modelo plano do cilindro (pense em curvar um cilindro até que suas extremidades se toquem). Note agora que todas as vizinhanças são discos completos e, superfícies onde isto ocorre são denominadas superfícies sem bordo. Ocaso(c)dá outra variação da figura (3.2): aqui a orientação das arestas identificadas foram trocadas produzindo o modelo da bem conhecida faixa de Möbius. 26

27 (a) (b) (c) Figura 3.1: Sólidos cujas superfícies não são variedades topológicas. 27

28 α α α α (a) (b) Figura 3.2: Uma superfície cilíndrica. 3.4 Definição formal de modelos planos A fim de tratarmos de modelos planos mais complicados, é necessário formalizar a definição intuitiva dada acima. Começaremos definindo identificação de arestas: Definição Sejam P uma coleção de polígonos e a 1,a 2,... uma coleção de arestas destes polígonos. Estas arestas são ditas estarem identificadas quando uma nova topologia é definida em P como se segue: (1) Cada aresta possui uma orientação de uma extremidade para outra e está colocada em correspondência topológica com o intervalo unitário de modo que os pontos iniciais de todas as arestas correspondam a 0 e pontos finais a 1. (2) Os pontos sobre as arestas a 1,a 2,... que correspondem a um mesmo valor do intervalo unitário são tratados como um único ponto. (3) As vizinhanças da nova topologia em P são discos inteiramente contidos em um único polígono mais a união de semidiscos cujos diâmetros são intervalos sobre pontos correspondentes nas arestas a 1,a 2,... Em outras palavras, na nova topologia as arestas identificadas a 1,a 2,... são tratadas como uma única aresta. Nos exemplos precedentes, a identificação de arestas foi representada colocando-se arestas identificadas sob um mesmo nome; setas foram usadas para indicar a orientação das arestas. A seguir definiremos a identificação de vértices: Definição Sejam P um conjunto de polígonos e p 1,p 2,... uma coleção de vértices destes polígonos. Estes vértices são ditos estarem identificados quando uma nova topologia é definida em P na qual esta coleção de vértices é tratada como um único ponto e vizinhanças são definidas como discos inteiramente contidos em uma única face mais a união de setores de discos em torno 28

29 α β α α β α (a) (b) α α (c) Figura 3.3: Outras superfícies: (a) esfera, (b) toro e (c) faixa de Möbius. de cada um dos pontos p 1,p 2,... No caso de alguma das arestas encontrando um destes vértices estar identificada, os setores formando uma vizinhança em p 1,p 2,... deve conter os intervalos sobre estas arestas. Se a coleção de vértices p 1,p 2,...estão identificados diremos que os respectivos polígonos r 1,r 2,... estão identificados na mesma coleção. Modelos planos podem agora ser definidos rigorosamente: Definição Um modelo plano é um grafo planar {N,A,R} com um número finito de vértices N = {n 1,n 2,...,n u },arestasa = {a 1,a 2,...,a v } epolígonos R = {r 1,r 2,...,r t } constituidos das arestas e vértices dados em N e A, respectivamente. Cada polígono do grafo possui uma certa orientação em suas arestas e vértices. Polígonos, arestas e vértices do grafo são nomeados; se uma coleção de arestas ou vértices possui o mesmo nome, eles são considerados estando identificados de acordo com as definições (3.4.1) e (3.4.2). A figura (3.4) (a) ilustra a definição acima. Na figura, arestas e vértices com nomes correspondentes estão identificados. Assim, por exemplo, as vizinhanças de cada ponto na aresta com nome e 1, consistem de dois semidiscos, e a vizinhança do vértice v 1 consiste de quatro setores de disco. Por simplicidade, desenharemos modelos planos em uma forma condensada tal como em (b), onde algumas arestas identificadas foram escritas como uma única e seus nomes não foram incluídos. Analogamente, podemos desenhar uma coleção de vértices identificados como um único 29

30 v 1 v 1 v 5 v 5 e 1 e 6 e 4 7 v 4 v 4 v 5 e 1 e 2 e 6 v 4 e 4 e 5 e 5 v2 v 2 v 2 6 e 3 e 7 v 3 v 3 e7 e 3 e 3 v 1 (a) e 5 e 8 e 2 v 1 v 1 e 1 e 1 e 2 6 e 2 v 1 e 7 4 e 3 e 4 v 1 v 1 (b) e 3 Figura 3.4: Modelos planos de uma pirâmide. ponto. Note que a figura (3.4) (a) e (b) representam a mesma estrutura {N,A,R} e, então, o mesmo modelo plano. Incluiremos o polígono infinito exterior no desenho de um modelo plano quando conveniente. 3.5 Modelos planos realizáveis Podemos finalmente concentrar nossa atenção sobre as condições necessárias para que um modelo plano seja realizável Subdivisões de uma superfície Identificações topológicas como definidas acima podem produzir vizinhanças que não são discos e, portanto, não satisfazem a definição de variedade topológica bidimensional. Para excluir tais casos, vamos restringir a identificação de modelos planos: Definição Um modelo plano é uma subdivisão de uma superfície se as seguintes condições são obedecidas na identificação de sua arestas e vértices: (1) Toda aresta está identificada com exatamente uma outra. (2) Para cada coleção de vértices identificados, os polígonos identificados nesta coleção podem ser arranjados em um ciclo de tal maneira que cada par de polígonos consecutivos no ciclo está identificado na aresta adjacente ao vértice da coleção. 30

31 Observe que a aresta v2 v5 nafigura(3.4) (b) representa o par de arestas com nome e5 em (a); então, v2 v5 satisfaz a primeira condição. Ela, assim, não permite objetos como os da figura (3.1) (b) (onde quatro arestas foram identificadas). A segunda condição garante que as vizinhanças combinadas de cada grupo identificado de vértices é um disco; por exemplo, os seis polígonos identificados na figura (3.1) (a) não podem ser arranjados em um ciclo simples Orientabilidade Existem variedades bidimensionais que não possuem um modelo em IR 3,istoé, não podem ser construidas no espaço tridimensional e, assim, não representam a fronteira de conjunto algum regularizado e limitado. Por exemplo, a garrafa de Klein, representada pelo modelo plano da figura (3.5), é uma tal superfície. Estas variedades não realizáveis podem ser distinguidas das e2 e1 e1 e2 (a) (b) realizáveis pelo conceito de orientabilidade: Figura 3.5: A garrafa de Klein. Definição (Regra de Möebius) Um modelo plano éorientável se as direções de seus polígonos podem ser escolhidas de modo que para cada par de arestas identificadas, uma aresta ocorre em sua orientação positiva na direção escolhida para seu polígono, e a outra em sua direção negativa. No que se segue, estaremos interessados em modelos planos orientáveis somente quando eles correspondem com superfícies que podem ser realizadas em IR 3,istoé, que podem formar a fronteira de conjuntos regularizados e limitados. Como pode ser visto da definição acima, para garantir que um modelo plano seja realizável é suficiente que todos os polígonos estejam consistentemente orientados (ou seja, todos os polígonos esteja orientados, digamos, no sentido dos ponteiros do relógio exceto o polígono infinito exterior que é orientado na direção contrária). Intuitivamente, modelos planos realizáveis podem ser desenhados sobre um conjunto regularizado e limitado sem se cruzar as arestas. Uma maneira mais rigorosa de se expressar isto 31

32 é observar que pontos e abertos do modelo plano podem ser aplicados em pontos e abertos de um conjunto regularizado e limitado através de uma aplicação contínua. Na prática, preferimos as aplicações que podem ser representadas atribuindo-se informações geométricas (tais como valores das coordenadas, equações das curvas e equações das superfícies) para vértices, arestas e polígonos do modelo plano. 3.6 A característica de Euler Considere o cubo da figura (3.6) (a). Ele tem um total de f = 6 faces, e =12arestasev =8 vértices (onde vértices e arestas identificadas contam como um). Observe que o modelo plano inclui o polígono infinito exterior e que todas as arestas estão identificadas. Claramente, a mesma superfície podem ser modelada em termos do modelo modificado (b), obtido trocando-se uma face quadrada de (a) por dois triângulos. O novo modelo possui uma face e uma aresta adicionais, ou um novo total de f = 7 faces e e =13arestas. Os dois modelos planos representam um mesmo objeto, a saber, uma superfície topologicamente equivalente a esfera. O seguinte teorema fornece uma propriedade fundamental relacionada com estas divisões. Teorema Seja S uma superfície dada como um modelo plano e sejam v, e, f onúmero de vértices, arestas e faces no modelo plano. Entãoasomav e + f é uma constante que não depende da maneira na qual S foi subidividada a fim de formar o modelo plano. Esta constante é denominada a característica de Euler e é denotada por χ(s). Para nossos propósitos, este teorema de invariância é um dos resultados centrais em topologia algébrica. Sua demonstração está fora do escopo destas notas mas é fácil verificar sua validade em exemplos: para o cubo original temos e, depois da modificação, χ = v e + f = = 2 χ = v e + f = = 2 como esperado. Não importa como façamos a subidivsão de um modelo plano, a característica de Euler permanece a mesma Os números de Betti Ateoriadehomologia nos diz que a característica de Euler pode ser expressa como χ = h 0 h 1 + h 2 (3.1) onde h 0, h 1 e h 2 são denominados os números de Betti do modelo plano. A equação (3.1) é denominada fórmula de Euler-Poincaré. Os números de Betti podem ser calculados através de técnicas de teoria de grupos; contudo, isto está além do escopo de nossos interesses. Ao invés disto, vamos elaborar sobre o significado 32

33 (a) (b) Figura 3.6: Modelos de um cubo. 33

34 topológico dos números de Betti. O segundo número de Betti h 2 revela a orientabilidade da superfície e é igual a h 0 para os tipos de superfícies que estamos interessados. Uma superfície arbitrária é sempre a união de um número de peças conexas denominadas componentes. O número de Betti h 0 representa justamente esta quantidade de componentes conexas. Assim, para o cubo, h 0 = 1 enquanto que para o conjunto de seis bolas de tênis, h 0 =6. O primeiro número de Betti h 1 é denominado o número de conectividade da superfície. Ele diz o maior número possível de curvas fechadas que podem ser desenhadas sobre a superfície sem separá-la em duas ou mais partes. Para o cubo (ou qualquer curva topologicamente equivalente a ele) h 1 = 0 porque toda curva fechada corta sua superfície em dois pedaços. Mais intuitivamente, h 1 representa duas vezes o número de buracos no objeto. Uma rosquinha possui um buraco e para ela h 1 = 2. Assim, a característica de Euler de uma rosquinha (ou de um copo de café) é χ =1 2+1=0. O teorema de invariância pode ser generalizado para os números de Betti. Isto é, não importa como uma superfície seja dividida para formar um modelo plano, os números de Betti (e todas as características topológicas associadas a eles) continuam invariantes. Este fato será de interesse futuro e, para referência, vamos enunciá-lo como um teorema: Teorema Seja S uma superfície dada como um modelo plano. Então os números de Betti h 0, h 1 e h 2 associados ao modelo são constantes, independentes da maneira que S foi subidividida a fim de formar o modelo plano. No que se segue, usaremos uma notação mais conveniente para a fórmula de Euler-Poincaré. Denotaremos por s onúmero de superfícies conexas ou cascas dado por h 0. Analogamente, h, ogenus da superfície (ou a soma dos genus de todas as componentes do modelo) éusado para denotar o número de buracos e é definido por h 1 /2. Com esta notação, a fórmula de Euler-Poincaré pode ser escrita em termos de variáveis mais familiares como v e + f =2(s h). (3.2) 3.7 Superfícies com bordo Como vimos nas seções precedentes, variedades bidimensionais orientáveis coincidem com o conceito informal de superfícies físicas sem bordo. Algumas vezes, contudo, gostaríamos de lidar também com superfícies que não necessariamente delimitam um sólido. Este é o caso, por exemplo, da superfície cilíndrica ilustrada na figura (3.2). Seu modelo plano pode ser caracterizado por algumas arestas que não foram identificadas. Estas arestas formam o bordo da superfície daí o termo superfícies com bordo. Superfícies com bordo podem ser pensadas como criadas de suas versões sem bordo cortandose fora alguns polígonos. Por exemplo, um cilindro é criado removendo-se dois discos de uma esfera. Começamos com um modelo plano de uma esfera em (a) que é modificado removendo-se dois polígonos resultando no modelo do cilindro. Usando esta ferramenta mental, a teoria de superfícies sem bordo pode ser facilmente estendida para superfícies com bordo. Por exemplo, para calcular a característica de Euler de 34

35 uma superfície com b componentes de bordo, procedemos adicionando-se b novos polígonos ao seu modelo plano de modo a formar uma superfície sem bordo. Claramente, a característica de Euler da superfície emendada é χ = v e + f + b. Assim, para uma superfície com b componentes de bordo, a fórmula de Euler-Poincaré (3.2) pode ser escrita como v e + f =2(s h) b. (3.3) 3.8 Dualidade O dual de uma grafo planar é construido atribuindo-se um vértice dual para cada polígono do grafo original e unindo-se cada par de vértices duais com uma aresta dual se os correspondentes polígonos originais compartilhavam uma aresta (possivelmente através de uma identificação). Desta maneira, polígonos duais estão em correspondência com os vértices originais. Usando este procedimento, é fácil converter um modelo plano de uma superfície em seu modelo plano dual. Um exemplo de um modelo plano e seu dual é dado na figura (3.7). Observe que o modelo dual (b) incluir o polígono infinito exterior v 1. (a) (b) Figura 3.7: Um modelo plano e seu dual. Note que polígonos e arestas do modelo plano dual estão orientados. Para explicar como a orientação do modelo plano dual é escolhida, vamos assumir que o modelo original está convenientemente orientado. Primeiro, usamos a convenção de que cada aresta dual está orientada na direção do vértice dual que corresponde ao polígono original na qual a aresta ocorre em sua orientação positiva. Isto determina de maneira única a orientação de cada aresta dual. Direções dos polígonos duais são escolhidas pela seguinte regra: 35

36 Suponha que v, e, v e e denotamumvértice original, uma aresta adjacente a ele, opolígono dual correspondente a v e o dual de e, respectivamente. Se v éoponto final de e, a orientação de v é escolhida de modo que e é percorrida no seu sentido positivo, caso contrário, a orientação oposta é escolhida. Sob esta regra, a orientação dos polígonos duais será consistente. Mais ainda, o dual de um modelo dua será idêntico ao modelo original. Definimos a orientação cíclida das arestas em torno de um vértice como a orientação correspondente as arestas duais no polígono dual do vértice. Note ainda que o dual é uma subdivisão de superfície porque cada uma de suas arestas está identificada com exatamente uma outra. Nosso interesse em dualidade deve-se ao seguinte: Lema Todas as propriedades topológicas de um modelo plano são preservadas em seu dual. Em particular, os números de Betti e a característica de Euler χ de um modelo plano e seu dual são iguais. 3.9 Resumo Podemos resumir o longo desenvolvimento feito acima como se segue: a superfície de um sólido pode ser rigorosamente modelada em termos de um grafo planar com uma topologia especial. Baseado no grafo podemos deduzir propriedades topológicas da superfície tais como orientabilidade, conectividade e o número de buracos. Tais propriedades estão compactamente expressas na fórmula de Euler-Poincaré. Naturalmente, para os propósitos de modelagem de sólidos, nosso interesse primeiro é o de modelos planos realizáveis, isto é, modelos que podem ser colocados como bordo de um conjunto regularizado limitado. Como veremos posteriormente, a teoria aqui desenvolvida nos permitirá derivar operações de manipulação sobre modelos planos que sempre resultarão em representações realizáveis sendo geral o suficiente para incluir todos modelos de interesse. 36

37 Capítulo 4 Modelos de Contorno Modelos de decomposição e modelos construtivos consideram sólidos como conjuntos de pontos, procurando representá-los através de discretizações ou como combinações (operações booleanas, por exemplo) de conjuntos mais simples. Em contraste com estes modelos, modelos de contorno (boundary models) representam um sólido inderetamente, valendo-se da representação de sua superfície. 4.1 Conceitos básicos Historicamente, modelos de contorno surgiram dos modelos poliedrais usados em computação gráfica para representar objetos com remoção de linhas escondidas. Eles podem ser vistos como um aprimoramento dos modelos gráficos que tentaram superar os problemas dos modelos gráficos antigos incluindo uma descrição completa da superfície do objeto. Modelos de contorno representam um objeto dividindo sua superfície em uma coleção de faces de alguma maneira conveniente. Usualmente, esta divisão érealizadademodoqueaformade cada face possua uma representação matemática compacta, em geral, que a face esteja sobre uma superfície planar, quadrática, toroidal ou paramétrica. A fim de garantir que a subdivisão corresponda a um modelo plano válido, exigem-se certos critérios topológicos que serão discutidos mais adiante. Aporção da superfície que forma a face é demarcada em termos de uma curva fechada que está sobre a superfície. Uma face pode ter várias curvas como fronteira desde que elas definam um objeto conexo. Isto é, uma face é como um continente que pode possuir lagos. Contudo, ilhas em lagos não fazem parte da face. A definição de face é ilustrada na figura (4.1). Nesta figura, os casos (a) e (c) constituem conjuntos bidimensionais não conexos e, portanto, representam duas faces distintas. Os casos (d) e (e) representam faces cujos bordos tocam a si mesmos. Usualmente (d) seria considerada como uma face enquanto que (e) representaria duas. Observe que o interior de (d) é conexo enquanto o de (d) não é. O caso (c) é uma face com duas curvas de bordo. Por sua vez, as curvas de bordo de uma face são representadas através de uma divisão em arestas. Em analogia ao que foi feito acima, arestas devem ser escolhids de modo a ter uma representação conveniente, digamos, uma equação paramétrica. A parte da curva que forma a aresta é demarcada em termos de dois vértices. 37

38 (a) (b) (c) (d) (e) Figura 4.1: Definição de uma face. A figura (4.2) ilusta os componentes básicos de um modelo de contorno. Na figura, a superfície do objeto está dividida em um conjunto de faces (a), cada uma dasquais é representada em termos de seu polígono de bordo (b), que por sua vez é representado em termos de arestas e vértices (c). 4.2 Estrutura de dados em modelos de contorno Os três tipos de objetos face, aresta e vértice e as informações geométricas associadas a elas formam os constituintes básicos de modelos de contorno. Além de informações geométricas tais como equações das faces e curvas de bordo e coordenadas dos vértices, um modelo de contorno deve também representar como faces, arestas e vértices estão relacionados um com os outros. É costumeiro colocar toda informação da geometria das entidades sob o termo de geometria de um modelo de contorno e, analogamente, toda informação de interconexão entre elas sob o termo topologia. Todos modelos de contorno representam faces em termos de nós explícitos de uma estrutura de dados de bordo. Fora isto, muitas alternativas para se representar a geometria e topologia de um modelo de contorno são possíveis, algumas das quais são descritas abaixo. Por motivo de simplicidade, ilustraremos estas representações alternativas em termos do bloco da figura (4.3). 38

Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 7. Iluminação

Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 7. Iluminação Computação Gráfica Engenharia de Computação CEFET/RJ campus Petrópolis Prof. Luis Retondaro Aula 7 Iluminação Histórico Modelagem por arames (wireframes). Representa os objetos por arestas e pontos sobre

Leia mais

Histórico. Estado da Arte. Histórico. Modelagem de Objetos. Modelagem por arames (wireframes). Modelagem por superfícies (década de 60).

Histórico. Estado da Arte. Histórico. Modelagem de Objetos. Modelagem por arames (wireframes). Modelagem por superfícies (década de 60). Histórico Modelagem de Objetos Renato Ferreira Modelagem por arames (wireframes). Representa os objetos por arestas e pontos sobre a sua superfície. Gera modelos ambíguos. Modelagem por superfícies (década

Leia mais

Introdução à Computação Gráfica Modelagem. Claudio Esperança Paulo Roma Cavalcanti

Introdução à Computação Gráfica Modelagem. Claudio Esperança Paulo Roma Cavalcanti Introdução à Computação Gráfica Modelagem Claudio Esperança Paulo Roma Cavalcanti Histórico Modelagem por arames (wireframes). Representa os objetos por arestas e pontos sobre a sua superfície. Gera modelos

Leia mais

Modelagem Geométrica: Boundary Representation

Modelagem Geométrica: Boundary Representation Modelagem Geométrica: Boundary Representation Prof. Dr. André Tavares da Silva Gabriel Caixeta Silva caixetasilva@hotmail.com Prof. Dr. Marcelo da Silva Hounsell PPGCA UDESC 2017/01 Introdução Modelagem

Leia mais

Modelagem Geométrica. André Tavares da Silva. Capítulo 12 do Foley Capítulo 4 de Azevedo e Conci Capítulo 11 de Mortenson

Modelagem Geométrica. André Tavares da Silva. Capítulo 12 do Foley Capítulo 4 de Azevedo e Conci Capítulo 11 de Mortenson Modelagem Geométrica André Tavares da Silva andre.silva@udesc.br Capítulo 12 do Foley Capítulo 4 de Azevedo e Conci Capítulo 11 de Mortenson Representações Decomposição Espacial Quadtrees Octrees BSPtree

Leia mais

Computação Gráfica - 11

Computação Gráfica - 11 Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica - 11 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav

Leia mais

Modelação de Sólidos. Sistemas Gráficos/ Computação Gráfica e Interfaces FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

Modelação de Sólidos. Sistemas Gráficos/ Computação Gráfica e Interfaces FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO Modelação de Sólidos Sistemas Gráficos/ Computação Gráfica e Interfaces 1 Modelação de Sólidos Em 2D um conjunto de segmentos de recta ou curvas não formam necessariamente uma área fechada. Em 3D uma colecção

Leia mais

Computação Gráfica II

Computação Gráfica II Computação Gráfica II Representação de Objetos Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Pipeline de visualização 3D 1 Representação dos objetos Aramada (Wire frame)

Leia mais

Introdução 20. Figura 1.1 Interseção entre malhas de superfícies [8]. Figura 1.2 Caso patológico de interseção de superfícies [6].

Introdução 20. Figura 1.1 Interseção entre malhas de superfícies [8]. Figura 1.2 Caso patológico de interseção de superfícies [6]. 1 Introdução No contexto da modelagem geométrica para elementos finitos, a malha de elementos finitos é definida a partir da descrição geométrica do domínio do problema que está sendo estudado. Sendo assim,

Leia mais

Modelagem Geométrica

Modelagem Geométrica Modelagem Geométrica Conjunto de métodos usados para descrever a forma e outras características geométricas de um objeto Exemplo de representação em wireframe. Diferentes modelos com mesma representação

Leia mais

Modelação de Sólidos. Sistemas Gráficos/ Computação Gráfica e Interfaces FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

Modelação de Sólidos. Sistemas Gráficos/ Computação Gráfica e Interfaces FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO Modelação de Sólidos Sistemas Gráficos/ Computação Gráfica e Interfaces 1 Modelação de Sólidos Em 2D um conjunto de segmentos de recta ou curvas não formam necessariamente uma área fechada. Em 3D uma colecção

Leia mais

2 Conceitos básicos de topologia

2 Conceitos básicos de topologia 2 Conceitos básicos de topologia Neste Capítulo são introduzidos alguns conceitos básicos de topologia combinatória e da Teoria das Alças que formam a base teórica do presente trabalho. 2.1 Topologia combinatória

Leia mais

Objetos Gráficos Planares

Objetos Gráficos Planares Universidade Federal de Alagoas Instituto de Matemática Objetos Gráficos Planares Prof. Thales Vieira 2011 Objetos Gráficos Computação Gráfica é a área que estuda a síntese, o processamento e a análise

Leia mais

,,,,,,,, e são constantes com,,,, e, não todas nulas. Uma equação desse tipo é a equação de uma quádrica. Observe que a equação

,,,,,,,, e são constantes com,,,, e, não todas nulas. Uma equação desse tipo é a equação de uma quádrica. Observe que a equação Capítulo 5 As Superfícies O estudo das superfícies do espaço, iniciado com os planos no capítulo anterior, tem como sequência natural a classi cação das superfícies que podem ser expressas por equações

Leia mais

Professor: Computação Gráfica I. Anselmo Montenegro Conteúdo: - Objetos gráficos planares. Instituto de Computação - UFF

Professor: Computação Gráfica I. Anselmo Montenegro  Conteúdo: - Objetos gráficos planares. Instituto de Computação - UFF Computação Gráfica I Professor: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo: - Objetos gráficos planares 1 Objetos gráficos: conceitos O conceito de objeto gráfico é fundamental para a Computação

Leia mais

Modelo. Representação de Objetos Tridimensionais. Malhas Poligonais. Modelagem Geométrica. Modelos Geométricos

Modelo. Representação de Objetos Tridimensionais. Malhas Poligonais. Modelagem Geométrica. Modelos Geométricos Representação de Objetos Tridimensionais Malhas Poligonais Maria Cristina F. de Oliveira Rosane 2010 Modelo Representação construída artificialmente para tornar mais fácil a observação/análise de um objeto/fenômeno

Leia mais

Modelagem Geométrica. André Tavares da Silva. Mortenson 2006: Cap11.2 e 11.6 Foley

Modelagem Geométrica. André Tavares da Silva. Mortenson 2006: Cap11.2 e 11.6 Foley Modelagem Geométrica André Tavares da Silva andre.silva@udesc.br Mortenson 2006: Cap11.2 e 11.6 Foley 1996 12.5 Boundary Representation (B-rep) Representação por Superfícies Limítrofes Representação por

Leia mais

Acadêmico: Denilson Domingos Professor Orientador: Paulo César Rodacki Gomes FURB - Universidade Regional de Blumenau

Acadêmico: Denilson Domingos Professor Orientador: Paulo César Rodacki Gomes FURB - Universidade Regional de Blumenau PROTÓTIPO TIPO DE UM SISTEMA DE MODELAGEM PARAMÉTRICA DE SÓLIDOSS Acadêmico: Denilson Domingos Professor Orientador: Paulo César Rodacki Gomes FURB - Universidade Regional de Blumenau - INTRODUÇÃO - OBJETIVOS

Leia mais

SCE-201 Computação Gráfica. Representação de Objetos Tridimensionais Modelos Poligonais

SCE-201 Computação Gráfica. Representação de Objetos Tridimensionais Modelos Poligonais INSTITUTO DE CIÊNCIAS MATEMÁTICAS DE SÃO CARLOS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA SCE-201 Computação Gráfica Representação de Objetos Tridimensionais Modelos Poligonais Cenas gráficas

Leia mais

Introdução ao Processamento e Síntese de imagens -Linhas e superfícies escondidas

Introdução ao Processamento e Síntese de imagens -Linhas e superfícies escondidas Introdução ao Processamento e Síntese de imagens -Linhas e superfícies escondidas Júlio Kiyoshi Hasegawa 26 Fontes: Rogers, D. F. Procedural Elements for Computer Graphics Introdução Linhas e superfícies

Leia mais

Figura 1.1: Partição do espaço contendo a esfera S.

Figura 1.1: Partição do espaço contendo a esfera S. 1 Introdução Uma superfície é definida implicitamente quando é descrita como um conjunto de pontos com uma propriedade em comum. A formulação mais utilizada é, dada uma função F : R 3! R, descrevê-la como

Leia mais

2 Animação com Harmônicos de Variedade

2 Animação com Harmônicos de Variedade 2 Animação com Harmônicos de Variedade Hoje em dia, podemos encontrar vários métodos de visualização de música, porém muito poucos relacionam a música à deformações (ou até movimentos rígidos) de modelos

Leia mais

TÓPICO. Fundamentos da Matemática II APLICAÇÕES NA GEOMETRIA ANALÍTICA. Licenciatura em Ciências USP/ Univesp. Gil da Costa Marques

TÓPICO. Fundamentos da Matemática II APLICAÇÕES NA GEOMETRIA ANALÍTICA. Licenciatura em Ciências USP/ Univesp. Gil da Costa Marques APLICAÇÕES NA GEOMETRIA ANALÍTICA 4 Gil da Costa Marques TÓPICO Fundamentos da Matemática II 4.1 Geometria Analítica e as Coordenadas Cartesianas 4.2 Superfícies 4.2.1 Superfícies planas 4.2.2 Superfícies

Leia mais

Modelo. Modelos de Objetos por Malhas Poligonais. Modelos Geométricos. Modelagem Geométrica

Modelo. Modelos de Objetos por Malhas Poligonais. Modelos Geométricos. Modelagem Geométrica Modelo Modelos de Objetos por Maria Cristina F. de Oliveira 2009 Representação construída artificialmente para tornar mais fácil a observação/análise de um objeto/fenômeno Nível de detalhe definido pelas

Leia mais

MAT Resumo Teórico e Lista de

MAT Resumo Teórico e Lista de MAT 0132 - Resumo Teórico e Lista de Exercícios April 10, 2005 1 Vetores Geométricos Livres 1.1 Construção dos Vetores 1.2 Adição de Vetores 1.3 Multiplicação de um Vetor por um Número Real 2 Espaços Vetoriais

Leia mais

Espaços Euclidianos. Espaços R n. O conjunto R n é definido como o conjunto de todas as n-uplas ordenadas de números reais:

Espaços Euclidianos. Espaços R n. O conjunto R n é definido como o conjunto de todas as n-uplas ordenadas de números reais: Espaços Euclidianos Espaços R n O conjunto R n é definido como o conjunto de todas as n-uplas ordenadas de números reais: R n = {(x 1,..., x n ) : x 1,..., x n R}. R 1 é simplesmente o conjunto R dos números

Leia mais

Um alfabeto é um conjunto de símbolos indivisíveis de qualquer natureza. Um alfabeto é geralmente denotado pela letra grega Σ.

Um alfabeto é um conjunto de símbolos indivisíveis de qualquer natureza. Um alfabeto é geralmente denotado pela letra grega Σ. Linguagens O conceito de linguagem engloba uma variedade de categorias distintas de linguagens: linguagens naturais, linguagens de programação, linguagens matemáticas, etc. Uma definição geral de linguagem

Leia mais

Fabio Augusto Camargo

Fabio Augusto Camargo Universidade Federal de São Carlos Centro de Ciências Exatas e de Tecnologia Departamento de Matemática Introdução à Topologia Autor: Fabio Augusto Camargo Orientador: Prof. Dr. Márcio de Jesus Soares

Leia mais

Processamento de Malhas Poligonais

Processamento de Malhas Poligonais Processamento de Malhas Poligonais Tópicos Avançados em Computação Visual e Interfaces I Prof.: Marcos Lage www.ic.uff.br/~mlage mlage@ic.uff.br Conteúdo: Notas de Aula Definições preliminares 06/09/2015

Leia mais

Cálculo diferencial de Funções de mais de uma variável

Cálculo diferencial de Funções de mais de uma variável MATERIAL DIDÁTICO Professora Sílvia Victer CÁLCULO 2 Cálculo diferencial de Funções de mais de uma variável 1. Funções de mais de uma variável 2. Limites de funções de mais de uma variável 3. Continuidade

Leia mais

Representação Matemática de Sólidos

Representação Matemática de Sólidos Representação Matemática de Sólidos Altamir Dias 1 DEPTO. DE ENGENHARIA MECÂNICA Universidade Federal de Santa Catarina POSMEC-2007 1 PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA MECÂNICA 1 RMSol. - Geometria

Leia mais

APLICAÇÕES NA GEOMETRIA ANALÍTICA

APLICAÇÕES NA GEOMETRIA ANALÍTICA 4 APLICAÇÕES NA GEOMETRIA ANALÍTICA Gil da Costa Marques 4.1 Geometria Analítica e as Coordenadas Cartesianas 4. Superfícies 4..1 Superfícies planas 4.. Superfícies limitadas e não limitadas 4.3 Curvas

Leia mais

Aulas 10 e 11 / 18 e 20 de abril

Aulas 10 e 11 / 18 e 20 de abril 1 Conjuntos Aulas 10 e 11 / 18 e 20 de abril Um conjunto é uma coleção de objetos. Estes objetos são chamados de elementos do conjunto. A única restrição é que em geral um mesmo elemento não pode contar

Leia mais

Modelos de Objetos por Malhas Poligonais. Maria Cristina F. de Oliveira

Modelos de Objetos por Malhas Poligonais. Maria Cristina F. de Oliveira Modelos de Objetos por Malhas Poligonais Maria Cristina F. de Oliveira 2009 Modelo Representação construída artificialmente para tornar mais fácil a observação/análise de um objeto/fenômeno Nível de detalhe

Leia mais

Modelos de Objetos por Malhas Poligonais. Maria Cristina F. de Oliveira

Modelos de Objetos por Malhas Poligonais. Maria Cristina F. de Oliveira Modelos de Objetos por Malhas Poligonais Maria Cristina F. de Oliveira 2009 Modelo Representação construída artificialmente para tornar mais fácil a observação/análise de um objeto/fenômeno Nível de detalhe

Leia mais

2 Base Teórica. 2.1 Representação dual de uma malha quadrilateral

2 Base Teórica. 2.1 Representação dual de uma malha quadrilateral 2 Base Teórica Este capítulo tem por objetivo explicar os termos utilizados neste trabalho. Foram introduzidos alguns termos novos com o propósito de apresentar formalmente a metodologia desenvolvida.

Leia mais

Curso de Matemática Aplicada.

Curso de Matemática Aplicada. Aula 1 p.1/25 Curso de Matemática Aplicada. Margarete Oliveira Domingues PGMET/INPE Sistema de números reais e complexos Aula 1 p.2/25 Aula 1 p.3/25 Conjuntos Conjunto, classe e coleção de objetos possuindo

Leia mais

Capítulo 1. Conjuntos e Relações. 1.1 Noção intuitiva de conjuntos. Notação dos conjuntos

Capítulo 1. Conjuntos e Relações. 1.1 Noção intuitiva de conjuntos. Notação dos conjuntos Conjuntos e Relações Capítulo Neste capítulo você deverá: Identificar e escrever os tipos de conjuntos, tais como, conjunto vazio, unitário, finito, infinito, os conjuntos numéricos, a reta numérica e

Leia mais

Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 3. Transformações Geométricas

Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 3. Transformações Geométricas Computação Gráfica Engenharia de Computação CEFET/RJ campus Petrópolis Prof. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Introdução (Geometria) 2 Pontos, Vetores e Matrizes Dado

Leia mais

Aula 2 A distância no espaço

Aula 2 A distância no espaço MÓDULO 1 - AULA 2 Objetivos Aula 2 A distância no espaço Determinar a distância entre dois pontos do espaço. Estabelecer a equação da esfera em termos de distância. Estudar a posição relativa entre duas

Leia mais

Aula 9: Estouro e Representação em Ponto Flutuante

Aula 9: Estouro e Representação em Ponto Flutuante Aula 9: Estouro e Representação em Ponto Flutuante Fernanda Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Material baseado nos slides do prof. Diego Passos Fernanda

Leia mais

Computação Gráfica - 09

Computação Gráfica - 09 Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica - 9 jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav Objetos

Leia mais

Capítulo 1-Sistemas de Coordenadas, Intervalos e Inequações

Capítulo 1-Sistemas de Coordenadas, Intervalos e Inequações Capítulo 1-Sistemas de Coordenadas, Intervalos e Inequações 1 Sistema Unidimensional de Coordenadas Cartesianas Conceito: Neste sistema, também chamado de Sistema Linear, um ponto pode se mover livremente

Leia mais

Geometria Computacional

Geometria Computacional Geometria Computacional Claudio Esperança Paulo Roma Cavalcanti Estrutura do Curso Aspectos teóricos e práticos Construção e análise de algoritmos e estruturas de dados para a solucionar problemas geométricos

Leia mais

Sumário COMPUTAÇÃO GRÁFICA E INTERFACES. Modelos e modelagem. Modelos e modelagem. Transformações Geométricas e Visualização 2D

Sumário COMPUTAÇÃO GRÁFICA E INTERFACES. Modelos e modelagem. Modelos e modelagem. Transformações Geométricas e Visualização 2D Sumário COMPUTAÇÃO GRÁFICA E INTERFACES Transformações Geométricas e Visualização D Transformações geométricas Pipeline de visualização D Transformação de coordenadas Window-Viewport Recorte (Clipping)

Leia mais

Notas de Aula Álgebra Linear. Elton José Figueiredo de Carvalho Escola de Ciências e Tecnologia Universidade Federal do Rio Grande do Norte

Notas de Aula Álgebra Linear. Elton José Figueiredo de Carvalho Escola de Ciências e Tecnologia Universidade Federal do Rio Grande do Norte Notas de Aula Álgebra Linear Elton José Figueiredo de Carvalho Escola de Ciências e Tecnologia Universidade Federal do Rio Grande do Norte Versão 201608221232c de 22 de agosto de 2016 Parte I Espaços vetoriais

Leia mais

Aula 08. Estruturas de dados Árvore e Grafo

Aula 08. Estruturas de dados Árvore e Grafo Logo Aula 08 Estruturas de dados Árvore e Grafo 2 Árvore Estruturas estudadas até agora não são \ adequadas para representar dados que devem ser dispostos de maneira hierárquica Ex., hierarquia de pastas

Leia mais

Teoria Elementar dos Conjuntos

Teoria Elementar dos Conjuntos Teoria Elementar dos Conjuntos Este capítulo visa oferecer uma breve revisão sobre teoria elementar dos conjuntos. Além de conceitos básicos importantes em matemática, a sua imprtância reside no fato da

Leia mais

Álgebra Linear Semana 02

Álgebra Linear Semana 02 Álgebra Linear Semana 2 Diego Marcon 3 de Abril de 27 Conteúdo Vetores Representação matricial para sistemas Lineares 3 2 Combinações lineares de vetores 4 3 Sistemas lineares e combinações lineares das

Leia mais

Aula 9: Estouro e Representação em Ponto Flutuante

Aula 9: Estouro e Representação em Ponto Flutuante Aula 9: Estouro e Representação em Ponto Flutuante Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Estouro e Ponto Flutuante FAC 1 / 43 Revisão

Leia mais

Planificação de Matemática 9º ano. Ano letivo: 2014/15

Planificação de Matemática 9º ano. Ano letivo: 2014/15 Planificação de 9º ano Ano letivo: 01/15 Unidades Tema Total de previstas Unidade 8 (8ºano) Sólidos Geométricos 1ºP Unidade 1 Probabilidades 65 Unidade Funções Unidade 3 Equações ºP Unidade Circunferência

Leia mais

Unidade 5 - Subespaços vetoriais. A. Hefez e C. S. Fernandez Resumo elaborado por Paulo Sousa. 10 de agosto de 2013

Unidade 5 - Subespaços vetoriais. A. Hefez e C. S. Fernandez Resumo elaborado por Paulo Sousa. 10 de agosto de 2013 MA33 - Introdução à Álgebra Linear Unidade 5 - Subespaços vetoriais A. Hefez e C. S. Fernandez Resumo elaborado por Paulo Sousa PROFMAT - SBM 10 de agosto de 2013 Às vezes, é necessário detectar, dentro

Leia mais

Computação Gráfica - 09

Computação Gráfica - 09 Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica - 9 jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav Objetos

Leia mais

Processamento de Malhas Poligonais

Processamento de Malhas Poligonais Processamento de Malhas Poligonais Tópicos Avançados em Computação Visual e Interfaces I Prof.: Marcos Lage www.ic.uff.br/~mlage mlage@ic.uff.br Conteúdo: Notas de Aula : Definições Matemáticas 06/09/2015

Leia mais

3 Algoritmo para Operações Booleanas

3 Algoritmo para Operações Booleanas 3 Algoritmo para Operações Booleanas Este capítulo traz o foco principal deste trabalho, que é a apresentação de um algoritmo genérico para a realização das operações booleanas em um sistema de modelagem

Leia mais

Capítulo 1 Como motivação para a construção dos números complexos aconselha-se o visionamento do quinto do capítulo do documentário Dimensions, disponível em http://www.dimensions-math.org/ Slides de apoio

Leia mais

Teoria Elementar dos Conjuntos

Teoria Elementar dos Conjuntos Teoria Elementar dos Conjuntos Última revisão em 27 de fevereiro de 2009 Este texto é uma breve revisão sobre teoria elementar dos conjuntos. Em particular, importam-nos os aspectos algébricos no estudo

Leia mais

Matemática Discreta 10

Matemática Discreta 10 Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta 10 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br - www.univasf.edu.br/~jorge.cavalcanti 1 Muitas

Leia mais

Preliminares de Cálculo

Preliminares de Cálculo Preliminares de Cálculo Profs. Ulysses Sodré e Olivio Augusto Weber Londrina, 21 de Fevereiro de 2008, arquivo: precalc.tex... Conteúdo 1 Números reais 2 1.1 Algumas propriedades do corpo R dos números

Leia mais

Objetos Gráficos Espaciais

Objetos Gráficos Espaciais Universidade Federal de Alagoas Instituto de Matemática Objetos Gráficos Espaciais Prof. Thales Vieira 2014 Objetos Gráficos Espaciais f : U R m 7! R 3 Universo físico Objetos gráficos Representação de

Leia mais

Aula 7 - Representação e Descrição de Estruturas Bi-dimensionais. Prof. Adilson Gonzaga

Aula 7 - Representação e Descrição de Estruturas Bi-dimensionais. Prof. Adilson Gonzaga Aula 7 - Representação e Descrição de Estruturas Bi-dimensionais Prof. Adilson Gonzaga 1 Introdução Objetos ou Segmentos são representados como uma coleção de pixels em uma imagem. Para o reconhecimento

Leia mais

4. Curvas Paramétricas e Transformações 2D

4. Curvas Paramétricas e Transformações 2D 4. Curvas Paramétricas e Transformações 2D Curvas Paramétricas (fonte: Wikipédia) Em matemática, uma equação paramétrica é uma forma de representar uma curva (ou, em geral, uma superfície) como a imagem

Leia mais

MATEMÁTICA I FUNÇÕES. Profa. Dra. Amanda L. P. M. Perticarrari

MATEMÁTICA I FUNÇÕES. Profa. Dra. Amanda L. P. M. Perticarrari MATEMÁTICA I FUNÇÕES Profa. Dra. Amanda L. P. M. Perticarrari amanda.perticarrari@unesp.br Conteúdo Função Variáveis Traçando Gráficos Domínio e Imagem Família de Funções Funções Polinomiais Funções Exponenciais

Leia mais

Noções de Geometria. Professora: Gianni Leal 6º B.

Noções de Geometria. Professora: Gianni Leal 6º B. Noções de Geometria Professora: Gianni Leal 6º B. Figuras geométricas no espaço: mundo concreto e mundo abstrato Mundo concreto: é mundo no qual vivemos e realizamos nossas atividades. Mundo abstrato:

Leia mais

BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1

BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1 BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1 Na aula anterior Prova. 2 Na aula de hoje Geometria. 3 A geometria é inerentemente uma disciplina

Leia mais

Área e Teorema Fundamental do Cálculo

Área e Teorema Fundamental do Cálculo UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA CIVIL DISCIPLINA: CÁLCULO DIFERENCIAL E INTEGRAL I Área e Teorema Fundamental

Leia mais

Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens

Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens 1 Introdução Estudar computação do ponto de vista teórico é sinônimo de caracterizar

Leia mais

Busca em Regiões Ortogonais

Busca em Regiões Ortogonais Busca em Regiões Ortogonais Claudio Esperança Paulo Roma 1 O problema O problema O problema consiste em recuperar objetos tipicamente pontos que intersectam ou estão contidos numa região simples do espaço

Leia mais

Capítulo 8: O problema da parada. Decidibilidade e computabilidade. José Lucas Rangel Introdução.

Capítulo 8: O problema da parada. Decidibilidade e computabilidade. José Lucas Rangel Introdução. Capítulo 8: O problema da parada. Decidibilidade e computabilidade. José Lucas Rangel 8.1 - Introdução. Como observado no capítulo anterior, podemos substituir a definição informal de procedimento pela

Leia mais

Motivação. Representar interiores dos objectos sólidos A superfície pode não ser descrita explicitamente

Motivação. Representar interiores dos objectos sólidos A superfície pode não ser descrita explicitamente Cap.8: Estruturas Geométricas Ensino de Informática (3326) - 4º ano, 2º semestre Engenharia Electrotécnica (2287) - 5º ano, 2º semestre Engenharia Informática (2852) - 4º ano, 2º semestre 1 Motivação Representar

Leia mais

1) Seja o conjunto A = (0;1). Quantas relações binárias distintas podem ser definidas sobre o conjunto A?

1) Seja o conjunto A = (0;1). Quantas relações binárias distintas podem ser definidas sobre o conjunto A? RESUMO A relação binária é uma relação entre dois elementos, sendo um conjunto de pares ordenados. As relações binárias são comuns em muitas áreas da matemática. Um par ordenado consiste de dois termos,

Leia mais

Professor: Anselmo Montenegro Conteúdo (aula 7): - Noções de estruturas de dados topológicas. Instituto de Computação - UFF

Professor: Anselmo Montenegro  Conteúdo (aula 7): - Noções de estruturas de dados topológicas. Instituto de Computação - UFF Geometria Computacional Professor: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo (aula 7): - Noções de estruturas de dados topológicas 1 Roteiro Introdução Representação por grafos: grafo de incidências

Leia mais

Cap. 2 Conceitos Básicos em Teoria dos Grafos

Cap. 2 Conceitos Básicos em Teoria dos Grafos Teoria dos Grafos e Aplicações 8 Cap. 2 Conceitos Básicos em Teoria dos Grafos 2.1 Grafo É uma noção simples, abstrata e intuitiva, usada para representar a idéia de alguma espécie de relação entre os

Leia mais

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó

Leia mais

Arranjos. Claudio Esperança Paulo Roma LCG/UFRJ. All rights reserved.

Arranjos. Claudio Esperança Paulo Roma LCG/UFRJ. All rights reserved. Arranjos Claudio Esperança Paulo Roma 1 Arranjos Arranjos de retas e planos são a terceira estrutura em importância em GC. Arranjos de retas são coleções de retas infinitas distribuídas no plano. Arranjos

Leia mais

PCC104 - Projeto e Análise de Algoritmos

PCC104 - Projeto e Análise de Algoritmos PCC104 - Projeto e Análise de Algoritmos Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 5 de dezembro de 2017 Marco Antonio

Leia mais

Modelos Evolucionários e Tratamento de Incertezas

Modelos Evolucionários e Tratamento de Incertezas Ciência da Computação Modelos Evolucionários e Tratamento de Incertezas Aula 05 Teoria dos Conjuntos Difusos Max Pereira CONJUNTOS CLÁSSICOS Teoria dos Conjuntos é o estudo da associação entre objetos

Leia mais

Geometria Computacional

Geometria Computacional Geometria Computacional Professor: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo: - Polígonos 1 Roteiro Introdução Polígonos Teorema da Curva de Jordan Decomposição de polígonos Triangulações Estrutura

Leia mais

Árvores. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo

Árvores. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo PMR2300 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó (exceto a

Leia mais

SUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca

SUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca ÁRVORES SUMÁRIO Fundamentos Árvores Binárias Árvores Binárias de Busca 2 ÁRVORES Utilizadas em muitas aplicações Modelam uma hierarquia entre elementos árvore genealógica Diagrama hierárquico de uma organização

Leia mais

Objetos Gráficos Planares

Objetos Gráficos Planares Universidade Federal de Sergipe Departamento de Matemática Objetos Gráficos Planares Profª. Maria Andrade 2016 Objetos Gráficos Computação Gráfica é a área que estuda a síntese, o processamento e a análise

Leia mais

Geometria Descritiva 28/08/2012. Elementos Primitivos da Geometria

Geometria Descritiva 28/08/2012. Elementos Primitivos da Geometria Geometria Descritiva Prof. Luiz Antonio do Nascimento ladnascimento@gmail.com www.lnascimento.com.br A Geometria, como qualquer outra ciência, fundamenta-se em observações e experiências para estabelecer

Leia mais

ANTÔNIO LUIZ PEREIRA E SEVERINO TOSCANO MELO

ANTÔNIO LUIZ PEREIRA E SEVERINO TOSCANO MELO CONTANDO ÁREAS (O TEOREMA DE PICK) Introdução Consideremos um polígono P no plano cartesiano. Se os vértices de P têm todos coordenadas inteiras, então a Fórmula de Pick para sua área é (1) A = i+ f 1,

Leia mais

INTRODUÇÃO À TEORIA DOS CONJUNTOS1

INTRODUÇÃO À TEORIA DOS CONJUNTOS1 INTRODUÇÃO À TEORIA DOS CONJUNTOS1 TÓPICO Gil da Costa Marques 1.1 Elementos da Teoria dos Conjuntos 1.2 Introdução 1.3 Conceitos Básicos 1.4 Subconjuntos e Intervalos 1.5 Conjuntos Numéricos 1.5.1 O Conjunto

Leia mais

Minicurso: Algumas generalizaçoes do Teorema: A soma dos ângulos internos de um triângulo no plano é π - (Versão preliminar e incompleta)

Minicurso: Algumas generalizaçoes do Teorema: A soma dos ângulos internos de um triângulo no plano é π - (Versão preliminar e incompleta) Minicurso: Algumas generalizaçoes do Teorema: A soma dos ângulos internos de um triângulo no plano é π - (Versão preliminar e incompleta) Ryuichi Fukuoka: DMA-UEM 18 de outubro de 2006 1 Introdução Comecemos

Leia mais

Triangulação Mapeamento em Viewport Modelação Geométrica

Triangulação Mapeamento em Viewport Modelação Geométrica Triangulação Mapeamento em Viewport Modelação Geométrica Apontamentos CG + Edward Angel, Cap Instituto Superior Técnico Computação Gráfica 29/2 Na última aula... Iluminação e Reflexão Modelo de Iluminação

Leia mais

Introdução à Computação Gráfica Ray Tracing. Claudio Esperança Paulo Roma Cavalcanti

Introdução à Computação Gráfica Ray Tracing. Claudio Esperança Paulo Roma Cavalcanti Introdução à Computação Gráfica Ray Tracing Claudio Esperança Paulo Roma Cavalcanti Características Principais Tipicamente implementado em Software Combina um modelo de iluminação com determinação de visibilidade

Leia mais

Computação Gráfica. Representação e Modelagem

Computação Gráfica. Representação e Modelagem Computação Gráfica Representação e Modelagem Professora: Sheila Cáceres Baseado nos slides da Prof. Soraia Musse Modelagem Área da Computação Gráfica que estuda a criação de modelos dos objetos reais.

Leia mais

APLICAÇÕES DAS FÓRMULAS DE FRENET EM CURVAS PLANAS E ESFÉRICAS

APLICAÇÕES DAS FÓRMULAS DE FRENET EM CURVAS PLANAS E ESFÉRICAS APLICAÇÕES DAS FÓRMULAS DE FRENET EM CURVAS PLANAS E ESFÉRICAS Adailson Ribeiro da Silva; Carlos Rhamon Batista Morais; Alecio Soares Silva; José Elias da Silva Universidade Estadual da Paraíba; adailsonribeiro1@gmail.com;

Leia mais

Representação de Objectos. & Estruturas de Dados. ! Os modelos são cada vez mais complexos

Representação de Objectos. & Estruturas de Dados. ! Os modelos são cada vez mais complexos Representação de Objectos & Estruturas de Dados Computação Gráfica Representação de Objectos! Os modelos são cada vez mais complexos! Aumento do número de ferramentas de modelação (ex: CAD, Maya, Blender,

Leia mais

INTRODUÇÃO À TEORIA DOS CONJUNTOS

INTRODUÇÃO À TEORIA DOS CONJUNTOS 1 INTRODUÇÃO À TEORIA DOS CONJUNTOS Gil da Costa Marques 1.1 Introdução 1.2 Conceitos básicos 1.3 Subconjuntos e intervalos 1.4 O conjunto dos números reais 1.4.1 A relação de ordem em 1.5 Intervalos 1.5.1

Leia mais

Portal da OBMEP. Material Teórico - Módulo de Geometria Anaĺıtica 1. Terceiro Ano - Médio

Portal da OBMEP. Material Teórico - Módulo de Geometria Anaĺıtica 1. Terceiro Ano - Médio Material Teórico - Módulo de Geometria Anaĺıtica 1 Equação da Reta Terceiro Ano - Médio Autor: Prof Angelo Papa Neto Revisor: Prof Antonio Caminha M Neto 1 Condição de alinhamento de três pontos Consideremos

Leia mais

Material Teórico - Módulo de Geometria Anaĺıtica 1. Terceiro Ano - Médio. Autor: Prof. Angelo Papa Neto Revisor: Prof. Antonio Caminha M.

Material Teórico - Módulo de Geometria Anaĺıtica 1. Terceiro Ano - Médio. Autor: Prof. Angelo Papa Neto Revisor: Prof. Antonio Caminha M. Material Teórico - Módulo de Geometria Anaĺıtica 1 Equação da Reta Terceiro Ano - Médio Autor: Prof Angelo Papa Neto Revisor: Prof Antonio Caminha M Neto 1 Condição de alinhamento de três pontos Consideremos

Leia mais

CURVAS REGULARES E EQUAÇÕES DE FRENET. Thiago Mariano Viana ¹, Dr. Fernando Pereira Souza ²

CURVAS REGULARES E EQUAÇÕES DE FRENET. Thiago Mariano Viana ¹, Dr. Fernando Pereira Souza ² 1 CURVAS REGULARES E EQUAÇÕES DE FRENET Thiago Mariano Viana ¹, Dr. Fernando Pereira Souza ² ¹ Aluno do curso de Matemática CPTL/UFMS, bolsista do grupo PET Matemática CPTL/UFMS; ² Professor do curso de

Leia mais

Cotagem Abnt NBR 10126

Cotagem Abnt NBR 10126 Capítulo 06 Cotagem Abnt NBR 10126 O objetivo da norma NBR 10126 é fixar os princípios gerais de cotagem a serem aplicados em todos os desenhos técnicos. Aplicação Toda cotagem necessária para descrever

Leia mais

Material Teórico - Módulo: Vetores em R 2 e R 3. Operações Envolvendo Vetores. Terceiro Ano - Médio

Material Teórico - Módulo: Vetores em R 2 e R 3. Operações Envolvendo Vetores. Terceiro Ano - Médio Material Teórico - Módulo: Vetores em R 2 e R 3 Operações Envolvendo Vetores Terceiro Ano - Médio Autor: Prof. Angelo Papa Neto Revisor: Prof. Antonio Caminha M. Neto 1 Adição de vetores Na aula anterior

Leia mais

CIC 111 Análise e Projeto de Algoritmos II

CIC 111 Análise e Projeto de Algoritmos II CIC 111 Análise e Projeto de Algoritmos II Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 22 Combinatorics Binomial coefficients Catalan numbers Inclusion-exclusion Burnside

Leia mais

Departamento de Matemática

Departamento de Matemática Computação Gráfica - Evolução de Curvas e Superfícies Aluno: Vinícius Segura Orientador: Sinésio Pesco Introdução Nas últimas décadas atravessamos uma verdadeira revolução tecnológica, devido ao avanço

Leia mais