introdução ao processamento e síntese de imagens...introdução ao processamento e síntese de...

41
Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Introdução ao Processamento e Síntese de imagens - Linhas e superfícies escondidas Fontes: Rogers, D. F. – Procedural Elements for Computer Graphics Fontes: Rogers, D. F. – Procedural Elements for Computer Graphics Júlio Kiyoshi Hasegawa 2016

Upload: others

Post on 26-Apr-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Introdução ao Processamento e

Síntese de imagens - Linhas e superfícies

escondidas

Fontes:

Rogers, D. F. – Procedural Elements for Computer Graphics

Fontes:

Rogers, D. F. – Procedural Elements for Computer Graphics

Júlio Kiyoshi Hasegawa2016

Page 2: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

� Linhas e superfícies escondidas/ocultas

� Algoritmos que determinam linhas, arestas,superfícies ou volumes que são visíveis ouinvisíveis a um observador numdeterminado ponto.

� depende do ponto de vista.

Introdução

Page 3: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

� Linhas e superfícies escondidas/ocultas

� A visualização wire frame de um objeto 3D pode ser ambígua, nem sempre permitindo a clara identificação de qual face está na frente de outra.

� Os algoritmos de Remoção de Linhas Escondidas (hidden line) procuram eliminar esta ambigüidade, removendo as linhas que se encontram escondidas por outras faces

� Fonte: Ting e Martino - 2009

Introdução

Page 4: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

� Linhas e superfícies escondidas/ocultas

� Os algoritmos de Remoção de Superfícies Escondidas (hidden surface) procuram remover faces que se encontram atrás de outras.

� Fonte: Ting e Martino - 2009

Introdução

Page 5: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

� Linhas e superfícies escondidas/ocultas� Exemplo de visualização

Introdução

Page 6: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

� Algoritmos podem ser classificados em dois

modos:

� os que são implementados no sistema de

coordenadas real, são + precisos.

� Os que são implementados no espaço imagem,

menor precisão.

� Custo computacional:

� 1o caso: se há n objetos faz n2 comparações.

� 2o caso: faz nN comparações, onde n número de

objetos e N é o número de pixels.

� 2o caso é menos trabalhoso que o 1o caso

se:

� n < N

Introdução

Page 7: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

� Condição que quase sempre isto não ocorre,

pois geralmente (N = 5122).

� Mas, na prática, geralmente, as

implementações são realizadas no espaço

imagem a fim de aproveitar as facilidades

das coerências no modo raster.

Introdução

Page 8: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Descrição Geométrica

Superfícies paramétricas (funções

matemáticas)

Page 9: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

� converte o problema 3D em 2D,

� usa função → F(x, y, z) = 0;

� O algoritmo é relativamente fácil de ser

implementado, bastando gerar um vetor com

tamanho da janela de visualização

(denominado de Floating Horizon).

� Implementado, no espaço imagem;

� interceptando a superfície ou linhas com uma

série de planos paralelos em constantes

valores de x, y e z.

� F(x, y, z) → y = f(x,z) ou x = f(y,z)

Floating Horizon Algorithm: Funções paramétricas

Page 10: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

� Algoritmo (p/ z = cte + próximo do obs.)

� A curva será visível para um dado valor de x

se o y calculado é maior que y anterior

calculado no ponto x (para o plano anterior).

Floating Horizon Algorithm: Funções paramétricas

Page 11: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Floating Horizon Algorithm: Vetor auxiliar

Y1

Y1

Y1

Y1

Y1

Y1

Y1

Y1

Y1

Y1

Y1

Y1

Y1

Y1

Y1

Y1

Y1

Y1

Y1

Z1

Z1

Z2

Y2

Y2

Y2

Y2

Y2

Y2

Y2

Y2

Y2

Y2

Y2

Y2

Y2

Y2

Y2

Y2

Y2

Y2

Y2

X Y = f(X, Z)

Y

X Y = f(X, Z)

Y

Page 12: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Floating Horizon Algorithm: Vetor auxiliar

Y3

Y3

Y3

Y3

Y3

Y3

Y3

Y3

Y3

Y3

Y3

Y3

Y3

Y3

Y3

Y3

Y3

Y3

Y3

Z1

Z2

Z3

X Y = f(X, Z)

Y

Page 13: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Floating Horizon Algorithm: Vetor auxiliar

Y4

Y4

Y4

Y3

Y3

Y3

Y3

Y4

Y4

Y3

Y4

Y4

Y4

Y4

Y3

Y3

Y4

Y4

Y4

Z1

Z2

Z3

Z4

X Y = f(X, Z)

Y

Page 14: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Floating Horizon Algorithm: Vetor auxiliar

Z1

Z2

Z3

Z4

Z5

Y5

Y5

Y5

Y3

Y3

Y3

Y5

Y5

Y5

Y3

Y5

Y5

Y5

Y5

Y5

Y5

Y5

Y5

Y5

X Y = f(X, Z)

Y

Page 15: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

� O algoritmo tem problema, na depressão da curva.Coord. z menor em relação as anteriores.

� Neste caso o algoritmo declara como invisível aextensão da curva, que é visível, que está abaixodas outras.

� Um vetor de dimensão igual a resolução dadimensão x é gerado para armazenar o valormínimo de y para cada ponto x.

Floating Horizon Algorithm: Funções paramétricas

Page 16: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Assim o algoritmo tem a seguinte característica:

� O procedimento adotado no caso anterior.

� O teste deve ser realizado verificando oslimites superior e inferior no ponto analisadoarmazenando os extremos nos vetores.

� A implementação é realizada usando umsegundo vetor igual a resolução da imagem(x).

Floating Horizon Algorithm: Funções paramétricas

Page 17: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Floating Horizon Algorithm: 2 Vetores auxiliares

Page 18: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Floating Horizon Algorithm: 2 Vetores auxiliares

Page 19: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Floating Horizon Algorithm: 2 Vetores auxiliares

Page 20: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Representações

B-rep

Descrição Geométrica

Page 21: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

� Equação do plano:

� ax + by + cz + d = 0

� Equação do plano:

� ax + by + cz + d = 0

[ ] 01 =

d

c

b

a

zyxVetor normal ao plano:

→→→

++= kcjbian

Eliminar as superfícies escondidas:Produto interno - Vetor observação (V) com o vetor normal (N) à superfície.

Equação do plano e normal ao plano

N V

θ

0)cos( ≥••

=VN

VNθ

Page 22: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Utilizando três pontos:

a´x + b´y + c´z = 1

d = -(a´x + b´y + c´z)

Técnica de Newell:

1sen

1

:

))((

))((

))((

1

1

1

+=

==

+−=

+−=

+−=

=

=

=

ijão

jentãonise

onde

yyxxc

xxzzb

zzyya

n

i

jiji

n

i

jiji

n

i

jiji

Equação do plano e normal ao plano

Métodos Alternativos:

Page 23: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

(0,0,0)

(0,0,1) (1,0,1)

(1,0,0)

(1,1,1)(0,1,1)

(0,1,0)(1,1,0)

Posição do observador – (0.5, -10.0, 10.0)

Faces visíveis ? 1 – Frontal; 2 – Lateral direita;

3 – Lateral esquerda; 4 – Inferior;

5 – Superior; 6 – Posterior.

(0,0,0)

(0,0,1) (1,0,1)

(1,0,0)

(1,1,1)(0,1,1)

(0,1,0)(1,1,0)

Posição do observador – (0.5, -10.0, 10.0)

Faces visíveis ? 1 – Frontal; 2 – Lateral direita;

3 – Lateral esquerda; 4 – Inferior;

5 – Superior; 6 – Posterior.

Equação do plano e normal ao plano - exemplo

Page 24: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Face 1:

Vetor Normal – sentido horário

1sen

1

:

))((

))((

))((

1

1

1

+=

==

+−=

+−=

+−=

=

=

=

ijão

jentãonise

onde

yyxxc

xxzzb

zzyya

n

i

jiji

n

i

jiji

n

i

jiji

=

0

0

0

0

1001

1101

1100

1000

d

c

b

a

b = (0-1)(0+0) + (1 -1)(0+1)+(1-0)(1+1)+(0-0)(1+0) = 2

Face 1:

Vetor Normal – sentido anti-horário

b = (0-0)(0+1) + (0 -1)(1+1)+(1-1)(1+0)+(1-0)(0+0) = -2

=

0

0

0

0

1100

1101

1001

1000

d

c

b

a

Equação do plano e normal ao plano - exemplo

Page 25: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Observador

α

Superfície é visível se:

0)cos( >⋅

=ln

lnα

n

l

Page 26: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Algoritmo de Visibilidade por Prioridade ou

Algoritmo do Pintor

“se um objeto A bloqueia a visão de um objetoB e ambos os objetos encontram-se na mesmalinha de visão do observador, então o objeto B

está mais distante do observador que o objeto A,é possível criar um algoritmo que calcule adistância dos objetos ao observador, e que dêprioridade à visualização dos objetos maispróximos ao observador” - (Gomes e Velho, 2008)

Page 27: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Algoritmo de Visibilidade por Prioridade ou

Algoritmo do Pintor

•Algoritmo (Gomes e Velho, 2008):• Calcula-se a distância ao observador de todas as faces

poligonais;• Ordenam-se todos os polígonos pelo valor da sua

distância ao observador;• Resolvem-se as ambigüidades nos casos em que as

distâncias entre o observador e dois polígonos foremiguais (verificando se ocupam as mesmas posiçõesrasterizadas ou não);

• Desenham-se primeiro os polígonos que tiverem maisdistantes ao observador.

Page 28: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Algoritmo de Visibilidade por Prioridade ou

Algoritmo do Pintor

Problemas na

ordenação de faces e

linhas.

Solução:

subdividi-las segundo uma interseção.

Faces – segundo as linhas de

interseção

Linhas – segundo o ponto de

interseção

Criam-se novos objetos – faces ou

linhas

Page 29: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Algoritmo Z-Buffer (Superfícies Escondidas)

� O algoritmo Z-Buffer define uma estratégia para aeliminação de superfícies escondidas de fácilimplementação em hardware.

� O Z-Buffer é uma extensão do Frame buffer.

� O Frame buffer é uma memória que contém para cada pixelo valor de sua cor/intensidade.

� O Z-Buffer, além do valor da cor/intensidade, permite oarmazenamento também da informação de profundidade(distância ao observador localizado no eixo Z) do elementovisível naquele pixel.

� O algoritmo Z-Buffer define uma estratégia para aeliminação de superfícies escondidas de fácilimplementação em hardware.

� O Z-Buffer é uma extensão do Frame buffer.

� O Frame buffer é uma memória que contém para cada pixelo valor de sua cor/intensidade.

� O Z-Buffer, além do valor da cor/intensidade, permite oarmazenamento também da informação de profundidade(distância ao observador localizado no eixo Z) do elementovisível naquele pixel.

�Fonte: Ting e Martino - 2009

Page 30: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Remoção de Superfícies Escondidas

� Z-Buffer� Z-Buffer

Page 31: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Remoção de Superfícies Escondidas

� Z-Buffer

– “buffer de profundidade”:» 1) inicia com Y=0 (plano de fundo da cena) para todos os pixels

» 2) inicia com 0,0,0 (cor de fundo) todas as cores RGB

» 3) os polígonos são projetados no plano de projeção, se o pixel tiver um z maior ou igual que o do buffer então substitui no z-buffer

» 4) o maior valor de z que pode ser armazenado é o do plano da frente (projeção)

» 5) depois de percorrer todos os objetos (em qualquer ordem), mostrar o z-buffer na tela

� Z-Buffer

– “buffer de profundidade”:» 1) inicia com Y=0 (plano de fundo da cena) para todos os pixels

» 2) inicia com 0,0,0 (cor de fundo) todas as cores RGB

» 3) os polígonos são projetados no plano de projeção, se o pixel tiver um z maior ou igual que o do buffer então substitui no z-buffer

» 4) o maior valor de z que pode ser armazenado é o do plano da frente (projeção)

» 5) depois de percorrer todos os objetos (em qualquer ordem), mostrar o z-buffer na tela

Page 32: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Remoção de Superfícies Escondidas

� Observação finais:– Vantagens:

» Simplicidade - fácil implementação em hardware.

» Trata interseções complexas.

» Não há limitação à complexidade da cena.

» Não há necessidade de ordenação.

– Desvantagens:» Tamanho da memória.

» Não trata transparência.

» Força bruta -não é aconselhável a implementação em software.

� Observação finais:– Vantagens:

» Simplicidade - fácil implementação em hardware.

» Trata interseções complexas.

» Não há limitação à complexidade da cena.

» Não há necessidade de ordenação.

– Desvantagens:» Tamanho da memória.

» Não trata transparência.

» Força bruta -não é aconselhável a implementação em software.

�Fonte: Ting e Martino - 2009

Page 33: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Algoritmo de Warnock - subdivisão

� Baseia-se em como o olho/cérebro humano processa informações contidas em uma cena

Exemplo: Mesa com uma fruteira� Área de interesse se estreita, nível de detalhes

aumenta.� Se determinada questão não pode ser respondida

em um nível particular, ela é temporariamentecolocada de lado para futuras considerações.

� Baseia-se em como o olho/cérebro humano processa informações contidas em uma cena

Exemplo: Mesa com uma fruteira� Área de interesse se estreita, nível de detalhes

aumenta.� Se determinada questão não pode ser respondida

em um nível particular, ela é temporariamentecolocada de lado para futuras considerações.

Page 34: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Algoritmo de subdivisão recursiva� Faz uma subdivisão da tela virtual utilizando

estrutura quadtree

Linha escondida/oculta:

� sub-divisão ⇒ pixel pertence à aresta do polígono pintar com a cor do polígono (verificação pela profundidade).

Superfície escondida/oculta

� pixel é envolto pelo polígono – pixel é pintado como cor do polígono

Algoritmo de subdivisão recursiva� Faz uma subdivisão da tela virtual utilizando

estrutura quadtree

Linha escondida/oculta:

� sub-divisão ⇒ pixel pertence à aresta do polígono pintar com a cor do polígono (verificação pela profundidade).

Superfície escondida/oculta

� pixel é envolto pelo polígono – pixel é pintado como cor do polígono

Subdivisão Algoritmo Warnock

Page 35: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Algoritmo de Warnock

• Casos na imagem acima:1) Um polígono à frente2) Vazia3) Um polígono dentro, aoredor ou cortando a área

Vantagens:

– Não ocorre over-rendering– Bom anti-aliasing: basta fazer mais uma subdivisão para obter informação de sub-pixel• Desvantagem:

– Testes são complexos e lentos

Page 36: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Representação em árvore

Nó ativo indicado pela linha mais grossa

Page 37: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Descrição Geométrica

� Modelos implícitos – CSG (Constructive Solid Geometry)

� Modelos implícitos – CSG (Constructive Solid Geometry)

Page 38: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Traçado de raios

“Dado um conjunto finito de objetos O1, O2, .....,On

do espaço euclidiano e um vetor v, determinar, seexistir, o ponto de interseção de v com os objetosque está mais próximo da origem do vetor” (Gomes e

Velho, 2008)

• Vetor v – vetor (raio) de visão• Vetor v – definido pelo centro de projeção e pelo

centro de cada pixel.

Page 39: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Traçado de raios

• Calcula-se a interseção do vetor v com todos osobjetos da cena – seleciona-se o mais próximo dacâmara.

- Interseção tem alto custo computacional

Page 40: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Traçado de raios em modelos CSG

• Raio é modelado como uma reta em forma

paramétrica: R (t) = P0 + t (P1 – P0) = P0 + t

• Calcula-se para quais valores do parâmetro t

a reta intercepta o objeto

Fonte: (Esperança e Cavalcanti. Introdução à Computação Gráfica Ray Tracing)http://www.google.com.br/search?q=tra%C3%A7ado+de+raios+em+modelos+csg&hl=pt-BR&ei=PZ_ZTOSNMcH98AbvsIz4CA&start=10&sa=N (09/11/2010)

Page 41: Introdução ao Processamento e Síntese de imagens...Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Linhasesuperfíciesescondidas/ocultas A visualização

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Exemplo: Interseção com Esfera

Δ > 0

Δ = 0

Δ < 0

� Esfera de raio 1 centrada na origem:

x2 + y2 + z2 – 1 = 0

� Raio parametrizado como:

[Vxt+Px Vyt+Py Vzt+Pz]T

� Logo,

(Vxt+Px)2+(Vyt+Py)

2+(Vzt+Pz)2-1=0

ou

at2 + bt + c = 0

onde

a = Vx2 +Vy

2 + Vz2

b = 2 (VxPx+ VyPy+ VzPz)

c = Px2 +Py

2 + Pz2 – 1

� Seja Δ = b2 – 4 ac, então

� Esfera de raio 1 centrada na origem:

x2 + y2 + z2 – 1 = 0

� Raio parametrizado como:

[Vxt+Px Vyt+Py Vzt+Pz]T

� Logo,

(Vxt+Px)2+(Vyt+Py)

2+(Vzt+Pz)2-1=0

ou

at2 + bt + c = 0

onde

a = Vx2 +Vy

2 + Vz2

b = 2 (VxPx+ VyPy+ VzPz)

c = Px2 +Py

2 + Pz2 – 1

� Seja Δ = b2 – 4 ac, então

a2

b ∆±−=t

Fonte: (Esperança e Cavalcanti. Introdução à Computação Gráfica Ray Tracing)http://www.google.com.br/search?q=tra%C3%A7ado+de+raios+em+modelos+csg&hl=pt-BR&ei=PZ_ZTOSNMcH98AbvsIz4CA&start=10&sa=N (09/11/2010)