Trabalho 2 – Imagens
Panorâmicas
Andrei Monteiro
Fundamentos de Computação Gráfica
Prof. Marcelo Gattass
Objetivo

Implementar um visualizador de
imagens panorâmicas.
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.
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]
Implementação - Textura
1, π/2
Segmentação: 12x12
0, -π/2
0, 0
1, 2π
Inverter culling (front -> back)
Implementação - Câmera
sphere
p(w)
y(c)
r
z(c)
Rotacionar apenas a câmera!
Implementação - Câmera
y(c)
x(c)
-z
Não pode girar no eixo z da câmera!
ERRADO!
Implementação - Câmera
y-axis = ??
sphere
y(c)
z(c)
p
r
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)!!!
Implementação - Câmera

Restrição:
ERRADO!!!
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.
Referências

Fonte de Imagens

http://www.flickr.com/groups/equirectangular/
Download

Apresentação PPT - PUC-Rio