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 Geométrica Representação Estrutura de dados Operadores de Euler 2
Introdução Modelagem Geométrica É a subárea do Processamento Gráfico que estuda a simulação de formas que definem objetos do mundo real (3D); Busca modelar geometricamente modelos: Rígidos; Flexíveis; Manufaturados; Naturais; 3
Representações Construtiva Boundary Representation (B-Rep) Constructive Solid Geometry (CSG) Por decomposição Uniforme Não Uniforme 4
Boundary Representation (B-rep) Representação por superfícies limítrofes Representação por superfícies limitantes Representação por Bordos Representação por Fronteira Representação por Faces 5
Boundary Representation (B-rep) Descreve completamente objetos sólidos como uma coleção organizada de superfícies limitantes. Uma superfície limitante separa pontos que são internos e externos ao sólido. A C B 6
Boundary Representation (B-rep) model Consiste em 2 tipos de informação: Geométrica: A informação geométrica é utilizada para para definir a posição espacial, das curvas, superfícies e pontos. Topológico: Informações topológicas permitem fazer ligações entre entidades geométricas; Possui dois tipos de entidades: Entidades geométricas: ponto, curva e superfícies. Entidades topológicas: vértice, aresta, face, volume; 7
Boundary Representation (B-rep) model 8
Boundary Representation (B-rep) model As superfícies do sólido deve atender às seguintes condições: Fechadas; Orientáveis; Não auto-intersectantes; Todas conectadas; Todas limitantes do objeto; Faixa de Möbius Orientável? 9
B-Reps TIPOS Generalizados: superfícies suaves, arestas curvas Patches, retalhos ; Flexíveis; Exatas; Poliédricos: superfícies planares, arestas retas Simplificados; Eficientes; Aproximados; 10
B-Reps Poliédricos 11
B-Rep Poliédrico É um B-rep simplificado que representa um poliedro: O objeto é limitado por superfícies planares poligonais; As faces são limitadas por arestas retas; As arestas são limitada por vértices. 12
B-Rep Poliédrico Exemplos de Poliedros Simples Platônicos ou Regular Cada poliedro platônico tem um dual onde os vértice de um é o centro da face de outro. 13
B-Rep Relação de Adjacência 14
Estruturas de Dados É o modo de armazenar as informações geométricas e topológicas de um modelo. 15
Estruturas de Dados Codificação Explícita Codifica explicitamente os polígonos da superfície fornecendo uma lista de vértices com suas coordenadas F1 = ((x1,y1,z1),(x5,y5,z5),(x2,y2,z2)) F2 = ((x3,y3,z3),(x2,y2,z2),(x5,y5,z5)) F3 = ((x3,y3,z3),(x4,y4,z4 ),(x5,y5,z5)) F4 = ((x1,y1,z1 ),(x4,y4,z4 ),(x5,y5,z5)) F5 = ((x1,y1,z1 ),(x2,y2,z2 ),(x3,y3,z3),(x4,y4,z4 )) 16
Estruturas de Dados Codificação Explícita F1 = ((x1,y1,z1),(x5,y5,z5),(x2,y2,z2)) F2 = ((x3,y3,z3),(x2,y2,z2),(x5,y5,z5)) F3 = ((x3,y3,z3),(x4,y4,z4 ),(x5,y5,z5)) F4 = ((x1,y1,z1 ),(x4,y4,z4 ),(x5,y5,z5)) F5 = ((x1,y1,z1 ),(x2,y2,z2 ),(x3,y3,z3),(x4,y4,z4 )) 17
Estruturas de Dados Codificação Explícita Considerações: Vantagens É extremamente simples Desvantagem: Não considera que os vértices são compartilhados Eficiênciente: cada aresta é desenhada duas vezes na visualização 18
Estruturas de Dados Lista de Vértices Definições: Geometria: há uma lista de vértice armazenados separadamente. Topologia: as faces listam os vértices que as compõe. 19
Estruturas de Dados Lista de Vértices Lista de vértice V1 = (x1,y1,z1) V2 = (x2,y2,z2) V3 = (x3,y3,z3) V4 = (x4,y4,z4) V5 = (x5,y5,z5) Lista de Faces F1 = (V1,V5,V2) F2 = (V3,V2,V5) F3 = (V3,V4,V5) F4 = (V1,V4,V5) F5 = (V1,V2,V3,V4) 20
Estruturas de Dados Lista de Vértices Considerações: Proporciona maior economia de memória É um esquema simples e rápido. Achar adjacências é complicado As arestas são desenhadas duas vezes; Alterar as coordenadas de um vértice, todos os polígonos incidentes serão modificados. 21
Estruturas de Dados Lista de Arestas Acrescentamos uma lista de arestas definida por pares de referências à lista de vértices. A lista de faces é definida por referências às arestas que as definem, descritas na lista de arestas. Sem nenhuma redundância 22
Estruturas de Dados Lista de Arestas Para Melhorar pode-se acrescentar na lista de arestas informações sobre as faces adjacentes a uma aresta (em um número fixo de 2). 23
Estruturas de Dados Lista de Arestas Melhorada Tem-se uma lista de arestas (sem repeti-las) que indicam os vértices que as compõem Faces apontam para a lista de arestas e cada aresta inclui referência (de volta) para as duas faces que compartilham uma aresta (redundância) Facilita entretanto, a determinação das duas faces incidentes na aresta 24
Estruturas de Dados Winged-Edge (WE) Uma estrutura de dados que armazenam mais informações topológicas; Facilita a busca dos elementos relacionados; Facilita a validação topológica; Armazena informação na estrutura associada às arestas com número pequeno de campos 25
Estruturas de Dados Winged-Edge (WE) Permite obter todos os 9 tipos de adjacência entre vértices, arestas e faces; Permite determinar quais faces ou vértices estão adjacentes a aresta em tempo constante; Atualizada com o uso de operadores de Euler; Foi idealizado, a princípio, para faces sem buracos. 26
Estruturas de Dados Winged-Edge (WE) Analisando a aresta a, ela é ligada pelos vértices X e Y. a aresta e os vértices incidem nas faces 1 e 2; A aresta a é utilizada duas vezes em direções diferentes. Na face 1 a aresta predecessora e sucessora são respectivamente b e c, Na face 2 a aresta predecessora e sucessora são respectivamente d e e, 27
Estruturas de Dados Winged-Edge (WE) 28
Estruturas de Dados Winged-Edge (WE) 29
Estruturas de Dados Winged-Edge (WE) 30
Estruturas de Dados Half-Edge (HE) Um pouco mais sofisticada que a Winged-Edge Em vez de armazenar as bordas da malha, armazenamos meias-arestas. Pode-se chamar as duas meias-arestas que compõem uma aresta de um par. São direcionadas e as duas arestas de um par têm direções opostas Permite todas as adjacências e outras requisições a serem feitas em tempo constante 31
Estruturas de Dados Half-Edge (HE) Os pontos amarelos são os vértices da malha As barras azuis claras são as Half-Edge. As setas no diagrama representam ponteiros. 32
Estruturas de Dados Half-Edge (HE) 33
Validação de B-reps Poliédricos Validação Geométrica: Os pontos não podem se repetir; Todos os pontos de uma face tem que estar no mesmo plano; Uma face pode ter uma limitação do número de vértices. Validação Topológica: Operadores de Euler Poincaré 34
Operadores de Euler Permitem adicionar ou excluir, vértices, arestas ou faces para criar um novo poliedro. 35
Operadores de Euler Euler-Poincaré Formula: V -E + F - H = 2 (C - G) V = Vértices E = Arestas F = Faces H = buracos nas faces (holes) G = buracos que transpassam o objeto, face a face (Genus) C = número de conjuntos disjuntos do objeto 36
Operadores de Euler Holes 37
Operadores de Euler Genus 38
Operadores de Euler Alguns Operadores e seus inversos: MEV (KEV): Make Edge and Vertex MEF (KEF): Make Edge and Face MEKR (KEMR): Make Edge, Kill Ring MFKRH (KFMRH): Make Face, Fill Ring and Hole 39
Operadores de Euler MEV (KEV): Make Edge and Vertex 40
Operadores de Euler MEF (KEF): Make Edge and Face 41
Operadores de Euler MFKRH (KFMRH): Make Face, Fill Ring and Hole 42
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 2016/02