triangulação mapeamento em viewport modelação geométrica · pipeline de visualização 3d...

84
Triangulação Mapeamento em Viewport Modelação Geométrica Instituto Superior Técnico Apontamentos CG + Edward Angel, Cap 10 Computação Gráfica 2009/2010 1

Upload: buihanh

Post on 11-Nov-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

TriangulaçãoMapeamento em Viewport

Modelação Geométrica

Instituto Superior Técnico

Apontamentos CG + Edward Angel, Cap 10

Instituto Superior Técnico Computação Gráfica

2009/2010

1

Page 2: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Na última aula...

� Iluminação e Reflexão

� Modelo de Iluminação de Phong

©2010, CG&M/IST e Figuras Addison Wesley

� Aproximação de Blinn

� Modelo de Iluminação de Blinn-Phong

Page 3: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Sumário

� Pipeline de Visualização 3D

� Triangulação

� Mapeamento em coordenadas de Viewport

©2010, CG&M/IST e Figuras Addison Wesley

� Mapeamento em coordenadas de Viewport

� Transformação Janela-Viewport

� Modelação Geométrica

Page 4: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Computação Gráfica

Pipeline de Visualização 3DPipeline de Visualização 3D

Page 5: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Pipeline de Visualização 3D

©2010, CG&M/IST e Figuras Addison Wesley5

Page 6: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Pipeline de Visualização 3D

©2010, CG&M/IST e Figuras Addison Wesley6

Page 7: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Pipeline de Visualização 3D

©2010, CG&M/IST e Figuras Addison Wesley7

Page 8: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Pipeline de Visualização 3D

©2010, CG&M/IST e Figuras Addison Wesley8

Page 9: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Pipeline de Visualização 3D

©2010, CG&M/IST e Figuras Addison Wesley9

Page 10: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Computação Gráfica

TriangulaçãoTriangulação

Page 11: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Triangulação

� Algum hardware gráfico � apenas suporta malhas triangulares

� Nesses casos

©2010, CG&M/IST e Figuras Addison Wesley

� Nesses casos� Malhas poligonais devem ser transformadas em

� Malhas triangulares“Triangle Mesh”

11

Page 12: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Triangulação

� Genericamente� Subdivisão de um plano em triângulos

� No “Pipeline 3D”

©2010, CG&M/IST e Figuras Addison Wesley

� Subdivide polígonos em conjuntos de triângulos

12

Page 13: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Triangulação de

Malha Poligonal

� Existem vários algoritmos para o fazer� Não são focados nesta cadeira de CG

� Aplicados quando necessário � Requisito do hardware gráfico

©2010, CG&M/IST e Figuras Addison Wesley

� Requisito do hardware gráfico

13

Page 14: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Pipeline de Visualização 3D

©2010, CG&M/IST e Figuras Addison Wesley14

Page 15: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Pipeline de Visualização 3D

©2010, CG&M/IST e Figuras Addison Wesley15

Page 16: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Computação Gráfica

Transformação Janela ViewportTransformação Janela Viewport

Page 17: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Visualização� São necessárias transformações

� para mapear vistas da cena num dispositivo 2D

©2010, CG&M/IST e Figuras Addison Wesley17

Page 18: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Viewport versus Janelas

Viewport

©2010, CG&M/IST e Figuras Addison Wesley18

Janela Gráfica

Janela ou Janela de Recorte

Page 19: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Viewport versus JanelasViewport

Viewport

©2010, CG&M/IST e Figuras Addison Wesley19

Janela Gráfica

Viewport

Viewport

Page 20: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Volume de Visualização

©2010, CG&M/IST e Figuras Addison Wesley20

Page 21: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Mapeamento em

Coordenadas de Viewport

©2010, CG&M/IST e Figuras Addison Wesley21

Page 22: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Mapeamento em

Coordenadas de Viewport

??

©2010, CG&M/IST e Figuras Addison Wesley22

Page 23: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Mapeamento em

Coordenadas de Viewport

12 TSTM ••=

©2010, CG&M/IST e Figuras Addison Wesley23

Page 24: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Mapeamento em

Coordenadas de Viewport� Realizada pela transformação:

� Onde:12 TSTM ••=

=2/010

2/001

h

w

T

=010

001

v

v

y

x

T

©2010, CG&M/IST e Figuras Addison Wesley24

=

1000

0100

2/0101

hT

=

1000

01002vT

=

1000

0100

00/0

000

hh

ww

S v

v

Page 25: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Mapeamento em

Coordenadas de Viewport

� Realizada pela transformação:

2001000001 wwwx vv

12 TSTM ••=

©2010, CG&M/IST e Figuras Addison Wesley25

=

1000

0100

2010

2001

1000

0100

000

000

1000

0100

010

001

h

w

hh

ww

y

x

M v

v

v

v

Page 26: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Mapeamento em

Coordenadas de Viewport

++

=

1000

0100

200

200

vvv

vvv

hyhh

wxww

M

©2010, CG&M/IST e Figuras Addison Wesley26

Page 27: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Mapeamento em

Coordenadas de Viewport

+

+

=

1000

01002

02

0

200

2v

vv

vv

v

hy

h

wx

w

M

©2010, CG&M/IST e Figuras Addison Wesley27

Page 28: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Pipeline de Visualização 3D

©2010, CG&M/IST e Figuras Addison Wesley28

Page 29: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Computação Gráfica

Transformação Janela-ViewportTransformação Janela-Viewport

29

Page 30: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Visualização 2D

Transformação Janela -Viewport

??

©2010, CG&M/IST e Figuras Addison Wesley

Page 31: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Visualização 2D

Transformação Janela -Viewport

12 TSTM ••=

©2010, CG&M/IST e Figuras Addison Wesley

Page 32: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Visualização 2D

Transformação Janela -Viewport

� Realizada pela transformação:

w

12 TSTM ••=

©2010, CG&M/IST e Figuras Addison Wesley32

−−

=100

10

01

100

00

00

100

10

01

min

min

minmax

minmax

y

x

yy

hxx

w

y

x

M v

v

v

v

Page 33: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Visualização 2D

Transformação Janela -Viewport

−−

−−

=

100

0

0

minminmaxminmax

minminmaxminmax

yyy

hy

yy

h

xxx

wx

xx

w

M vv

v

vv

v

©2010, CG&M/IST e Figuras Addison Wesley33

Page 34: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Visualização 2D

Transformação Janela -Viewport

� Exemplo OpenGL:

� gluOrtho2D(left, right, bottom, top)

� Define janela de visualização ortogonal 2D

xmin xmax ymin ymax

©2010, CG&M/IST e Figuras Addison Wesley

� Define janela de visualização ortogonal 2D

� glViewport(x, y, width, height)

� Define o viewport no dispositivo

34

xv yv w h

Page 35: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Operações Janela -Viewport (1/4)Panning

� Deslocação da Janela sobre o mundo� Permite visualizar diferentes porções da cena

©2010, CG&M/IST e Figuras Addison Wesley

Page 36: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Operações Janela -Viewport (2/4)Zooming

� Alteração das dimensões da janela� Mantendo a relação de aspecto� Ampliação ou redução da vista sobre a cena

� Variar escala de visualização

©2010, CG&M/IST e Figuras Addison Wesley

Page 37: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Operações Janela -Viewport (3/4)Stretching

� Janela/viewport com diferente relação de aspecto� Pode gerar vista distorcida da cena

� Horizontal ou Vertical

©2010, CG&M/IST e Figuras Addison Wesley

Page 38: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Operações Janela -Viewport (4/4)Múltiplos Pares

� Vários pares janela-viewport para uma cena� Várias vistas da mesma cena� Representadas no mesmo dispositivo

� Ou em dispositivos distintos

©2010, CG&M/IST e Figuras Addison Wesley

Page 39: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Computação Gráfica

Modelação GeométricaModelação Geométrica

Page 40: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Motivação

� Objectos reais são compostos geralmente por� Superfícies e Curvas Suaves

� Quando se modelam estes objectos em CGÉ necessário representar essas curvas e superfícies

©2010, CG&M/IST e Figuras Addison Wesley

� É necessário representar essas curvas e superfícies

� Como se poderá fazer isso?� Eficazmente� Com fidelidade suficiente

Page 41: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Modelação de uma cena

©2010, CG&M/IST e Figuras Addison Wesley

GlassesPor Giles TranUsando POV-RayModelado com Rhino

Page 42: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Tipos de Modelação

� Existem dois casos distintos:� Modelação de objectos existentes

� Por digitalização do objecto� Uma estátua

©2010, CG&M/IST e Figuras Addison Wesley

� Uma estátua� Uma cara� Um terreno

� Modelação “de raiz”� Sem recorrer a objecto físico existente

Page 43: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

ModelaçãoObjectos Existentes� Abordagem Contínua

� Modelar usando uma infinidade de coordenadas� Representando “todos” os pontos do objectoInviável

©2010, CG&M/IST e Figuras Addison Wesley

� Abordagem Discreta� Aproximar objecto a conjunto de pontos no modelo

� “Nuvens de Pontos”

Page 44: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

ModelaçãoObjectos Existentes

� Nuvem de pontos para o “Stanford Bunny”� Digitalizado usando scanner 3D

©2010, CG&M/IST e Figuras Addison Wesley44

Page 45: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Modelação “de raiz”

� Representação exacta do objecto é conhecida

� Reprodução pode ser tão fiel quanto se desejar

©2010, CG&M/IST e Figuras Addison Wesley

� Definição pode ser feita de várias formas� Descrição matemática � Descrição aproximada

� Depois “completada” por aplicação

� Escultura / Composição

Page 46: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Modelação “de raiz”

©2010, CG&M/IST e Figuras Addison Wesley

Desert SunriseUsando Terragen

Page 47: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Modelação “de raiz” (CAD)

©2010, CG&M/IST e Figuras Addison Wesley

ShoeLast 3DSistema de CAD paraIndústria de CalçadoCCG / FCT / UC

Page 48: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Modelação “de raiz” (VRML)

©2010, CG&M/IST e Figuras Addison Wesley

Praça da SéPor J. C.MirandaModelação em VRMLInst. Politécnico da Guarda

Page 49: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Modelação Geométrica

Malhas PoligonaisMalhas Poligonais

Page 50: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Malha poligonal

� Conjunto de vértices, arestas e polígonos� Conectados

� Aresta liga dois vértices� Sequência fechada de arestas → polígono� Cada aresta é partilhada por dois polígonos

©2010, CG&M/IST e Figuras Addison Wesley

� Representação da malha pode variar� Cada representação tem vantagens e desvantagens

� Várias representações simultâneas� Para armazenamento externo� Para armazenamento interno� Para manipulação interactiva

Page 51: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Representação de Malhas Poligonais

� Técnicas de Representação

� Lista explícita

©2010, CG&M/IST e Figuras Addison Wesley

� Lista de Vértices

� Lista de Arestas

Page 52: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

� Cada polígono representado por:� lista ordenada das coordenadas dos seus vértices

Lista Explícita

( ) ( ) ( )( )nnn zyxzyxzyxP ,,,,,,,,, 222111 K=

©2010, CG&M/IST e Figuras Addison Wesley

� Bom para um só polígono

� Ineficiente para mais do que um polígono

� duplicação dos vértices (memória)� falta informação sobre vértices e arestas comuns� esta detecção pode ser muito ineficiente� desenho duplicado das arestas

Page 53: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Lista Explícita

{ }{ }

5211

,,,

,,

VVVVP

VVVP

==

©2010, CG&M/IST e Figuras Addison Wesley53

{ }43252 ,,, VVVVP =

Page 54: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Lista de Vértices (1/2)

� Baseado numa lista de vértices � com as respectivas coordenadas

� Cada polígono descrito por lista de vértices

( ) ( ) ( )( )nnn222111 z,y,x,,z,y,x,z,y,xV K=

©2010, CG&M/IST e Figuras Addison Wesley

� Cada polígono descrito por lista de vértices� número ou ponteiro

� Lista armazenada uma única vez� Fácil alterar as coordenadas dos vértices� Difícil detectar que polígonos partilham uma aresta

� Desenho duplicado das arestas

( )7,4,1=P

Page 55: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Lista de Vértices (2/2)

{ }

{ }

,,,, 54321= VVVVVV

©2010, CG&M/IST e Figuras Addison Wesley

{ }{ }4,3,2,5

5,2,1

2

1

==

P

P

Page 56: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Lista de Arestas (1/2)

� Existe uma lista de vértices

� Existe uma lista de arestas, apontando para

� respectivos vértices� polígonos a que pertencem

� Existe uma lista de polígonos

©2010, CG&M/IST e Figuras Addison Wesley

� Existe uma lista de polígonos

� apontando para as arestas que os constituem

� Desenham-se arestas e não polígonos

� evitam-se recorte, transformações, etc., redundantes

� Não permite determinação de arestas concorrentes num vértice

� De forma explícita

Page 57: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Lista de Arestas (2/2)

{ }{ }{ }{ }{ }

2433

2322

1211

54321

,,

,,

,,

,,,,

PVVA

PVVA

PVVA

VVVVVV

====

©2010, CG&M/IST e Figuras Addison Wesley

{ }{ }{ }{ }{ }{ }32642

5611

21256

1155

2544

2433

,,,

,,

,,,

,,

,,

,,

AAAAP

AAAP

PPVVA

PVVA

PVVA

=====

Page 58: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Consistência de Malhas Poligonais (1/2)

� Verificar se� todos os polígonos fecham� todas as arestas são

� usadas uma vez � não mais do que n vezes

©2010, CG&M/IST e Figuras Addison Wesley

� não mais do que n vezes

� cada vértice é referido por 2 arestas, pelo menos

� Opcionalmente:� qualquer vértice é alcançável a partir de outro

� percorrendo as arestas

� a malha é topologicamente plana� existe uma única fronteira (não há buracos)

Page 59: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Consistência de Malhas Poligonais (2/2)

� Representação explícita� mais difícil de verificar

� Lista de Arestas� mais fácil

©2010, CG&M/IST e Figuras Addison Wesley

� Outros critérios:� aresta usada 2 vezes no mesmo polígono� cada vértice deve pertencer a um polígono

(no mínimo)� comprimento não nulo da aresta� bidireccionalidade

� A→P e P→A

Page 60: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Equação do Plano

� Utilização de malhas poligonais� Necessário conhecer a equação do plano de que cada polígono

� Usada para� Testar planaridade do polígono

©2010, CG&M/IST e Figuras Addison Wesley

� Testar planaridade do polígono� Calcular normais

� Equação do plano Ax + By + Cz + D = 0

� Normal ao plano [A B C]

Page 61: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Malhas Triangulares� Para evitar inconsistências

� Testes de planaridade

� Usam-se geralmente malhas triangulares(Triangle Mesh)� Complexidade medida em número de triângulos (polígonos)

©2010, CG&M/IST e Figuras Addison Wesley

61

Page 62: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Modelação Geométrica

Representação de sólidos e Representação de sólidos e volumes

Page 63: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Tipos de Representações

� Instanciação de Primitivas

� Representação por Varrimento “Sweep”

©2010, CG&M/IST e Figuras Addison Wesley

“Sweep”

� Representação de Fronteira “Boundary Representation” (B-reps)

� Representação por Partição do Espaço

Page 64: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Instanciação de Primitivas (1/2)

� Baseada em primitivas parametrizadas

� Exemplo: � pirâmide com número de faces laterais variável

� empregue em � CAD: engrenagens, porcas e parafusos

©2010, CG&M/IST e Figuras Addison Wesley

� CAD: engrenagens, porcas e parafusos� VRML: caixas, esferas, cones, etc… paremeterizáveis

� Hierarquizáveis

� Não associáveis

� novos objectos� têm que ser definidos� não podem ser compostos

Page 65: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Instanciação de Primitivas (2/2)

d a b c

6 4 10 11,5

10 7 17 19,6

a

©2010, CG&M/IST e Figuras Addison Wesley

c

b

d

Page 66: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Representação por Varrimento

� Obtida por extrusão ou rotacão� De uma secção

©2010, CG&M/IST e Figuras Addison Wesley

Page 67: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Representação por Varrimento

Extrusão

©2010, CG&M/IST e Figuras Addison Wesley

Page 68: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Representação por Varrimento

Rotação

©2010, CG&M/IST e Figuras Addison Wesley

Page 69: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Representação de Fronteira (1/3)

� Derivam das representações vectoriais

� Descrevem os objectos

� Em termos das suas fronteiras

©2010, CG&M/IST e Figuras Addison Wesley

� vértices, arestas e faces

� Podem ser restritas a � fronteiras planas poligonais

� Simplificação adicional� as faces são polígonos convexos ou triângulos

Page 70: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Representação de Fronteira (2/3)

� Difícil determinação do que é uma face� quando as superfícies são curvas� mas são aproximáveis por polígonos

©2010, CG&M/IST e Figuras Addison Wesley

� Geralmente, sistemas usam sólidos� Cujas fronteiras são 2-manifolds

� todos os pontos da superfície � possuem um disco de vizinhança que contém todos os pontos

vizinhos

Page 71: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Representação de Fronteira (3/3)

©2010, CG&M/IST e Figuras Addison Wesley

Page 72: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Representação por Partição do Espaço

� Decomposição de células

� Enumeração da ocupação espacial

� Árvore de octantes (ou quadrantes)

©2010, CG&M/IST e Figuras Addison Wesley

� Árvore de octantes (ou quadrantes)

� Árvores binárias de decomposição do espaço

Page 73: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Decomposição em Células

a

Sólido a representar Representações

©2010, CG&M/IST e Figuras Addison Wesley

b

c

Primitivas

Page 74: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Enumeração da Ocupação do Espaço

� Caso especial da decomposição em células� Células são idênticas

� Dispostas numa grelha fixa e regular

©2010, CG&M/IST e Figuras Addison Wesley

Page 75: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Árvore de Octantes

� Variante de� enumeração da ocupação espacial� e das “quadtrees”

� Dividir para conquistar� Subdivisão sucessiva em octantes

até que octantes sejam homogéneos

©2010, CG&M/IST e Figuras Addison Wesley

� até que octantes sejam homogéneos � todos cheios ou todos vazios

� Até nível máximo atingido

� Octantes homogéneos filhos do mesmo pai� substituídos pelo pai

� Varrimento pode ser� de cima para baixo� de baixo para cima

Page 76: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Árvore de Quadrantes “ quadtree ”

©2010, CG&M/IST e Figuras Addison Wesley

P

P P P

CCC V

P

V

CC V

P

V

C

VC V

P

V C CV

P

V V C V

P

V V C V

P

V

C C C CC

Page 77: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Árvore de Partição Binária (1/2)

� Cada espaço é subdividido em dois sub-espaços� Inicialmente criado para determinar superfícies visíveis

©2010, CG&M/IST e Figuras Addison Wesley

Page 78: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Árvore de Partição Binária (2/2)

2

4

71

5

6

2

3

1

out out

©2010, CG&M/IST e Figuras Addison Wesley

3

5

9

6

8

8out

out

4

in out

7

in out 9

in out

Page 79: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Modelação Geométrica

Constructive Solid GeometryConstructive Solid Geometry(CSG)

Page 80: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

CSG

� Combinam-se primitivas simples� Usando operações booleanas

� Para representar objectos complexos

©2010, CG&M/IST e Figuras Addison Wesley

Para representar objectos complexos

Page 81: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

CSGOperações básicas

A

A∪∪∪∪B A∩∩∩∩B

©2010, CG&M/IST e Figuras Addison Wesley

B

A−−−−B B−−−−A

Page 82: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Operações CSG

Intersecção

©2010, CG&M/IST e Figuras Addison Wesley

� Resultados� Sólido, superfície, aresta, ponto e vazio

Page 83: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

CSGArmazenamento por Árvore Binária

©2010, CG&M/IST e Figuras Addison Wesley

Page 84: Triangulação Mapeamento em Viewport Modelação Geométrica · Pipeline de Visualização 3D Triangulação Mapeamento em coordenadas de Viewport ©2010, CG&M/IST e Figuras Addison

Construindo com CSGExemplo

� Três primitivas simples:� Ring: torus; Inside: cylinder; Outside: cylinder

©2010, CG&M/IST e Figuras Addison Wesley