Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares)...

41
Modelagem Geométrica Modelagem Geométrica André Tavares da Silva [email protected] Capítulo 12 do “Foley” Capítulo 4 de Azevedo e Conci Capítulo 11 de Mortenson

Transcript of Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares)...

Page 1: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Modelagem GeométricaModelagem Geométrica

André Tavares da [email protected]

Capítulo 12 do “Foley”Capítulo 4 de Azevedo e ConciCapítulo 11 de Mortenson

Page 2: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Representações

• Decomposição Espacial– Quadtrees– Octrees– BSPtree

• CSG – Geometria Sólido-Construtiva

• B-Rep (Boundary Representation)

Page 3: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Representação por Enumeração da Ocupação Espacial ou

Decomposição

● Existem duas formas de representação por decomposição:

– Representação uniforme (Enumera)– Representação não-uniforme (Decompõe).

Page 4: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Enumeração Espacial

• Os objetos são descritos por meio de cubos dispostos matricialmente;

• Cada cubo é chamado de "voxel" (volume element);

• A representação por enumeração é muito usada em aplicações biomédicas, pois permitem a descrição fiel de espaço interior altamente irregular.

Page 5: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Enumeração Espacial (Decomposição)

• Objetos são representados por uma coleção de objetos primitivos, geralmente cubos.

Page 6: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Representação Uniforme

● Na representação uniforme, a subdivisão espacial mais utilizada é a que se baseia em um reticulado uniforme.

● Esse esquema dá origem a uma representação matricial.

Page 7: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Representação Matricial

● Essa representação estende a representação matricial de regiões 2D.● Estrutura de dados é uma MATRIZ 3D!!

● Nela definimos um reticulado a partir do produto cartesiano de partições uniformes de intervalos dos eixos coordenados.

● Cada célula do reticulado está associada a um paralelepípedo que é denominada voxel (volume element), da mesma forma que pixel é um picture element...

Page 8: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Voxels (células quadrangulares)(ver Foley:549)

Page 9: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Representação Matricial● Cada voxel possui uma amostra dos valores

de atributos na região associada, pertencente ao sólido.

● A representação matricial é também denominada representação volumétrica.

● Pode ser entendida como uma imagem 3D onde os voxels fazem o papel dos pixels.

Page 10: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Representação matricialVantagens (A&C:135):

Para determinar se um ponto pertence ao sólido, basta verificar se pertence a algum dos seus voxels;

É fácil determinar se dois objetos se interceptam;

É fácil realizar operações booleanas. É fácil obter propriedades de massa e

volume.

Page 11: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Representação matricialVantagens:

Diversas técnicas de análise e processamento de imagens podem ser aplicadas.

A visualização é simples devido a sua estrutura simples (volumetric rendering)

É uma representação utilizada pela grande maioria dos equipamentos de captura de objetos volumétricos.

Page 12: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Operações Booleanas de Voxels(exemplo em 2D)

Page 13: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Operações Booleanas de Voxels(exemplo em 2D)

● União: +/OR; Interseção: */AND● E a diferença?

Page 14: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Características de Voxels● Muito utilizado em Visualização Volumétrica ● Eficiente (para operações booleanas regularizadas)

● Trabalha no domínio dos números inteiros● Tem unicidade● Domínio: Representa qualquer sólido. ● A precisão depende do tamanho/forma do voxel● Não é ambígua, fácil de validar● Não é concisa

Muito espaço é perdido (na matriz) para representar o vazio.

Pode ser otimizado pela representação de matrizes espaças ou técnicas associadas

Page 15: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Representação por Decomposição Não Uniforme

com Variação de Tamanho

Page 16: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Decomposição Recursiva/Adaptativa

● 2D – Quadtree (árvore de quadrantes)● 3D – Octree (árvore de octantes)

● Caracterizam-se por uma estrutura de dados hierárquica, espacialmente endereçável e naturalmente pré-ordenada (Árvore);

● Simplifica operações tais como: a detecção de interseção de objetos, localização de um ponto ou de um bloco no espaço, remoção de superfícies escondidas.

Page 17: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Árvore de Quadrantes (Quadtree)

Convenção (neste caso): FULL = onde tem objeto ou parte do objeto EMPTY = onde não tem nada do objeto

Page 18: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Quadtrees

• Subdivisão do planoplano de forma adaptativa;

• Subdivisão contínua até que um determinado nível de detalhe seja atingido.

Page 19: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Octree

Page 20: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Árvore de Octantes (Octree)

Page 21: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Octrees

• Extensão para 3D– Voxels correspondem a pixels em 3D

– Enumeração força-bruta classificando as células do espaço como cheias ou vazias.

Page 22: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Octrees

Page 23: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

BSP Tree

(Azevedo e Conci, pg 139)

Page 24: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Características (Foley 1996:555)

● Criada como algoritmo de visibilidade em 1980● Posteriormente usada para representar poliedros

quaisquer● É uma árvore binária que indica que o objeto está

em um dos lados das ramificações● Permite representar côncavos e convexos● Potencialmente não compacta● Elegante e simples conceitualmente

Page 25: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

BSP Trees

● A ideia é basicamente a mesma de Octree● Entretanto o espaço é sucessivamente

dividido em 2 partes (daí o nome) convexas por um plano de corte

● O algoritmo específico de subdivisão varia conforme o propósito de aplicação do modelo final (detecção de colisão, visibilidade, operações booleanas,...)

Page 26: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Polygon-Aligned BSP Trees(Foley 1996 12.6 p555)

Partição Espacial Binária Lado direito da árvore (não da divisora) = não tem objeto

Lado esquerdo da árvore = tem (parte do) objeto

Sequencia de divisão: maior aresta, depois segue CCW

Page 27: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Representação por Geometria Sólida Construtiva

CSG (Foley 1996 12.7)

Page 28: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

CSG (Constructive Solid Geometry)

Geometria Sólido Construtiva

Primitivas GeométricasPrimitivas Geométricas

• CilindroCilindro• ConeCone• CuboCubo• EsferaEsfera

Operações BooleanasOperações Booleanas

• UniãoUnião• IntersecçãoIntersecção• DiferençaDiferença

TransformaçõesTransformações GeométricasGeométricas

• EscalaEscala• RotaçãoRotação• TranslaçãoTranslação

Page 29: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

CSG

UniãoUnião

IntersecçãoIntersecção

DiferençaDiferença

Page 30: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial
Page 31: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Definição do CSG

● Armazenam as Operações Booleanas● Armazenam a história da construção do

objeto, as “intenções de projeto”

● Não armazena os resultados intermediários (nem finais)

Page 32: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Exemplo de Árvore CSG

Page 33: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Exemplo de Árvore CSG

Page 34: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Exemplo de Árvore CSG Regularizada

Page 35: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Objeto CSG Em Wireframe com HiddenLine (Zeid:344)

Page 36: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Árvore CSG Respectiva (Zeid:344)

Page 37: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Árvore CSG● Um modelo CSG é codificado por uma árvore binária.

● Os nós internos contêm operações booleanes regularizadas, ou transformações lineares afim, ou uma sub árvore

● Folhas contêm objetos primitivos (tipicamente, quádricas)

● Em alguns modelos, unem-se Transformações às Primitivas (instâncias)

Page 38: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Característica da Modelagem CSG

• Tem que ser ordenada pois nem as TGLR nem as Operações Booleanas são comutativas

• Uma sub-árvore pode ser repetida na estrutura (grafo acíclico)

Page 39: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Sólidos CSG Renderizados

Page 40: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial
Page 41: Modelagem Geométrica - UDESC · matricial de regiões 2D. ... Voxels (células quadrangulares) (ver Foley:549) Representação Matricial

Motor Diesel CSG 3D Completo