Top Banner
Trabalho 2 – Imagens Panorâmicas Andrei Monteiro Fundamentos de Computação Gráfica Prof. Marcelo Gattass
12

Trabalho 2 – Imagens Panorâmicas Andrei Monteiro Fundamentos de Computação Gráfica Prof. Marcelo Gattass.

Apr 17, 2015

Download

Documents

Internet User
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Trabalho 2 – Imagens Panorâmicas Andrei Monteiro Fundamentos de Computação Gráfica Prof. Marcelo Gattass.

Trabalho 2 – Imagens Panorâmicas

Andrei MonteiroFundamentos de Computação GráficaProf. Marcelo Gattass

Page 2: Trabalho 2 – Imagens Panorâmicas Andrei Monteiro Fundamentos de Computação Gráfica Prof. Marcelo Gattass.

Objetivo

Implementar um visualizador de imagens panorâmicas.

Page 3: Trabalho 2 – Imagens Panorâmicas Andrei Monteiro Fundamentos de Computação Gráfica Prof. Marcelo Gattass.

Método

Sphere Mapping Geração de doordenadas de textura

automática do OpenGL Manipulação na matrix de textura;

Setar coordenadas de textura por vértice da esfera. Manipulação da câmera no espaço do olho.

Page 4: Trabalho 2 – Imagens Panorâmicas Andrei Monteiro Fundamentos de Computação Gráfica Prof. Marcelo Gattass.

Implementação - Esfera

x = r cos( theta ) cos( alpha );

y = r sin( theta )

z = r cos( theta ) sin( alpha );

alpha [0, 2π], theta [-π/2, π/2]

Page 5: Trabalho 2 – Imagens Panorâmicas Andrei Monteiro Fundamentos de Computação Gráfica Prof. Marcelo Gattass.

Implementação - Textura

Segmentação: 12x12

0, 0 1, 2π

0, -π/2

1, π/2

Inverter culling (front -> back)

Page 6: Trabalho 2 – Imagens Panorâmicas Andrei Monteiro Fundamentos de Computação Gráfica Prof. Marcelo Gattass.

Implementação - Câmera

y(c)

z(c)

r

sphere

p(w)

Rotacionar apenas a câmera!

Page 7: Trabalho 2 – Imagens Panorâmicas Andrei Monteiro Fundamentos de Computação Gráfica Prof. Marcelo Gattass.

Implementação - Câmeray(c)

x(c)

ERRADO!

-zNão pode girar no eixo z da câmera!

Page 8: Trabalho 2 – Imagens Panorâmicas Andrei Monteiro Fundamentos de Computação Gráfica Prof. Marcelo Gattass.

y(c)z(c)

r

sphere

p

Implementação - Câmera

y-axis = ??

Page 9: Trabalho 2 – Imagens Panorâmicas Andrei Monteiro Fundamentos de Computação Gráfica Prof. Marcelo Gattass.

Implementação - Câmera

y-axis em coordenadas do olho? Utilizar ModelView

P(eye) = MV * P(world) y-axis(eye) = MV * (0,1,0) Girar em torno de y-axis(eye)!!!

Page 10: Trabalho 2 – Imagens Panorâmicas Andrei Monteiro Fundamentos de Computação Gráfica Prof. Marcelo Gattass.

Implementação - Câmera

Restrição: ERRADO!!!

Page 11: Trabalho 2 – Imagens Panorâmicas Andrei Monteiro Fundamentos de Computação Gráfica Prof. Marcelo Gattass.

Implementação - Câmera

Restrição up(w) = MV-1 * (0,1,0) <up(w) . (0,1,0)> = 0 <up(w) . (0,-1,0)> = 0

Obs: (0,1,0) e (0,-1,0) escolhidos como polos.

Page 12: Trabalho 2 – Imagens Panorâmicas Andrei Monteiro Fundamentos de Computação Gráfica Prof. Marcelo Gattass.

Referências

Fonte de Imagens http://www.flickr.com/groups/equirectangular/