Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

30
Objetos 3D

Transcript of Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

Page 1: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

Objetos 3D

Page 2: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

Modelos de Sólidos

• Construtivos

• Fronteiras

• Decomposição

Conjunto de pontos no R3

Page 3: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

Construtivos - CSG

primitivas Operações boleanas

Page 4: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

CSG

diff

un cy

bl1 bl2

Árvore binária

Page 5: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

CSG

Visualização: Traçado de Raios

Page 6: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

Por fronteira (BRep, Boudary Representation)

p1

p2p3

Page 7: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

Elementos topológicos

Sólido Faces Arestas e vértices

Page 8: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

Hierarquia nos elementos topológicos dos modelos de fronteira

Vértices, Arestas e Faces

5e4e

2e3e

6e

8e

9e

12e

11e

1e

7e10e

1v 2v

3v4v

5v 6v

7v8v face

aresta

vértice

Page 9: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

Restrições dos modelos de fronteira

Garrafa de Klein (não orientável)

A superfície nãopode ser qualquer!

Page 10: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

vertexv1

v2

v3

v4

v5

v6

v7

v8

coordinatesx1 y1 z1

x2 y2 z2

x3 y3 z3

x4 y4 z4

x5 y5 z5

x6 y6 z6

x7 y7 z7

x8 y8 z8

facef1

f2

f3

f4

f5

f6

verticesv1 v2 v3 v4

v6 v2 v1 v5

v7 v3 v2 v6

v8 v4 v3 v7

v5 v1 v4 v8

v8 v7 v6 v5

A vertex-based boundary model

Page 11: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

edgee1

e2

e3

e4

e5

e6

e7

e8

e9

e10

e11

e12

verticesv1 v2

v2 v3

v3 v4

v4 v1

v1 v5

v2 v6

v3 v7

v4 v8

v5 v6

v6 v7

v7 v8

v8 v5

vertexv1

v2

v3

v4

v5

v6

v7

v8

coordinatesx1 y1 z1

x2 y2 z2

x3 y3 z3

x4 y4 z4

x5 y5 z5

x6 y6 z6

x7 y7 z7

x8 y8 z8

facef1

f2

f3

f4

f5

f6

edgese1 e2 e3 e4

e9 e6 e1 e5

e10 e7 e2 e6

e11 e8 e3 e7

e12 e5 e4 e8

e12 e11 e10 e9

An edge-based boundery model

Page 12: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

vertexv1

v2

v3

v4

v5

v6

v7

v8

coordinatesx1 y1 z1

x2 y2 z2

x3 y3 z3

x4 y4 z4

x5 y5 z5

x6 y6 z6

x7 y7 z7

x8 y8 z8

facef1

f2

f3

f4

f5

f6

first edgee1

e9

e6

e7

e12

e9

sign+++++-

edgee1

e2

e3

e4

e5

e6

e7

e8

e9

e10

e11

e12

vstartv1

v2

v3

v4

v1

v2

v3

v4

v5

v6

v7

v8

vendv2

v3

v4

v1

v5

v6

v7

v8

v6

v7

v8

v5

ncwe2

e3

e4

e1

e9

e10

e11

e12

e6

e7

e8

e5

nccwe5

e6

e7

e8

e4

e1

e2

e3

e12

e9

e10

e11

Winged-edge data structure (Baumgart)

5e4e

2e3e

6e

8e

9e

12e11e

1e

7e10e

1v 2v

3v4v5v 6v

7v8v

)10,11,12,9()8,4,5,12()7,3,8,11()6,2,7,10(

)5,1,6,9()4,3,2,1(

6

5

4

3

2

1

ffffff

Page 13: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

vend

ncw

pccw fccw

fcw pcw

nccwvstart

vertexv1

v2

v3

v4

v5

v6

v7

v8

firstedge

e1

e2

e3

e4

e9

e10

e11

e12

coordinatesx1 y1 z1

x2 y2 z2

x3 y3 z3

x4 y4 z4

x5 y5 z5

x6 y6 z6

x7 y7 z7

x8 y8 z8

edgee1

e2

e3

e4

e5

e6

e7

e8

e9

e10

e11

e12

vstartv1

v2

v3

v4

v1

v2

v3

v4

v5

v6

v7

v8

vendv2

v3

v4

v1

v5

v6

v7

v8

v6

v7

v8

v5

fcwf1

f1

f1

f1

f2

f3

f4

f5

f2

f3

f4

f5

fccwf2

f3

f4

f5

f5

f2

f3

f4

f6

f6

f6

f6

ncwe2

e3

e4

e1

e9

e10

e11

e12

e6

e7

e8

e5

nccwe5

e6

e7

e8

e4

e1

e2

e3

e12

e9

e10

e11

pcwe4

e1

e2

e3

e1

e2

e3

e4

e5

e6

e7

e8

pccwe6

e7

e8

e5

e12

e9

e10

e11

e10

e11

e12

e9

facef1

f2

f3

f4

f5

f6

firstedge

e1

e9

e6

e7

e12

e9

Winged edges

Page 14: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

Um objeto em vários níveis de detalhe

Page 15: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

Multi-resolução num mesmo objeto

Page 16: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

Decomposição

Exaustiva: Voxels

Page 17: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

Decomposição

Estruturas espaciais

Quadtrees

Page 18: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

Decomposição

Processo de criação da quadtree

1 2

3 4 1 2 3 4

1 23 4

Page 19: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

Decomposição

Processo de criação da quadtree

Page 20: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

Decomposição

Exaustiva: Octrees1 2

3 4

6

7 8

1 2 3 4 5 6 7 8

Page 21: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

Decomposição

Octrees

Page 22: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

Decomposição

BSP (binary space partitions)

a

bcd

ef

g a

bcd

ef

g

1

2

3

45

6

7

12

a

3

bc

4

d

56

e

7

f

BSP Tree

Page 23: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

Decomposição

BSP (binary space partitions)

BSP Tree

a j

b

f

cd

g

kh

ie g

j

k outoutin

h

iinoutin

out

f

in out

ec

d out

outin

b

a

Page 24: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

Decomposição celular

Page 25: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

Decomposição celular

vertexv1

v2

v3

v4

v5

v6

v7

v8

coordinatesx1 y1 z1

x2 y2 z2

x3 y3 z3

x4 y4 z4

x5 y5 z5

x6 y6 z6

x7 y7 z7

x8 y8 z8

celc1

c2

c3

c4

c5

c6

verticesv1 v2 v3 v4 v5 v6

1v 2v

3v4v5v 6v

7v8v

Page 26: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

Requisitos

k

kji

evcc

i

icR

Page 27: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

ESTRUTURAS ESPACIAISIndexação para cenas com muitos objetos

Page 28: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

BSP trees: Binary Space Partion Trees

1

23

4

5a5b

3

12

5a

45b

atrásfrente

1

23

4

5a5b

3

45b

atrásfrente

2frente atrás

5a 1

1

23

4

5a5b

3

2

5a 1

4

5b

Page 29: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

Exibição de uma BSP

void bspDisplay(bspTree *tree){ if (arvore não é vazia) { if (observador está a frente da raiz) { bspDisplay(treebackChild); DisplayPolygon(treeroot); bspDisplay(treefrontChild); } else { bspDisplay(treefrontChild); DisplayPolygon(treeroot); bspDisplay(treebackChild); } }}

Mostra a árvore detrás, a raiz e a árvoreda frente.

Mostra a árvore dafrente, a raiz e a árvorede atrás.

Page 30: Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.

BSP trees: Dois exemplos de exibição

1

23

4

5a5b

3

2

5a 1

4

5b

5a, 2, 1, 3, 5b, 4

1

23

4

5a5b

3

2

5a 1

4

5b

4, 5b, 3, 5a, 2, 1