Computação Gráfica –
Transformações Projetivas
Profa. Mercedes Gonzales
Márquez
Tópicos



Conceito de Projeção
Projeção Paralela (Ortográfica) e Projeção
Perspectiva
Projeções em OpenGL
Transformações Projetivas
–
–
A projeção permite a visualização bidimensional de
objetos tridimensionais.
Para gerar a imagem de um objeto 3D a partir de um
ponto de vista dado, é necessário realizar a sua
projeção, ou seja, converter as suas coordenadas 3D
em coordenadas 2D.
Elementos básicos da Projeção



Plano de Projeção;
Projetante, ou raio projetante;
Centro de projeção.
y
P
Raio de Projeção
P´
Plano de Projeção
x
z
Elementos básicos da Projeção



Plano de Projeção: A superfície onde será
projetado o objeto, ou seja, onde ele será
representado em 2D;
Projetante, ou raio projetante: Retas que
passam pelos pontos do objeto e pelo centro de
projeção.
Centro de projeção: Ponto fixo de onde os
raios projetantes partem.
Tipos de Projeção
Existem dois tipos de projeção:
(a) Projeção Paralela, Ortogonal ou ortográfica
(b)Projeção perspectiva
Tipos de Projeção
(a) Projeção
perspectiva : É a mais realista, pois é análogo
ao processo de formação de imagens em nossos olhos ou
numa câmera fotográfica. Considera a profundidade como
elemento de seu cálculo e apresenta um resultado mais
familiar ao observador humano.
Tipos de Projeção
(b)Projeção Paralela ou ortográfica: É a projeção
ortogonal de um ponto no plano de projeção.
Pode ser vista como uma projeção perspectiva
onde o centro de projeção está no infinito.
Projeção Paralela
As linhas que unem os pontos A e B às suas
projeções A’ e B’ são paralelas, isto faz com que o
segmento projetado tenha o mesmo tamanho para
qualquer distância entre o plano de projeção e o
objeto.
Tipos de Projeção
Matriz de Projeção Paralela

Se quisermos a projeção
ortográfica em relação ao  x' 1 0
plano xy (ou z=0), a
 y ' 0 1
matriz em coordenadas    
 z '  0 0
homogêneas é
  
1

0
0
0
0
0
0
0  x 
0  y 
0  z 
 
1  1 
Se no lugar do plano z=0 for escolhido outro plano qualquer
z=Tz paralelo a ele, a matriz será
 x' 1 0 0 0   x 
 y ' 0 1 0 0   y 
 
 
 z '  0 0 0 Tz   z 
  
 
 1  0 0 0 1   1 
Modelo perspectivo ideal
p
y
x
o
Plano imagem
p1
f
P1
z
O
P
y
x
p1
o
Plano imagem O
f
p
P1
z
P
Matriz de Projeção Perspectiva
y
Plano de projeção
x
(x´,y´)

(x,y,z)
f
Centro de projeção
Por similaridade de triângulos temos
 x' 1
 y ' 0
 
 z '  0
  
 1  0
0
0
1
0
0
0
0 1/ f
0  x 
0  y 
0  z 
 
1  1 
x'
x

f
z f
y'
y

f
z f
Projeções em OpenGL
A transformação de projeção em OpenGL descreve como
especificar a forma e orientação do volume de visualização.
O volume de visualização determina:
como a cena será projetada na tela
(com projeção paralela ou
perspectiva) e
quais
objetos ou partes de objetos
serão eliminados da cena.
Projeção paralela ortográfica
Projeção em perspectiva


Centro de projeção fixo: eye (posição da
câmera)
Duas possibilidades:
–
–
Determina um tronco de pirâmide:
glFrustrum
Determina o ângulo de visão
gluPerspective
Definição do volume de visualização

glFrustrum(left, right, bottom, top, near, far);
nao precisa ser simétrico

gluPerspective(fovy, aspect ratio, near, far);
simétrico
Esses comandos definem a matriz de projeção
(PROJECTION)

glFrustrum
glFrustrum
gluPerspective
gluPerspective
Tutorial
Tutorial sobre transformações projetivas em
OpenGL (projection), disponível no site da
disciplina.
Download

CG-transf-proj