Modelagem Geométrica:
Boundary Representation
Gabriel Caixeta Silva
caixetasilva@hotmail.com
Prof. Dr. André Tavares da Silva
Prof. Dr. Marcelo da Silva Hounsell
Introdução
● Modelagem Geométrica
● Representação
● Estrutura de dados ● Operadores de Euler
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;
Representações
Construtiva
● Boundary Representation (B-Rep)
● Constructive Solid Geometry (CSG)
Por decomposição
● Uniforme
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
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.
C
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;
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;
9
Faixa de Möbius Orientável?
B-Reps
| TIPOS
Generalizados: superfícies suaves, arestas curvas
● Patches, “retalhos”; ● Flexíveis;
● Exatas;
Poliédricos: superfícies planares, arestas retas
● Simplificados; ● Eficientes;
B-Reps
| Poliédricos
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;
B-Rep
| Poliédrico
Exemplos de Poliedros Simples Platônicos ou Regular
13
Cada poliedro platônico tem um dual onde os vértice de um é o
centro da face de outro.
Estruturas de Dados
É o modo de armazenar as informações geométricas e topológicas de um modelo.
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))
Estruturas de Dados
| Codificação Explícita
17
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))
Estruturas de Dados
| Codificação Explícita
Considerações:● Vantagens
○ É extremamente simples
● Desvantagem:
○ Não considera que os vértices são compartilhados
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.
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)
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.
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.
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).
Estruturas de Dados
| Lista de Arestas
Melhorada
Tem-se uma lista de arestas (sem repeti-las) que indicam os vértices que as compõemFaces 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
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
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;
Estruturas de Dados
| Winged-Edge (WE)
Analisando a aresta a , ela é ligada pelosvé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,
Estruturas de Dados
| Winged-Edge (WE)
Estruturas de Dados
| Half-Edge (HE)
Um pouco mais sofisticada que a Winged-EdgeEm 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
Estruturas de Dados
| Half-Edge (HE)
Os pontos amarelos são os vérticesda malha
As barras azuis claras são as Half-Edge.
As setas no diagrama representam ponteiros.
Estruturas de Dados
| Half-Edge (HE)
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
Permitem adicionar ou excluir, vértices, arestas ou faces para criar um novo poliedro.
Operadores de Euler
| Euler-Poincaré
Formula: V -E + F - H = 2 (C - G) V = Vértices E = Arestas F = FacesH = buracos nas faces (holes)
G = buracos que transpassam o objeto, face a face (Genus)
C = número de conjuntos disjuntos do objeto
Operadores de Euler
| Holes
Operadores de Euler
39
Alguns Operadores e seus inversos: ● MEV (KEV): Make Edge and Vertex ● MEF (KEF): Make Edge and Face ● MEKR (KEMR): Make Edge, Kill Ring
Operadores de Euler
Operadores de Euler
41
Operadores de Euler
Modelagem Geométrica:
Boundary Representation
Gabriel Caixeta Silva
caixetasilva@hotmail.com
Prof. Dr. André Tavares da Silva
Prof. Dr. Marcelo da Silva Hounsell