You are on page 1of 35

Modelagem Geométrica

Disciplina: Introdução à Computação Gráfica

Prof. Kelson Rômulo Teixeira Aires

Bacharelado em Ciência da Computação


DIE - CCN - UFPI

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 1 / 35


Histórico
Modelagem por arames (wireframes)
I Representa os objetos por arestas e pontos sobre a sua superfície.
I Gera modelos ambíguos.

Modelagem por superfícies (década de 60)


I Fornece a descrição matemática das superfícies que delimitam o
objeto.
I Poucos testes de integridade do modelo.

Modelagem de Sólidos (década de 70)


I Implícita ou explicitamente contém informações do fechamento e
conectividade dos objetos.
I Garante a realização física.

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 2 / 35


Estado da Arte

Modelagem de dimensão mista ou non-mainfold (década de 80).


I Permite representar objetos com estruturas internas ou com
elementos pendentes de dimensão inferior.

I Sólido delimitado por superfícies não necessariamente planas


localmente.

I Ex.: ACIS (Spatial Technology ) – AutoCad.

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 3 / 35


Paradigmas de Abstração

Universo Universo Universo de Universo de


Físico Matemático Representação Codificação

Paradigma dos universos.


I Físico F.
I Matemático M.
I Representação R.
I Implementação I.

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 4 / 35


Problemas da Área

Estudar fenômenos em F.

Definir os modelos.

Estudar as relações entre R e M.

Definir representações de modelos em M.

Estudar conversões entre representações.

Definir métodos de implementação.

Comparar estratégias em I.

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 5 / 35


Esquemas de Representação

Objetos do universo físico: “sólidos”


I O que é um sólido?

Objetos do universo matemático vêm da:


I Geometria diferencial
I Topologia diferencial

Formas Modelos Representações Estrut. de Dados

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 6 / 35


Geometria pode Ser Complicada

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 7 / 35


Descrição de Sólidos

Assuma que um sólido é um conjunto tridimensional de pontos.

Conjuntos de pontos podem ser descritos:


I Por suas fronteiras
I Por campos escalares
F Definidos por equações
F Amostrados

Originam três tipos de representação:


I Por bordo (B-rep – Boundary Representation)
I Operações de conjuntos (CSG – Constructive Solid Geometry )
I Por enumeração do espaço em células (BSP-trees, Octrees, etc)

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 8 / 35


Representação por Bordo

Sólido definido indiretamente através da superfície que o delimita:

I compacta (fechada e limitada)


I sem bordo

Superfícies são descritas parametricamente por um mapeamento


chamado de parametrização:

ϕ : U ⊂ <2 → <3

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 9 / 35


Parametrização

Estabelece um sistema de coordenadas sobre a superfície


herdado de um sistema de coordenadas no plano.
 T  T
ϕ(u, v ) = ϕx (u, v ) ϕy (u, v ) ϕz (u, v ) = x y z

Em geral, não é possível cobrir (descrever) toda a superfície com


uma única parametrização.
I Usam-se várias parametrizações que formam um Atlas.

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 10 / 35


Parametrização de uma Superfície

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 11 / 35


Parametrizações Válidas

Sólido deve estar bem definido.


I Superfície sem auto-interseção.
I Vetor normal não se anula sobre a superfície.
I Normal é usada para determinar o interior e o exterior do sólido.

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 12 / 35


Representação Linear por Partes
Superfície parametrizada com geometria complexa pode ser
aproximada por uma superfície linear por partes.
Pode-se particionar o domínio da parametrização por um conjunto
de polígonos.
I Cada vértice no domínio poligonal é levado para a superfície pela
parametrização.
I Em seguida é ligado aos vértices adjacentes mantendo as
conectividades do domínio.

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 13 / 35


Propriedades

Gera uma malha poligonal, definida por um conjunto de vértices,


arestas e faces.
I Cada aresta é compartilhada por no máximo duas faces.
I A interseção de duas faces é uma aresta, um vértice ou vazia.

Adjacência de vértices, arestas e faces é chamada de topologia


da superfície.

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 14 / 35


Decomposição Poligonal

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 15 / 35


Operações sobre Malhas Poligonais
Achar todas as arestas que incidem em um vértice.

Achar as faces que incidem numa aresta ou vértice.

Achar as arestas na fronteira de uma face.

Desenhar a malha.

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 16 / 35


Codificação

Explícita;

Ponteiros para lista de vértices;

Ponteiros para lista de arestas;

Winged-Edge (Half-Edge, Face-Edge);

Quad-Edge (Guibas-Stolfi);

Radial-Edge.

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 17 / 35


Codificação Explícita
A mais simples;

Cada face armazena explicitamente a lista ordenada das


coordenadas dos seus vértices:

P = {(x1 , y1 , z1 ), (x2 , y2 , z2 ), ..., (xn , yn , zn )}

Muita redundância de informação;

Consultas são complicadas:


I Obriga a execução de algoritmos geométricos para determinar
adjacências.

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 18 / 35


Desenho da Malha

Cada aresta é desenhada duas vezes, pelas duas faces que a


compartilham.

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 19 / 35


Ponteiros para Lista de Vértices

Vértices são armazenados separadamente;

Há uma lista de vértices;

Faces referenciam seus vértices através de ponteiros;

Proporciona maior economia de memória;

Achar adjacências ainda é complicado;

Arestas ainda são desenhadas duas vezes;

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 20 / 35


Exemplo

V = {V1 (x1 , y1 , z1 ), V2 (x2 , y2 , z2 ), V3 (x3 , y3 , z3 ), V4 (x4 , y4 , z4 ), }


P1 = {V1 , V2 , V4 }
P2 = {V4 , V2 , V3 }

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 21 / 35


Ponteiros para Lista de Arestas

Há também uma lista de arestas;

Faces referenciam as suas arestas através de ponteiros;

Arestas são desenhadas percorrendo-se a lista de arestas;

Introduzem-se referências para as duas faces que compartilham


uma aresta;
I Facilita a determinação das duas faces incidentes na aresta.

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 22 / 35


Exemplo

V = {V1 (x1 , y1 , z1 ), V2 (x2 , y2 , z2 ), V3 (x3 , y3 , z3 ), V4 (x4 , y4 , z4 ), }


E1 = {V1 , V2 , P1 , λ}; E2 = {V2 , V3 , P2 , λ};
E3 = {V3 , V4 , P2 , λ}; E4 = {V2 , V4 , P1 , P2 };
E5 = {V4 , V1 , P1 , λ};
P1 = {E1 , E4 , E5 }; P2 = {E2 , E
Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 23 / 35
9 tipos de Relacionamentos de Adjacência

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 24 / 35


Interior x Exterior

A função F faz a classificação dos pontos do espaço;

Permite decidir se o ponto está no interior, na fronteira ou no


exterior:
I F > 0 ⇒ p ∈ exterior de O
I F = 0 ⇒ p ∈ fronteira de O
I F < 0 ⇒ p ∈ interior de O

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 25 / 35


Esquema de Representação CSG
Operações CSG definem objetos através de operações
regularizadas de conjuntos de pontos:
I União, Interseção e Diferença.
Um objeto é regular se o fecho do interior do seu conjunto de
pontos é igual ao próprio conjunto de pontos.

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 26 / 35


Árvore CSG

Um modelo CSG é codificado por uma árvore.


I Os nós internos contêm operações de conjunto ou transformações
lineares afim.
I Folhas contêm objetos primitivos (tipicamente, quádricas).

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 27 / 35


CSG com Objetos Implícitos

Primitivas CSG são definidas por Fi (X ) ≤ 0.

Operações booleanas são definidas nesse caso por:


I F1 ∪ F2 = min(F1, F2)
I F1 ∩ F2 = max(F1, F2)
I F1 / F2 = F1 ∩ F2 = max(F1, -F2)

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 28 / 35


Prós e Contras de Representações

Representações por fronteira e por campos escalares


apresentam vantagens e desvantagens.

Numa B-rep as interseções estão representadas explicitamente e


é mais fácil exibir um ponto sobre a superfície do objeto.

Porém é difícil determinar, dado um ponto, se ele está no interior,


fronteira ou exterior do objeto.

Operações booleanas são complicadas.

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 29 / 35


Representações por Campos Escalares

Em tais representações a classificação de um ponto é imediata,


bastando avaliar o sinal do valor do campo no ponto.

Exibir um ponto sobre a superfície do objeto requer a solução de


uma equação, que pode ser complicada.

Operações booleanas são avaliadas facilmente.

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 30 / 35


Representações por Células

Dividem o espaço em sub-regiões convexas


I Grades: Cubos de tamanho igual
I Octrees: Cubos cujos lados são potências de 2
I BSP-trees: Poliedros convexos

Às células são atribuídas valores de um campo escalar F (x, y , z).

I Campo é assumido constante dentro de cada célula.

Sólido é definido como o conjunto de pontos tais que


A < F (x, y , z) < B para valores de A e B estipulados.

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 31 / 35


Octrees

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 32 / 35


BSP-Trees

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 33 / 35


Ambigüidade e Unicidade

Uma representação é única quando o modelo associado possui


uma única representação.
Uma representação é ambígua quando pode representar mais de
um modelo.
Representação ambígua é catastrófica (wireframe).
I Inviabiliza máquinas de controle numérico.

M R M R

Não−Unicidade Ambiguidade

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 34 / 35


Conversão entre Representações
Conversão CSG → B-rep é denominada avaliação de borda;

Conversão B-rep → CSG é muito mais complicada;

Conversão B-rep → Células é simples;

Conversão Células → B-rep é relativamente simples (marching


cubes);

Conversão CSG → Células é simples;

Conversão Células → CSG é complicado.


I

Kelson Aires (kelson@ufpi.edu.br) Int. à Comp. Gráfica - Modelagem 35 / 35

You might also like