Upload
duongduong
View
215
Download
0
Embed Size (px)
Citation preview
MARCO ANTONIO GARCIA DE CARVALHOFevereiro de 2009
Computação Gráfica
COMPUTAÇÃO GRÁFICAProjeções
MARCO ANTONIO GARCIA DE CARVALHOFevereiro de 2009
Computação Gráfica
Objetivos
••Entender o modelo de câmeraEntender o modelo de câmeraadotado peloadotado pelo OpenGLOpenGL••Entender o conceito de volume deEntender o conceito de volume devisualizaçãovisualização••Saber diferenciar projeçõesSaber diferenciar projeçõesortográfica e perspectivaortográfica e perspectiva
MARCO ANTONIO GARCIA DE CARVALHOFevereiro de 2009
Computação Gráfica
Pipeline - Computação gráfica
Modelagem
Transf.Visualização
RasterizaçãoRecorte,
Visibilidade
Cor eiluminação
Transf.Projeção
MARCO ANTONIO GARCIA DE CARVALHOFevereiro de 2009
Computação Gráfica
Modelo de câmera•• Uma caixa com um pequeno buraco no Uma caixa com um pequeno buraco nocentro de um dos lados e um filmecentro de um dos lados e um filmecolocado internamente, no lado oposto aocolocado internamente, no lado oposto aoburaco.buraco.
MARCO ANTONIO GARCIA DE CARVALHOFevereiro de 2009
Computação Gráfica
Modelo de câmera
Imagem Mundoyypp = -= - z/d z/d
y yxxpp = - = - z/d z/d
x x
θθ = - 2tan = - 2tan-1-1
2d 2d
h h
Obs: o índice p significa “projetado”.
MARCO ANTONIO GARCIA DE CARVALHOFevereiro de 2009
Computação Gráfica
Projeção•• Transformações de objetos 3D para um Transformações de objetos 3D para umdisplay 2D.display 2D.
•• Uma Uma ““fotofoto”” é feita através dos seguintes é feita através dos seguintespassos:passos:
•• Projeções são estudadas desde o século Projeções são estudadas desde o séculoXIX (XIX (Gaspard Gaspard Monge).Monge).
Especificação do tipode projeção
Especificação dosparâmetros devisualização
Clipping em 3D
Display
MARCO ANTONIO GARCIA DE CARVALHOFevereiro de 2009
Computação Gráfica
Projeção
Atenção: O OpenGL posiciona a câmera na origemdo sistema de coordenadas do mundo, apontandopara a direção Z negativa.
MARCO ANTONIO GARCIA DE CARVALHOFevereiro de 2009
Computação Gráfica
Projeção
A projeção de um objeto 3D é definida por A projeção de um objeto 3D é definida porraios de projeções (raios de projeções (projetoresprojetores), saindo de), saindo deum um centro de projeçãocentro de projeção, passando através, passando atravésde cada ponto do objeto e cruzando comde cada ponto do objeto e cruzando comum um plano de projeçãoplano de projeção para formar o para formar odesenho 2D do objeto (a projeçãodesenho 2D do objeto (a projeçãopropriamente dita).propriamente dita).
MARCO ANTONIO GARCIA DE CARVALHOFevereiro de 2009
Computação Gráfica
Tipos de projeções
Projeções planares
Paralelas Perspectivas
Oblíquas Ortográficas 1 pt 2 pt 3 pt
MARCO ANTONIO GARCIA DE CARVALHOFevereiro de 2009
Computação Gráfica
Tipos de projeções
•• Classe de projeções que iremos tratar: Classe de projeções que iremos tratar:projeções geométricas planares (superfícieprojeções geométricas planares (superfíciede projeção é um plano e os projetores sãode projeção é um plano e os projetores sãolinhas).linhas).
Ortográfica Perspectiva
MARCO ANTONIO GARCIA DE CARVALHOFevereiro de 2009
Computação Gráfica
Projeção ortográfica
•• Os projetores são perpendiculares ao plano de Os projetores são perpendiculares ao plano deprojeção.projeção.•• Visualização a partir de projeções Visualização a partir de projeçõesortográficas não provocam distorções,ortográficas não provocam distorções,preservando distâncias e ângulos.preservando distâncias e ângulos.
MARCO ANTONIO GARCIA DE CARVALHOFevereiro de 2009
Computação Gráfica
Projeção ortográfica no OpenGL
glOrthoglOrtho((xminxmin,, xmax xmax,, ymin ymin,, ymax ymax,, zmin zmin,, zmax zmax))
MARCO ANTONIO GARCIA DE CARVALHOFevereiro de 2009
Computação Gráfica
Projeção perspectiva•• Toda visualização por perspectiva é Toda visualização por perspectiva écaracterizada por diminuição de tamanho.caracterizada por diminuição de tamanho.•• Os projetores convergem para um ponto Os projetores convergem para um pontodenominado de ponto de perspectiva (ponto dedenominado de ponto de perspectiva (ponto dedesaparecimento, centro de projeção).desaparecimento, centro de projeção).
3, 2 e 1 pontos de perspectiva
MARCO ANTONIO GARCIA DE CARVALHOFevereiro de 2009
Computação Gráfica
Projeção perspectiva no OpenGL
gluPerspectivegluPerspective((fovyfovy,, aspect aspect,, near near,, far far))
Especificação paraEspecificação paraglFrustumglFrustum
MARCO ANTONIO GARCIA DE CARVALHOFevereiro de 2009
Computação Gráfica
Projeções no OpenGL
Orientação do sistema de coordenadasOrientação do sistema de coordenadas
Atenção!! A câmera de visualizaçãodo OpenGL aponta na direção doeixo z, sentido negativo.
x
y
z
x
y
z
MARCO ANTONIO GARCIA DE CARVALHOFevereiro de 2009
Computação Gráfica
Observador / câmera
gluLookAtgluLookAt((OxOx, , OyOy, , OzOz, , DxDx, , DyDy, , DzDz, , UPxUPx, , UPyUPy, , UPzUPz););
Posição da câmera Posição do objeto Orientação da câmera
MARCO ANTONIO GARCIA DE CARVALHOFevereiro de 2009
Computação Gráfica
Para saber mais:
[AZEVEDO03] Capítulo 2
[FOLEY95] Capítulo 6
[ANGEL97] Capítulo 5