Técnicas de Modelagem para Aplicações em Computação Gráfica Joaquim Bento Cavalcante Neto...

Preview:

Citation preview

Técnicas de Modelagem para Aplicações em Computação

Gráfica

Joaquim Bento Cavalcante Netojoaquimb@lia.ufc.br

Universidade Federal do CearáDepartamento de Computação

Março 2004

2

Roteiro

• Conceitos de modelagem• Modelos de decomposição• Modelos de construção• Modelos de fronteira• Conclusões

Conceitos de modelagem

4

Definição de modelo

• O que são modelos? – Objetos artificialmente construídos– Facilitam a análise de fenômenos, situações

• Quais são os tipos de modelos?– Modelos físicos - prédios, navios, carros– Modelos moleculares - arranjo de átomos– Modelos matemáticos - equações e dados

• Para que usar modelos? – Estudo de características de coisas reais– Simulação do comportamento de coisas

reais

5

Modelos computacionais

• Definição– Dados armazenados no computador– Podem representar vários tipos de

modelos

• Modelagem geométrica– Modelagem para resolver problemas

geométricos– Responde a perguntas do tipo:

•a) que parte do corpo é visível para o usuário? •b) qual cor é associada a cada elemento?

6

Modelos computacionais

• Modelagem de sólidos– Braço da modelagem geométrica– Trata de coisas completas, fechadas– Responde às questões “algoritmicamente”

• Níveis de abstração em modelagem– Nível físico - sólido propriamente dito– Nível contínuo - representação matemática– Nível representação - armazenamento

(pontos, coeficientes, etc…)– Nível implementação - código, estrutura de

dados

7

Modelos computacionais

• Classificação dos tipos de modelos– Modelos de decomposição

• Uso de primitivas básicas (cubos, etc…)• Sólido descrito através de operações de “gluing”

– Modelos de fronteira• Uso de hierarquia (sólido, faces, arestas, etc…)• Sólido descrito através de seu contorno

– Modelos de construção • Uso de primitivas básicas mais elaboradas (cone,

etc…)• Sólido descrito através de operações de

construção

Modelos de decomposição

9

Tipos de modelos

• Enumeração exaustiva– Primitiva básica - cubos de mesmo tamanho– Usadas em renderização volumétrica

(voxels), etc…

• Decomposição celular– Primitiva básica - qualquer célula

(triângulo, quadrilátero, etc…)– Usadas em simulações numéricas (MEF),

etc...

• Subdivisão espacial– Primitiva básica - cubos de tamanho

variável– Usadas em modelagem propriamente dita

10

Subdivisão espacial

• Quadtrees, Octrees

11

Subdivisão espacial

• Octree

12

Subdivisão espacial

• Octree

13

Características

• Baixa precisão, porque são aproximadas

• Geram modelos válidos• Não é ambíguo e a representação é

única• Não é conciso (árvore com muitas

células)• Realiza operações fechadas

(Booleanas)• Útil como modelagem auxiliar (busca,

localização, etc…)

Modelos de fronteira

15

Tipos de modelos

• Baseados em polígonos– Lista de faces

• Baseados em vértices– Lista de vértices

• Baseados em arestas– Aresta “alada” (winged-edge) -

Wed – Meia aresta (half-edge) - Hed

16

Lista de faces

17

Lista de faces

18

Lista de faces

19

Lista de faces

20

Lista de faces

21

Winged-edge

22

Half-edge

23

Half-edge

24

Half-edge

25

Características

• Precisão muito alta, representação eficiente

• Geram modelos válidos• Não é ambíguo e a representação é

única• Não é muito conciso (Hed é grande,

etc…)• Poderoso para modelagens complexas

Modelos de construção

27

Tipos de modelos

• Modelos de semi-espaço– Primitiva básica - semi-espaços (semi-espaço

planar, semi-espaço cilíndrico, etc…)– O modelo é definido pela combinação dos semi-

espaços em uma árvore por op. Booleanas

• Modelos CSG (Constructive Solid Geometry)– Primitiva básica - quaisquer objetos construídos a

partir de uma combinação de semi-espaços– O modelo é definido pela combinação das

primitivas em uma árvore usando op. Booleanas

28

CSG

29

CSG

30

CSG

31

CSG

32

CSG

33

CSG

34

CSG

35

CSG

36

CSG

37

CSG

38

Características

• Precisão depende das primitivas, se existirem muitas primitivas a precisão pode ser bem grande

• Podem gerar modelos não-válidos• Não é ambíguo e a representação não é

única para os modelos• É bem mais conciso que as demais, mas

em modelagens práticas tende a crescer• Uma modelagem por CSG pode ser bem

complexa, dependendo do problema

Conclusões

40

Conclusões

• Modelar NÃO é somente usar um software

• O tipo de modelagem que se aplica a um caso específico depende de vários fatores: – precisão desejada – memória disponível– custo computacional

• Modelagem é um passo fundamental para aplicações em computação gráfica

Recommended