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.