instituto de computação - uff 1 computação gráfica i professor: anselmo montenegro anselmo...

85
1 Instituto de Computação - UFF Computação Computação Gráfica I Gráfica I Professor : Anselmo Montenegro www.ic.uff.br/~anse lmo Conteúdo : - Objetos gráficos espaciais

Upload: internet

Post on 16-Apr-2015

106 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

1

Instituto de Computação - UFF

Computação Gráfica IComputação Gráfica IProfessor:

Anselmo Montenegrowww.ic.uff.br/~anselmo

Conteúdo:

- Objetos gráficos espaciais

Page 2: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

2

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : definiçõesdefinições

• Um Um objeto gráfico espacialobjeto gráfico espacial é um objeto gráfico que é um objeto gráfico que está imerso em um espaço ambiente de dimensão 3.está imerso em um espaço ambiente de dimensão 3.

• Exemplos de objetos gráficos espaciais são:Exemplos de objetos gráficos espaciais são:

– Curvas espaciais. (objetos 1D imersos em espaços 3D).Curvas espaciais. (objetos 1D imersos em espaços 3D).– Superfícies. (objetos 2D imersos em espaços 3D).Superfícies. (objetos 2D imersos em espaços 3D).– Sólidos.Sólidos.– Imagens 3D.Imagens 3D.– Objetos Volumétricos.Objetos Volumétricos.

Page 3: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

3

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : curvas curvas paramétricasparamétricas

• Uma curva paramétrica no Uma curva paramétrica no RR33 é uma aplicação é uma aplicação g:Ig:IRR R R33..

• Logo Logo gg((tt)) = = ((xx((tt)),y,y((tt)),z,z((tt)))), , t t I I e o e o vetor vetor velocidadevelocidade é dado por: é dado por: g’g’((tt)) = = ((x’x’((tt)),y’,y’((tt)),z’,z’((tt))))

(x(ti),y(ti),z(ti))

z

x

y

ti0 1

Page 4: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

4

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : curvas curvas paramétricasparamétricas

• Aplicações:Aplicações:– Elementos Elementos auxiliares na construção de auxiliares na construção de

superfíciessuperfícies..– Especificação de trajetóriasEspecificação de trajetórias utilizadas em utilizadas em

animação e controle de câmeras.animação e controle de câmeras.

Page 5: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

5

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : Superfícies – Superfícies – definição informaldefinição informal

• Uma Uma superfíciesuperfície é um subconjunto de pontos é um subconjunto de pontos SSRR33 que na vizinhança de um ponto se assemelha a um que na vizinhança de um ponto se assemelha a um plano.plano.

• Se definirmos uma esfera de raio Se definirmos uma esfera de raio suficientemente suficientemente pequeno então, a sua interseção com a superfície se pequeno então, a sua interseção com a superfície se assemelha a um disco(ou semi-disco nas bordas)assemelha a um disco(ou semi-disco nas bordas)

Page 6: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

6

Instituto de Computação - UFF

SU

Objetos gráficos espaciaisObjetos gráficos espaciais: : Superfícies – Superfícies – definição informaldefinição informal

• Uma Uma superfície paramétricasuperfície paramétrica SS é descrita como é descrita como uma aplicação uma aplicação ff::UURR22RR33..

Page 7: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

7

Instituto de Computação - UFF

SU

Objetos gráficos espaciaisObjetos gráficos espaciais: : Superfícies – Superfícies – definição informaldefinição informal

• Para evitar casos degenerados Para evitar casos degenerados ff::UURR22RR33 deve:deve:

– SSer uma er uma bijeção, isto é, existir uma correspondência bijeção, isto é, existir uma correspondência um-para-um entre pontos do domínio e do contra-um-para-um entre pontos do domínio e do contra-domínio.domínio.

u

u’f(u’)

f(u)

Page 8: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

8

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : Superfícies – Superfícies – definição informaldefinição informal

– ter um plano tangente bem definido em cada ponto. ter um plano tangente bem definido em cada ponto.

Page 9: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

9

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : Superfícies – Superfícies – definição informaldefinição informal

• Exemplo: cilindroExemplo: cilindro– Um cilindro é uma superfície descrita por um conjunto Um cilindro é uma superfície descrita por um conjunto

de pontos eqüidistantes de uma reta (eixo do cilindro).de pontos eqüidistantes de uma reta (eixo do cilindro).

• Parametrização do cilindroParametrização do cilindro– ff:[:[00,,22]]RRRR33, , ff((uu,,vv)= ()= (R cosR cos((uu),),R senR sen((uu),),vv))..

((x,yx,y))==((R cosR cos((uu)),R sen,R sen((uu))))

RR

Page 10: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

10

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : Superfícies Superfícies implícitasimplícitas

• Uma Uma superfície implícitasuperfície implícita SSRR33 é definida pelo é definida pelo conjunto de raízes de uma função conjunto de raízes de uma função FF::UU RR33 RR,, ou sejaou seja SS={(={(xx,,yy,,zz););FF((xx,,yy,,zz)=)=00}}..

F(x,y,z)

S

0

Page 11: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

11

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : Superfícies Superfícies implícitasimplícitas

• O conjunto de pontos da superfície é também O conjunto de pontos da superfície é também indicado pela notação indicado pela notação FF-1-1((00)) e é chamado e é chamado imagem imagem inversainversa do conjunto do conjunto {{00}}RR por por FF..

• Este conjunto define uma Este conjunto define uma superfície de nívelsuperfície de nível de de FF (ver a figura anterior).(ver a figura anterior).

• A função A função FF::UU RR33 RR definedefine umum campo escalarcampo escalar pois pois associa um número real a cada ponto do associa um número real a cada ponto do RR33..

Page 12: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

12

Instituto de Computação - UFF cederj

Objetos gráficos espaciaisObjetos gráficos espaciais: : exemplo de exemplo de superfície definida de forma implícitasuperfície definida de forma implícita

• Exemplo: cilindro.Exemplo: cilindro.

– Se Se ((xx,,yy,,zz)) são os pontos de um cilindro são os pontos de um cilindro de raio de raio RR então:então:

||(||(xx,,yy,,zz)-()-(00,,00,,zz)|| = )|| = RR

• Daí segue-se que:Daí segue-se que:F(F(xx,,yy,,zz) = ) = xx22++yy22--rr22

Page 13: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

13

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : Superfícies – Superfícies – atributos geométricos atributos geométricos

• Um vetor Um vetor vvRR33 é é tangentetangente a uma superfície a uma superfície SS em um ponto em um ponto pp se existe uma curva se existe uma curva paramétrica paramétrica ((-1-1,,11))SS tal que tal que ((00)=)=pp e e ’’((00)=)=vv..

p v

Page 14: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

14

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : Superfícies – Superfícies – atributos geométricos atributos geométricos

• O conjunto de todos os vetores tangentes a O conjunto de todos os vetores tangentes a SS no ponto no ponto pp determina o determina o plano tangenteplano tangente de de SS em em pp que denominamos que denominamos TTppSS. .

pv

TTppSS

Page 15: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

15

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : Superfícies – Superfícies – atributos geométricos atributos geométricos

• Um vetor Um vetor nnRR33 é é normalnormal à superfície à superfície SS no no ponto ponto pp se se nn é perpendicular a é perpendicular a TTppSS..

p

N

Page 16: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

16

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : objetos objetos volumétricosvolumétricos

• São São análogos tridimensionais às regiõesanálogos tridimensionais às regiões no no caso planar.caso planar.

• Possuem a mesma dimensão do espaço Possuem a mesma dimensão do espaço ambiente.ambiente.

• São denominados São denominados sólidossólidos..

Page 17: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

17

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : objetos objetos volumétricosvolumétricos

• SólidoSólido: subconjunto de pontos : subconjunto de pontos ppVVRR33 tal quetal quepara todo ponto para todo ponto pp,, existe uma vizinhança “sólida, com existe uma vizinhança “sólida, com volume” completamente contida em volume” completamente contida em VV..

Page 18: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

18

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : objetos objetos volumétricosvolumétricos

1p

BB33((p,p,))

BB33((0,10,1))

• Em um sólido é possível aplicar uma deformação contínua ( “amassar ou esticar”, sem “recortar” ou “colar”) sobre qualquer região na vizinhança de um ponto até que ela se torne uma esfera ou semi-esfera unitária.

Page 19: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

19

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : objetos objetos volumétricosvolumétricos

• Um objeto volumétrico é normalmente Um objeto volumétrico é normalmente descrito por uma descrito por uma função de densidadefunção de densidade..

• Uma função de densidade Uma função de densidade constanteconstante é muito é muito utilizada para descrever peças mecânicas.utilizada para descrever peças mecânicas.

• Funções de densidade Funções de densidade variáveisvariáveis descrevem descrevem objetos com opacidades variáveis como objetos com opacidades variáveis como tecidos, ossos, pele, etc.tecidos, ossos, pele, etc.

Page 20: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

20

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : objetos objetos volumétricosvolumétricos

• Mais exemplos: tecidos humanos e uma peça.Mais exemplos: tecidos humanos e uma peça.

Page 21: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

21

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : como como descrever objetos volumétricosdescrever objetos volumétricos

• Objetos volumétricos podem ser Objetos volumétricos podem ser descritos de duas formas:descritos de duas formas:

– Descrição por Descrição por bordobordo..

– Descrição por Descrição por funções implícitasfunções implícitas..

Page 22: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

22

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : como como descrever objetos volumétricosdescrever objetos volumétricos

• O O Teorema de JordanTeorema de Jordan é utilizado para é utilizado para caracterizar regiões do plano.caracterizar regiões do plano.

• O mesmo teorema se estende para o O mesmo teorema se estende para o espaço tridimensional.espaço tridimensional.

Page 23: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

23

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : como como descrever objetos volumétricosdescrever objetos volumétricos

• Teorema de Jordan:Teorema de Jordan:““Uma superfície fechada, limitada e sem bordo Uma superfície fechada, limitada e sem bordo MM em em RR33 divide o espaço em duas regiões divide o espaço em duas regiões RR11 e e RR22, ,

uma limitada e outra ilimitada das quais uma limitada e outra ilimitada das quais MM é é fronteira comum”fronteira comum”

• A região limitada A região limitada RR11 define um define um sólido.sólido.

R1 R2Superfície

Page 24: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

24

Instituto de Computação - UFF

V

Objetos gráficos espaciaisObjetos gráficos espaciais: : objetos objetos volumétricos – representação por bordovolumétricos – representação por bordo

• A descrição de um sólido pelo bordo fica A descrição de um sólido pelo bordo fica completamente caracterizada por duas completamente caracterizada por duas etapas:etapas:

– Descrição da superfície que define o Descrição da superfície que define o bordobordo..– Solução do problema de Solução do problema de classificação classificação

ponto-conjuntoponto-conjunto..

pSuperfície ou bordo

p’

pV

Classificador

, p’V

Page 25: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

25

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : objetos objetos volumétricos – representação por bordovolumétricos – representação por bordo

• A representação por bordo A representação por bordo pode não ser pode não ser desejável para desejável para representar um objeto representar um objeto volumétrico por dois motivos:volumétrico por dois motivos:

– Precisamos Precisamos resolver o resolver o problema de problema de classificação ponto conjuntoclassificação ponto conjunto para determinar para determinar se um ponto pertence ao sólido.se um ponto pertence ao sólido.

– Não permiteNão permite a descrição de sólidos a descrição de sólidos constituídos de constituídos de matéria não-homogêneamatéria não-homogênea..

Page 26: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

26

Instituto de Computação - UFF

Objetos gráficos espaciais:Objetos gráficos espaciais: objetos objetos volumétricos – representação implícitavolumétricos – representação implícita

• Seja Seja FF::RR33 RR uma função que divide o espaço uma função que divide o espaço em 3 classes:em 3 classes:

1.1. {({(xx,,yy,,zz)) RR33; ; FF((xx,,yy,,zz)>)>00}}

2.2. {({(xx,,yy,,zz)) RR33; ; FF((xx,,yy,,zz)=)=00}=}=FF-1-1((00))

3.3. {({(xx,,yy,,zz)) RR33; F(; F(xx,,yy,,zz)<)<00}}

• O conjunto O conjunto FF-1-1((00)) define uma superfície define uma superfície implícita implícita MM e os outros pontos definem o e os outros pontos definem o interior e exterior de interior e exterior de MM..

Page 27: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

27

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : objetos objetos volumétricos – representação implícitavolumétricos – representação implícita

• O sólido é formado pela O sólido é formado pela região limitadaregião limitada juntamente com a juntamente com a superfície de bordo superfície de bordo MM..

• A própria função A própria função FF resolve o problema de resolve o problema de classificação ponto conjunto.classificação ponto conjunto.

• Além disso pode ser interpretada como Além disso pode ser interpretada como função densidadefunção densidade..

Page 28: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

28

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : representação representação de superfíciesde superfícies

• As curvas poligonais desempenham um papel As curvas poligonais desempenham um papel importante na representação de curvas importante na representação de curvas planas.planas.

• No caso de superfícies este papel é No caso de superfícies este papel é representado pelas representado pelas superfícies poliédricassuperfícies poliédricas..

• As superfícies poliédricas se baseiam no As superfícies poliédricas se baseiam no conceito de conceito de triangulaçãotriangulação..

Page 29: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

29

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : triangulações triangulações 2D no espaço2D no espaço

• Três pontos Três pontos pp00,, pp11 e e pp22 formam um triângulo no formam um triângulo no

RR33 se os vetores se os vetores pp11- p- p00, , pp11- p- p22 forem forem linearmente linearmente

independentesindependentes..

• Uma Uma triangulaçãotriangulação 2D 2D no no RR33 é uma coleção é uma coleção

TT={T={Tii}} de triângulos tal que para dois triângulos de triângulos tal que para dois triângulos

distintos distintos TTii e e TTjj em em TT, com , com TTiiTTjj temos:temos:• TTiiTTjj é um vértice em comum ou, é um vértice em comum ou,

• TTiiTTjj é uma aresta em comum. é uma aresta em comum.

Page 30: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

30

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : triangulações 3Dtriangulações 3D

• Uma lista de quatro pontos Uma lista de quatro pontos = ( = (pp00,,pp11,,pp22,,pp33)), com , com ppiiRR33,, formam formam

umum tetraedro tetraedro no no RR33, se os vetores , se os vetores pp11- p- p00, , pp22- p- p00 e e pp33- p- p00 são são

linearmente independenteslinearmente independentes..

• Os pontos Os pontos pp00,, pp11, , pp22 e e pp33 são os são os vérticesvértices, os segmentos, os segmentos pp00pp11, , pp11pp22,,

pp00pp22, , pp00pp33, , pp11pp33 e e pp22pp33 são as são as arestasarestas e os triângulos e os triângulos pp00pp11pp22, ,

pp00pp11pp33, , pp00pp22pp33 e e pp11pp22pp33 são as são as facesfaces do tetraedro. do tetraedro.

p0

p1

p2

p3

vértices

facessegmento

s

Page 31: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

31

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : triangulações 3Dtriangulações 3D

• Um tetraedro pode ser visto como a genera-Um tetraedro pode ser visto como a genera-lização de um lização de um triângulo no espaço 3Dtriângulo no espaço 3D..

• UmaUma triangulação 3Dtriangulação 3D ou ou triangulacão triangulacão volumétricavolumétrica do espaço é um conjunto finito do espaço é um conjunto finito {{11,..., ,..., nn}} de tetraedros tal que a interseção de tetraedros tal que a interseção

de dois tetraedros do conjunto é vazia, um de dois tetraedros do conjunto é vazia, um vértice, uma aresta ou uma face.vértice, uma aresta ou uma face.

Page 32: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

32

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : superfícies superfícies poliédricaspoliédricas

• Uma Uma superfície poliédricasuperfície poliédrica é uma triangulação 2D do é uma triangulação 2D do espaço que representa uma superfície.espaço que representa uma superfície.

• Como temos mais graus de liberdade ao posicionar Como temos mais graus de liberdade ao posicionar os triângulos no espaço devemos evitar o seguinte os triângulos no espaço devemos evitar o seguinte caso:caso:

• Para isso, impomos a restrição de que cada aresta Para isso, impomos a restrição de que cada aresta seja compartilhada por apenas 2 triângulos.seja compartilhada por apenas 2 triângulos.

Page 33: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

33

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : por que por que utilizar triângulos?utilizar triângulos?

• Faces triangulares apresentam as seguintes Faces triangulares apresentam as seguintes vantagens:vantagens:

– Planaridade.Planaridade.

– Sistema de coordenadas.Sistema de coordenadas.

– ExtensibilidadeExtensibilidade..

Page 34: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

34

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : codificação codificação de superfícies poliédricasde superfícies poliédricas

• Problema:Problema: – Como codificar a Como codificar a estrutura geométrica e estrutura geométrica e

topológicatopológica (sistema de vizinhanças) (sistema de vizinhanças) da da superfície poliédrica?superfície poliédrica?

• A codificação está diretamente associada a A codificação está diretamente associada a estrutura de dadosestrutura de dados associada a triangulação associada a triangulação da superfície.da superfície.

Page 35: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

35

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : codificação codificação de superfícies poliédricasde superfícies poliédricas

• Uma superfície poliédrica pode ser codificada Uma superfície poliédrica pode ser codificada através de através de grafosgrafos..

• Temos dois grafos associados a uma Temos dois grafos associados a uma superfície poliedral:superfície poliedral:

• Grafo de vérticesGrafo de vértices– Induzido pelos vértices e arestas da superfície.Induzido pelos vértices e arestas da superfície.

• Grafo dualGrafo dual– Um vértice existe para cada face da superfície, Um vértice existe para cada face da superfície,

os quais são conectados por uma aresta no grafo os quais são conectados por uma aresta no grafo se as faces associadas são vizinhas.se as faces associadas são vizinhas.

Page 36: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

36

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : codificação codificação de superfícies poliédricasde superfícies poliédricas

Vértice Aresta

Grafo de vértices

Grafo dual

Vértice Aresta

• O problema de estruturação da superfície poliédrica O problema de estruturação da superfície poliédrica se resume a se resume a codificação dos grafos associadoscodificação dos grafos associados..

Page 37: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

37

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : codificação codificação de superfícies poliédricasde superfícies poliédricas

• A representação de uma superfície é vista como um A representação de uma superfície é vista como um banco de dados geométricobanco de dados geométrico..

• É comum efetuar certos tipos de consulta sobre É comum efetuar certos tipos de consulta sobre propriedades geométricas e topológicas da propriedades geométricas e topológicas da superfície:superfície:

– Achar todas as arestas que incidem em um vértice.Achar todas as arestas que incidem em um vértice.– Achar todos os polígonos que compartilham uma Achar todos os polígonos que compartilham uma

aresta ou um vértice.aresta ou um vértice.– Achar as arestas que delimitam um polígono.Achar as arestas que delimitam um polígono.– Visualizar a superfície.Visualizar a superfície.

Page 38: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

38

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : codificação codificação de superfícies poliédricasde superfícies poliédricas

• A escolha da codificação está intimamente ligada ao A escolha da codificação está intimamente ligada ao conjunto de operações que se deseja realizar.conjunto de operações que se deseja realizar.

• Veremos 3 tipos de codificação:Veremos 3 tipos de codificação:

– Codificação explícita.Codificação explícita.

– Codificação por lista de vértices.Codificação por lista de vértices.

– Codificação por lista de arestasCodificação por lista de arestas..

Page 39: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

39

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : codificação codificação de superfícies poliédricas - explícitade superfícies poliédricas - explícita

• Codifica explicitamente os polígonos da Codifica explicitamente os polígonos da superfície fornecendo uma lista de vértices superfície fornecendo uma lista de vértices com suas coordenadas.com suas coordenadas.

Codificação explícitaCodificação explícita

ff11 = (( = ((xx11,,yy11,,zz11),(),(xx55,,yy55,,zz55),(),(xx22,,yy22,,zz22))))

ff22 = ((= ((xx33,,yy33,,zz33),(),(xx22,,yy22,z,z22),(),(xx55,,yy55,,zz55))))

ff33 = (( = ((xx33,,yy33,,zz3 3 ),(),(xx44,,yy44,,zz44),(),(xx55,,yy55,,zz55))))

ff44 = (( = ((xx11,,yy11,,zz1 1 ),(),(xx44,,yy44,,zz44),(),(xx55,,yy55,,zz55))))

ff55 = ((= ((xx11,,yy11,z,z11 ),(),(xx22,,yy22,,zz2 2 ),(),(xx33,,yy33,z,z3 3 ),(),(xx44,,yy44,,zz44)) x1,y1,z1

x2,y2,z2

x4,y4,z4

x3,y3,z3

x5,y5,z5

f2

f3f1

f4

f5

Page 40: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

40

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : codificação codificação de superfícies poliédricas - explícitade superfícies poliédricas - explícita

• Vantagens: Vantagens: Extremamente simplesExtremamente simples..

• Desvantagens - rDesvantagens - redundânciaedundância : :

– Ocupa Ocupa espaço de armazenamento desnecessárioespaço de armazenamento desnecessário..– Operações geométricas Operações geométricas podem introduzir erros podem introduzir erros

numéricosnuméricos independentes nas coordenadas dos independentes nas coordenadas dos vértices.vértices.

– IneficiênciaIneficiência (cada aresta é desenhada duas vezes na (cada aresta é desenhada duas vezes na visualização).visualização).

Page 41: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

41

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : propriedades propriedades desejadas em uma codificaçãodesejadas em uma codificação

• Para solucionar os problemas encontrados na Para solucionar os problemas encontrados na codificação explícita devemos eliminar os codificação explícita devemos eliminar os seguintes problemas:seguintes problemas:

– Evitar a replicação de vérticesEvitar a replicação de vértices..

– Codificar as Codificar as informações de adjacênciainformações de adjacência..

Page 42: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

42

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : codificação codificação por lista de vérticespor lista de vértices

• Criamos uma Criamos uma lista de vérticeslista de vértices e cada polígono da e cada polígono da superfície é definido por referência aos vértices desta superfície é definido por referência aos vértices desta lista.lista.

Lista de vérticesLista de vértices

vv11 = ( = (xx11,,yy11,,zz11))

vv22 = ( = (xx22,,yy22,,zz22))

vv33 = (= (xx33,,yy33,,zz33))

vv44 = ( = (xx44,,yy44,,zz44 ))

vv55 = (= (xx55,,yy55,,zz55 ))

Lista de facesLista de faces

ff11 = ( = (vv11,,vv55,,vv22))

ff22 = ( = (vv33,,vv22,,vv55))

ff33 = (= (vv33,,vv44,,vv55))

ff44 = ( = (vv11,,vv44,,vv55 ))

ff55 = ( = (vv11,,vv22,,vv33,,vv44 )) v1

v2

v4

v3

v5

f2

f3f1

f4

f5

Page 43: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

43

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : codificação codificação por lista de vérticespor lista de vértices

• Vantagens:Vantagens:– Proporciona Proporciona maior economia de espaçomaior economia de espaço..– Ao alterar as coordenadas de um vértice, Ao alterar as coordenadas de um vértice, todos os todos os

polígonos nele incidentes são alterados polígonos nele incidentes são alterados automaticamenteautomaticamente..

• Ainda alguns problemas:Ainda alguns problemas:

– É difícil determinar os polígonos que compartilham uma É difícil determinar os polígonos que compartilham uma aresta.aresta.

– Arestas compartilhadas são desenhadas duas vezes.Arestas compartilhadas são desenhadas duas vezes.

Page 44: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

44

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : codificação codificação por lista arestaspor lista arestas

• Acrescentamos uma Acrescentamos uma lista de arestaslista de arestas definida definida por pares de referências à lista de vértices.por pares de referências à lista de vértices.

• A A lista de faceslista de faces é definida por referências às é definida por referências às arestas que as definem, descritas na lista de arestas que as definem, descritas na lista de arestas.arestas.

Page 45: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

45

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : codificação codificação por lista arestaspor lista arestas

Lista de vérticesLista de vértices

vv11 = ( = (xx11,,yy11,,zz11))

vv22 = ( = (xx22,,yy22,,zz22))

vv33 = (= (xx33,,yy33,,zz33))

vv44 = (= (xx44,,yy44,,zz44 ))

vv55 = ( = (xx55,,yy55,,zz55 ))

Lista de facesLista de faces

ff11 = = ee11,,ee55,,ee66

ff22 = = ee22,,ee66,,ee77

ff33 = = ee33,,ee77,,ee88

ff44 = = ee44,,ee88,,ee55

ff55 = = ee11,,ee22,,ee33,,ee4 4

Lista de arestasLista de arestas

ee11 = = vv11,,vv22

ee22 = = vv22,,vv33

ee33 = = vv33,,vv44

ee44 = = vv44,,vv11

ee55 = = vv11,,vv55

ee66 = = vv22,,vv55

ee77 = = vv33,,vv55

ee88 = = vv44,,vv55

v4

v5

f2

f3f1

f4

f5

e1

e4

e5e8

e3v2

e7

e2

e6

Page 46: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

46

Instituto de Computação - UFF cederj

Objetos gráficos espaciaisObjetos gráficos espaciais: : codificação codificação por lista arestaspor lista arestas

• PropriedadesPropriedades

– Acesso a todas as arestasAcesso a todas as arestas sem precisar sem precisar percorrer as fronteiras dos polígonos.percorrer as fronteiras dos polígonos.

– As arestas que incidem em um vértice podem As arestas que incidem em um vértice podem ser obtidas através de uma combinação de ser obtidas através de uma combinação de algoritmos geométricos e de busca.algoritmos geométricos e de busca.

Page 47: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

47

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : codificação codificação por lista arestaspor lista arestas

• Podemos acrescentar na lista de arestas Podemos acrescentar na lista de arestas informações sobre as faces adjacentes a uma informações sobre as faces adjacentes a uma aresta. aresta.

Lista de arestasLista de arestas

ee11 = = vv11,,vv22,,ff11,,ff55

ee22 = = vv22,,vv33,,ff33,,ff55

ee33 = = vv33,,vv44 ,,ff22,,ff55

ee44 = = vv44,,vv11,,ff44,,ff55

ee55 = = vv11,,vv55,,ff11,,ff44

ee66 = = vv22,,vv55,,ff11,,ff33

ee77 = = vv33,,vv55,,ff22,,ff55

ee88 = = vv44,,vv55,,ff22,,ff44

Page 48: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

48

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : outras outras codificaçõescodificações

• As codificações descritas anteriormente ainda As codificações descritas anteriormente ainda possuem muitas restrições quanto à representação possuem muitas restrições quanto à representação da topologia das faces e da geometria do objeto da topologia das faces e da geometria do objeto gráfico.gráfico.

• Codificações mais completas são dadas pelas Codificações mais completas são dadas pelas estruturas topológicas clássicas como, por exemplo:estruturas topológicas clássicas como, por exemplo:

– Winged-edgeWinged-edge– Half-edgeHalf-edge– Radial-edgeRadial-edge

Page 49: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

49

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : winged-edgewinged-edge

• A aresta é o elemento fundamental desta estrutura de A aresta é o elemento fundamental desta estrutura de dados.dados.

• Juntamente com cada aresta são armazenadas as Juntamente com cada aresta são armazenadas as faces (polígonos) à direita e à esquerda.faces (polígonos) à direita e à esquerda.

• São também armazenadas para cada aresta as São também armazenadas para cada aresta as arestas sucessoras e predecessoras na ordem de arestas sucessoras e predecessoras na ordem de percorrimento de cada uma de suas faces.percorrimento de cada uma de suas faces.

Page 50: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

50

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : winged-edgewinged-edge

B

A

b d

c e

aresta vértice1 vértice2 face esq

face dir

pred esq

succ esq

pred dir

pred esq

a B A 0 1 c b d e

Page 51: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

51

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : winged-edgewinged-edge

A

B

C

D

b

ae

d

f

c0

1

2

aresta vértice1 vértice2 face esq

face dir

pred esq

succ esq

pred dir

pred esq

a A D 3 0 f e c b

b A B 0 2 a c d f

c B D 0 1 b a e d

d B C 1 2 c e f b

e C D 1 3 d c a f

f C A 3 2 e a b d

Vértice aresta

A a

B d

C d

D e

Vértice aresta

0 a

1 c

2 d

3 a

Page 52: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

52

Instituto de Computação - UFF

Objetos gráficos espaciaisObjetos gráficos espaciais: : winged-edgewinged-edge

• Obs: as duas tabelas de vértices e faces não são Obs: as duas tabelas de vértices e faces não são únicas.únicas.

• As consultas são feitas em tempo As consultas são feitas em tempo constanteconstante..

• Uma face pode acessar uma de suas arestas e Uma face pode acessar uma de suas arestas e percorrer os ponteirospercorrer os ponteiros para encontrar todas as suas para encontrar todas as suas arestas.arestas.

Page 53: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

53

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representações representações poliédricaspoliédricas

• Um método natural para representar uma superfície Um método natural para representar uma superfície SS consiste em consiste em aproximá-laaproximá-la por uma por uma superfície poliédricasuperfície poliédrica S’S’..

• Isto pode ser obtido através dos seguintes passos: Isto pode ser obtido através dos seguintes passos:

– Amostragem pontual da superfície.Amostragem pontual da superfície.

– Reconstrução através de interpolação linear, Reconstrução através de interpolação linear, estruturando-se as amostras de forma a se obter uma estruturando-se as amostras de forma a se obter uma triangulação.triangulação.

Page 54: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

54

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : aproximação poliedral aproximação poliedral de uma superfície paramétricade uma superfície paramétrica

• Representação de uma superfície Representação de uma superfície SS (esfera), dada (esfera), dada por uma função por uma função ff::UURR22RR33 através de umaatravés de uma superfície poliedral cujas faces são triângulos.superfície poliedral cujas faces são triângulos.

Face triangular

Page 55: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

55

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : aproximação poliedral aproximação poliedral de uma superfície paramétricade uma superfície paramétrica

• A triangulação deA triangulação de uma superfície paramétrica uma superfície paramétrica SS pode pode ser obtida através de uma triangulação do domínioser obtida através de uma triangulação do domínio UU da parametrizaçãoda parametrização..

U

S

Ilustração obtida de Optimal Adaptive Polygonal Approximation of Parametric Surfaces (L.H. Figueiredo e L. Velho)

Page 56: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

56

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : aproximação poliedral aproximação poliedral de uma superfície paramétricade uma superfície paramétrica

• SeSe ii é um triângulo deé um triângulo de UU, com vértices , com vértices ii = (= (ppi1i1,,ppi2i2,,ppi3i3)) então,as então,as

imagens imagens ff((ppi1i1)), , ff((ppi2i2)) e e ff((ppi3i3)) dos vértices de dos vértices de ii pela parametrização pela parametrização ff

são os vértices de um triângulo que aproxima a superfície são os vértices de um triângulo que aproxima a superfície SS..

ii

U

S

ppi1i1

ppi2i2

ppi3i3

ff((ppi1i1))

ff((ppi2i2))ff((ppi3i3))

Page 57: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

57

Instituto de Computação - UFF

S

Objetos gráficosObjetos gráficos: : representação por representação por subdivisão paramétricasubdivisão paramétrica

• Uma superfície paramétrica pode ser representada através de Uma superfície paramétrica pode ser representada através de pedaços de superfícies denominados pedaços de superfícies denominados retalhos retalhos ((patchespatches).).

• Os retalhos em conjunto e, devidamente estruturados, Os retalhos em conjunto e, devidamente estruturados, determinam a superfície determinam a superfície SS..

Page 58: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

58

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representação por representação por subdivisão paramétricasubdivisão paramétrica

• Definição: uma superfície Definição: uma superfície SS é é paramétrica por partesparamétrica por partes se existir uma decomposição de se existir uma decomposição de SS em em SS = = iiSSii, onde , onde

cada sub-superfície é descrita por uma parametrização cada sub-superfície é descrita por uma parametrização ii::UU SSii..

U11::UU SS11

22::UU SS22

33::UU SS33

44::UU SS44

S

S1S2

S3 S4

Page 59: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

59

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representação por representação por subdivisão paramétricasubdivisão paramétrica

Superfície formada por vários retalhos

Page 60: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

60

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representação por representação por subdivisão paramétricasubdivisão paramétrica

• Existem 3 métodos de representação dos retalhos Existem 3 métodos de representação dos retalhos SSii de de

uma superfície uma superfície SS::

– Representação pelos Representação pelos vérticesvértices..– Representação por Representação por duas curvasduas curvas da fronteira. da fronteira.– Representação por Representação por quatro curvasquatro curvas..

• Cada esquema de representação Cada esquema de representação requer um requer um método método para reconstrução do retalhopara reconstrução do retalho..

Page 61: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

61

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representação de representação de retalhos por vérticesretalhos por vértices

• O retalho é representado por quatro vértices O retalho é representado por quatro vértices pp0000, , pp1010, , pp1111 e e pp0101..

• Problema de reconstrução:Problema de reconstrução:– Seja um quadrado unitário e quatro pontos Seja um quadrado unitário e quatro pontos AA, , BB, , CC e e DD do do RR33 e e

seja seja T T uma transformação tal que uma transformação tal que TT((0,00,0)=)=AA, , TT((1,01,0))=B=B , , TT((1,11,1))=C=C e e TT((0,10,1)) = D = D..

– Determinar o valor de Determinar o valor de TT em um ponto em um ponto p=p=((u,vu,v)) no interior do no interior do quadrado. quadrado.

(1,1)(0,1)

(0,0) (1,0)

AB

C

DT(p)

p=(u,v)

Page 62: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

62

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representação de representação de retalhos por vérticesretalhos por vértices

• A transformação A transformação não é uma transformação linearnão é uma transformação linear, a , a menos que menos que AA, , BB, , CC e e DD sejam coplanares. sejam coplanares.

• Várias soluções são possíveis.Várias soluções são possíveis.

• Uma solução: Uma solução: interpolação bilinearinterpolação bilinear..

Page 63: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

63

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representação de representação de retalhos por vérticesretalhos por vértices

• Reconstrução por interpolação bilinearReconstrução por interpolação bilinear

(1,1)(0,1)

(0,0) (1,0)

pA

B

C

D

u

v

T(p’)=T[(0,0)(1-v)+T(0,1)v]

T(p’)=T[(0,0)](1-v)+T[(0,1)]v

T(p’)=A(1-v)+Cv

T(p)

p’’p’

T(p’’)=T[(1,0)(1-v)+T(1,1)v]

T(p’’)=T[(1,0)](1-v)+T[(1,1)]v

T(p’’)=B(1-v)+Dv

p’=(0,0)(1-v)+(1,0)v p’’=(1,0)(1-v)+(1,1)v

Page 64: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

64

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representação de representação de retalhos por vérticesretalhos por vértices

• Reconstrução por interpolação bilinearReconstrução por interpolação bilinear

(1,1)(0,1)

(0,0) (1,0)

pA

B

C

D

u

v

T(p)=T[p’(1-u)+p’’u]

T(p)=T(p’)(1-u)+T(p’’)u

T(p)=[A(1-v)+Cv](1-u)+[B(1-v)+Dv]u

T(p)

p’’p’

p=p’(1-u)+p’’u

T(p’)T(p’’)

Page 65: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

65

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representação de representação de retalhos por vérticesretalhos por vértices

• Representação por vértices – propriedades:Representação por vértices – propriedades:

– Se os pontos Se os pontos AA, , BB, , CC e e DD são coplanares então o retalho é um são coplanares então o retalho é um quadrilátero.quadrilátero.

– Segmentos de reta horizontais e verticais do plano Segmentos de reta horizontais e verticais do plano ((uu,,vv)) são são levados em segmentos de reta.levados em segmentos de reta.

– Outros segmentos são levados em curvas do segundo grau Outros segmentos são levados em curvas do segundo grau (hipérboles).(hipérboles).

– Preserva uma subdivisão uniforme dos lados do quadrado.Preserva uma subdivisão uniforme dos lados do quadrado.

– Aproxima as curvas da fronteira do retalho por um Aproxima as curvas da fronteira do retalho por um segmento de reta.segmento de reta.

Page 66: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

66

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representação de representação de retalhos por quatro curvasretalhos por quatro curvas

• Neste método representamos um retalho pelo par de curvas Neste método representamos um retalho pelo par de curvas ((ppu0u0,,ppu1u1) ou ) ou ((pp0v0v,,pp1v1v))..

• A reconstrução do retalho é obtida A reconstrução do retalho é obtida interpolando-se linearmente as interpolando-se linearmente as duas curvasduas curvas..

• Essa técnica é denominada Essa técnica é denominada loftinglofting..

pp0v0v

pp1v1v

ppu1u1

ppu0u0

Page 67: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

67

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representação de representação de retalhos por quatro curvasretalhos por quatro curvas

• Neste método, um retalho é definido por quatro curvas Neste método, um retalho é definido por quatro curvas ppu0u0,,ppu1u1,, pp0v0v e e pp1v1v..

pp0v0v

pp1v1v

ppu0u0

ppu1u1

Page 68: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

68

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representação de representação de retalhos por quatro curvasretalhos por quatro curvas

• Problema de reconstrução:Problema de reconstrução:– Construir uma parametrização Construir uma parametrização CC:[:[00,,11]x[]x[00,,11]]RR33 tal que as tal que as

curvas curvas pp0v0v((vv)), , pp1v1v((vv)), , ppu0u0((uu)),, ppu1u1(u)(u) sejam bordo do retalho definido sejam bordo do retalho definido

por por CC..

– Isto significa que:Isto significa que:

CC((0,v0,v)) = p = p0v0v; ; CC((1,v1,v))=p=p1v1v((vv)); ; CC((u,0u,0))= p= pu0u0((uu)); ; CC((u,1u,1)) = p = pu1u1((uu))

pp0v0v

pp1v1v

ppu0u0

ppu1u1

Page 69: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

69

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representação de representação de retalhos por quatro curvasretalhos por quatro curvas

• O método que descreveremos para reconstruir o retalho a partir O método que descreveremos para reconstruir o retalho a partir das quatro curvas é denominado das quatro curvas é denominado Parametrização de CoonsParametrização de Coons..

• Consiste em Consiste em combinar diversas interpolações lineares das curvas combinar diversas interpolações lineares das curvas de bordode bordo segundo o seguinte esquema: segundo o seguinte esquema:

– Lofting verticalLofting vertical – interpolamos linearmente as curvas – interpolamos linearmente as curvas ppu0u0 e e ppu1u1..

((1-v1-v))ppu0u0((uu)+)+vpvpu1u1((uu))

– Lofting horizontalLofting horizontal – interpolamos linearmente as curvas – interpolamos linearmente as curvas pp0v0v e e pp1v1v..

((1-u1-u))pp0v0v((vv)+)+upup1v1v((vv))

Page 70: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

70

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representação de representação de retalhos por quatro curvasretalhos por quatro curvas

ppu0u0

ppu1u1

Lofting vertical

pp0v0v

pp1v1v

Lofting horizontal

Page 71: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

71

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representação de representação de retalhos por quatro curvasretalhos por quatro curvas

• Soma dos dois Soma dos dois loftingsloftings – somamos as operações de – somamos as operações de loftinglofting horizontal e vertical obtendo a parametrização horizontal e vertical obtendo a parametrização

C’C’((u,vu,v))==((1-v1-v))ppu0u0((uu))+vp+vpu1u1((uu))++((1-u1-u))pp0v0v((vv))+up+up1v1v((vv))

• Observe que o bordo é Observe que o bordo é

C’C’((0,v0,v))==((1-v1-v))pp0000((uu))+vp+vp0101((uu))+p+p0v0v((vv))

• Isto é, a soma da curva Isto é, a soma da curva pp0v0v com a interpolação linear com a interpolação linear

((1-v1-v))pp0000((uu) + ) + vpvp0101 dos vértices dos vértices pp0000 e e pp0101 ..

• Resultado análogo vale para as outras curvas do bordo.Resultado análogo vale para as outras curvas do bordo.

Page 72: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

72

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representação de representação de retalhos por quatro curvasretalhos por quatro curvas

• Logo, efetuamos uma subtração da parametrização Logo, efetuamos uma subtração da parametrização C’C’((u,vu,v)) da da interpolação bilinear dos vértices interpolação bilinear dos vértices pp0000,,pp1010,,pp1111 e e pp0101..

• Como resultado, obtemos a parametrização de Como resultado, obtemos a parametrização de coons coons dada por:dada por:

CC((u,vu,v)) = C’ = C’((u,vu,v))-B-B((u,vu,v))

pp0v0v

pp1v1vppu0u0

ppu1u1

pp1v1v

pp0v0v

pp1v1vppu0u0

ppu1u1

Page 73: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

73

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representação de representação de retalhos por quatro curvasretalhos por quatro curvas

C6

C7

C5

C3

C4C2

C1

Superfície definida por retalho de Coons – Coelho - 1998

Page 74: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

74

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representação e representação e continuidadecontinuidade

• A reconstrução de cada retalho A reconstrução de cada retalho SSii é feita separadamenteé feita separadamente..

• Logo, é necessário Logo, é necessário controlar o controlar o grau de regularidadegrau de regularidade da colagem da colagem dos diversos elementosdos diversos elementos SSii..

• Na representação linear por partes exige-se pelo menos a Na representação linear por partes exige-se pelo menos a

continuidadecontinuidade da superfície da superfície..• Outros graus de regularidade são exigidos conforme as Outros graus de regularidade são exigidos conforme as

aplicações.aplicações.

descontinuidade

Page 75: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

75

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representação de representação de objetos volumétricosobjetos volumétricos

• Um objeto volumétrico pode ser representado Um objeto volumétrico pode ser representado de dois modos:de dois modos:

– Representação por bordoRepresentação por bordo..

– Representação por decomposição do espaço.Representação por decomposição do espaço.

Page 76: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

76

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representação por representação por bordobordo

• A representação por bordo baseia-se no A representação por bordo baseia-se no Teorema de JordanTeorema de Jordan..

• Só é adequada se o sólido Só é adequada se o sólido não possui atributos não possui atributos que variam em seu interiorque variam em seu interior..

– Exemplo: peças mecânicas.Exemplo: peças mecânicas.

– Contra-exemplo: dados de medicina sobre o Contra-exemplo: dados de medicina sobre o corpo humano.corpo humano.

Page 77: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

77

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representação por representação por bordobordo

• A representação por bordo é também conhecida com A representação por bordo é também conhecida com representação representação B-repB-rep ( (Boundary RepresentationBoundary Representation))..

• Esse tipo de representação requer um método para Esse tipo de representação requer um método para determinar a superfície que delimita um sólido.determinar a superfície que delimita um sólido.

– Exemplo: métodos de poligonização de superfícies Exemplo: métodos de poligonização de superfícies implícitas.implícitas.

Page 78: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

78

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representação por representação por bordobordo

• Quando o sólido possui densidades variáveis tais Quando o sólido possui densidades variáveis tais métodos permitem a geração de métodos permitem a geração de superfícies de nívelsuperfícies de nível..

• Estas superfícies correspondem a subconjuntos do Estas superfícies correspondem a subconjuntos do sólido que possuem um ou mais valores de atributos sólido que possuem um ou mais valores de atributos constantes.constantes.

• São muito utilizadas na São muito utilizadas na área de imagens médicasárea de imagens médicas..

Page 79: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

79

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representação por representação por decomposiçãodecomposição

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

– Representação uniforme.Representação uniforme.

– Representação não-uniforme.Representação não-uniforme.

Page 80: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

80

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representação por representação por decomposiçãodecomposição

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

• Esse esquema dá origem a uma Esse esquema dá origem a uma representação representação matricialmatricial..

Page 81: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

81

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representação matricialrepresentação matricial

• É definida a partir do produto cartesiano de partições É definida a partir do produto cartesiano de partições uniformes de intervalos dos eixos coordenados.uniformes de intervalos dos eixos coordenados.

• Cada célula do reticulado está associada a um Cada célula do reticulado está associada a um paralelepípedo e é denominada paralelepípedo e é denominada voxelvoxel..

voxel

z

x

y

Page 82: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

82

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representação matricialrepresentação matricial

• Cada voxel possui uma amostra dos valores de Cada voxel possui uma amostra dos valores de atributos na região associada pertencente ao sólido.atributos na região associada pertencente ao sólido.

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

• Pode ser entendida com uma Pode ser entendida com uma imagem 3Dimagem 3D onde os onde os voxelsvoxels fazem o papel dos fazem o papel dos pixelspixels..

Page 83: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

83

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representação matricialrepresentação matricial

• Vantagens da representação matricial:Vantagens da representação matricial:

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

– A A visualização é simplesvisualização é simples devido a sua devido a sua estrutura estrutura simplessimples..

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

Page 84: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

84

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representação não-representação não-uniformeuniforme

• São representações em que tanto a São representações em que tanto a dimensão quanto dimensão quanto a geometria das células podem variara geometria das células podem variar..

• Exemplos:Exemplos:

– Representações adaptativas comoRepresentações adaptativas como quadtrees quadtrees e e octreesoctrees utilizam células de tamanho variável.utilizam células de tamanho variável.

– Diagramas de VoronoiDiagramas de Voronoi permitem a representação por permitem a representação por células cujo tamanho e forma variam.células cujo tamanho e forma variam.

Page 85: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Objetos gráficos espaciais

85

Instituto de Computação - UFF

Objetos gráficosObjetos gráficos: : representação não-uniformerepresentação não-uniforme

raiz

OctreeDiagrama de voronoi