Computação Gráfica Interativa - M. Gattass & L. F. Martha 8// Transformações Geométricas por Marcelo Gattass Departamento de Informática PUC-Rio (adaptado por Lui Fernando Martha para a disciplina CIV8 - Fundamentos de Computação Gráfica Aplicada) Transformações Lineares R R P P T(a P + a P ) a T(P ) + a T(P ) Mostre que: A) T () B) T m m T m m m m m m Transformações Geométricas e Projeções
Computação Gráfica Interativa - M. Gattass & L. F. Martha 8// Transformações Lineares (escala) P P Redução (< s <), Aumento (s >) s s Transformações Lineares (espelhamento) P P P P -. - Transformações Geométricas e Projeções
Computação Gráfica Interativa - M. Gattass & L. F. Martha 8// Transformações Lineares (rotação) P θ P.cos θ -.sen θ.sen θ +.cos θ cos θ sen θ -sen θ cos θ Transformações Lineares (rotação.vs. mudança de base) P v θ P P ou u v θ u u v cos θ sen θ -sen θ cos θ u v u v u v A rotação de um ponto de θ tem o mesmo efeito da mudança de base por rotação de -θ. A matri que implementa a mudança de base por rotação tem em cada linha as componentes dos vetores da nova base descritos na base antiga. Transformações Geométricas e Projeções 3
Computação Gráfica Interativa - M. Gattass & L. F. Martha 8// Transformações Geométricas (Translação) P P t t t P + t t?? Não pode ser?? escrito na forma t + t Ruim para implementação Vantagens das coordenadas homogêneas (Translação) w t w h h P t t [T] Matri de Translação Transformações Geométricas e Projeções 4
Computação Gráfica Interativa - M. Gattass & L. F. Martha 8// Coordenadas homogêneas P P w w w h h w w h /w h /w w> w h E.: 3 3 6 4 9 6 3 h Concatenação α cosα sinα sinα cosα α ' cosα sinα ' sinα cosα Transformações Geométricas e Projeções 5
Computação Gráfica Interativa - M. Gattass & L. F. Martha 8// Concatenação de Transformações T T R R E P P T R E R T P Composição com sistema local móvel Y P X Y T Y P X Y R Y P X Y X X X P T P e P R P P R T P Y P X Y R Y P 3 X 3 Y 3 T Y P X Y X X T R T R - X P 3 R P e P T P 3 P R T R - R P ou P R T P Transformações Geométricas e Projeções 6
Computação Gráfica Interativa - M. Gattass & L. F. Martha 8// Transformações em 3D (translações e escalas) t t t s s s Transformações em 3D (Rotações) θ cos θ sen θ -sen θ cos θ θ θ cos θ sen θ -sen θ cos θ cos θ sen θ -sen θ cos θ Transformações Geométricas e Projeções 7
Computação Gráfica Interativa - M. Gattass & L. F. Martha 8// Transformações em 3D (rotação em torno de um eio qualquer) m m m 3 m m 3 m m 3 m 3 m 33 v (v, v, v ) m v + cosθ (- v ) m v v (-cosθ ) - v sen θ m 3 v v (-cosθ ) + v sen θ m v v (-cosθ ) + v sen θ m v + cosθ (- v ) m 3 v v (-cosθ ) - v sen θ m 3 v v (-cosθ ) - v sen θ m 3 v v (-cosθ )+ v sen θ m v + cosθ (- v ) Projeções Clássicas Transformações Geométricas e Projeções 8
Computação Gráfica Interativa - M. Gattass & L. F. Martha 8// Projeções Planas Cônicas A A p B B p realista não preserva escala não preserva ângulos Projeções Planas Paralelas A A p B B p pouco realista preserva paralelismo possui escala conhecida Transformações Geométricas e Projeções 9
Computação Gráfica Interativa - M. Gattass & L. F. Martha 8// Classificação das projeções planas Paralelas» ortográficas dp // n plantas elevações iso-métrica» oblíquas dp não é paralela a n cavaleiras cabinet Cônicas» pto de fuga» ptos de fuga» 3 ptos de fuga Projeções de um cubo Paralelas / α α planta ou elevação iso-métrica Cabinete (α45 ou 9) Cavaleira (α45 ou 9) Cônicas pto de fuga ptos de fuga Transformações Geométricas e Projeções
Computação Gráfica Interativa - M. Gattass & L. F. Martha 8// Projeção plana é uma transformação linear? Ou seja: T(P+Q) T(P)+T(Q) e T(αP) αt(p)? V O V V p (V) p (V p ) V V V p plano de projeção O V p cp Projeções Projeções cônicas cônicas não não são são TL, TL, paralelas paralelas podem podem ser. ser. cp Projeção plana paralela é uma transformação linear? T(P+Q) T(P)+T(Q)? P+Q P retas paralelas projetam em paralelas P p Q P p P p + Q p O Q p Q p T( T( ) )?? Projeção Projeção paralela paralela em em plano plano que que passa passa pela pela origem origem é é uma uma transformação transformação linear linear Transformações Geométricas e Projeções
Computação Gráfica Interativa - M. Gattass & L. F. Martha 8// Matries de projeções Cavaleiras e Cabinetes M (,,) k α R 3 R T(,,) (,) T(,,) (,) T(,,) ( -k cos α, -k sin α ) M -k.cos(α) -k.sin(α) Matries de projeções pseudo-isométricas j M j p (,,) k i k p R 3 R i p T(,,) (cos 3,-sin 3) T(,,) (,) T(,,) (-cos 3, -sin 3) M cos3 -cos3 -sin3 -sin3 Transformações Geométricas e Projeções
Computação Gráfica Interativa - M. Gattass & L. F. Martha 8// Projeções Cônicas Projeção cônica simples olho ou câmera: centro de projeção frustum ou volume de visão (tronco de pirâmide) e e p p p e p e e p p p p d p -d p e d - e e p e d - p d -e e d p - p d n p d -e e e e Transformações Geométricas e Projeções 3
Computação Gráfica Interativa - M. Gattass & L. F. Martha 8// Projeção cônica simples via coordenadas homogêneas e p p d e p p -e p d -e e e p -d p p p d d e d e d e d d - - e (d/- ) e (d/- ) e -d [ P ] w w Simplificação da projeção cônica: distorção do frustum de visão Projeção cônica É muito mais simples implementar uma projeção ortográfica do que uma projeção cônica. Projeção ortográfica ee plano de projeção direção de projeção plano de projeção Transformações Geométricas e Projeções 4
Computação Gráfica Interativa - M. Gattass & L. F. Martha 8// Efeito de profundidade Como seria possível transformar a projeção cônica em uma projeção ortográfica considerando efeito de profundidade? e e Solução: coordenadas homogêneas (eemplo D) 3 - A D P A D O - B O infinito - B C P A A 3 - C P D D 3-4 P B B 3 - - - P C C 3 - - 4 - - Transformações Geométricas e Projeções 5
Computação Gráfica Interativa - M. Gattass & L. F. Martha 8// Importância do efeito de profundidade: remoção de superfícies escondidas - profundidade Projeção cônica simples preservando profundidade em planaridade e p p d e p p -e p d -e e e p profundade Condição de manutenção de planaridade de planos no espaço distorcido: p α + (β / ) p p p d d e d e -α -β -α -β e d e - - (d/- ) e (d/- ) e α+(β / ) [ P ] w w Transformações Geométricas e Projeções 6
Computação Gráfica Interativa - M. Gattass & L. F. Martha 8// Distorção do frustum de visão para um paralelepípedo de mesma altura e e n -near -d Obs.: near e far são distâncias (> ); d near (usualmente adotado). n [ P ] n+f n f -far p [ P ] Eistem infinitos valores de α e β que satisfaem a condição de planaridade p α + (β / ). Uma boa opção é manter a altura do frustum de visão na distorção. Isto fa o problema da projeção cônica recair no problema padrão de projeção ortográfica. Neste caso: α (near + far) β (near far) n n near near p f f far far p p -near p -far Geometria Projetiva e Coordenadas Homogêneas em 3D p plano de projeção p p e e p p p p olho ou câmera p p p h h h w Problema: como transformar a projeção cônica geral em uma projeção cônica simples? h /w h /w h /w m m m 3 m 4 m m m 3 m 4 m 3 m 3 m 33 m 34 m 4 m 4 m 43 m 44 [ P ][? ] p Transformações Geométricas e Projeções 7
Computação Gráfica Interativa - M. Gattass & L. F. Martha 8// Transformação de câmera Dados: ee, ref, vup (definem o sistema de coordenadas do olho) Determine a matri que leva do sistema de Coordenadas dos Objetos para o sistema de Coordenadas do Olho o vup (direção vertical da câmera) ee ref (ponto de referência) o e e o Sistema de coordenadas dos Objetos Sistema de coordenadas do Olho Parâmetros: ee( ee, ee, ee ) ref ( ref, ref, ref ) vup( vup, vup, vup ) Calcula o sistema e e vup ee dados: dados: ee, ee, ref, ref, vup vup ref view view view ref ref --ee ee vup ee view ref e view view // view view Transformações Geométricas e Projeções 8
Computação Gráfica Interativa - M. Gattass & L. F. Martha 8// Calcula o sistema e e vup e ee view e e (vup (vup ) e )/ / vup vup e ref e vup e ee view vup e ref e ee e e e e e view Translada o ee para origem (mudança de base por translação) e e ee ref [ T c ] -ee -ee -ee e e ee A matri da mudança de base por translação para a nova origem ee é obtida aplicando-se um vetor de translação igual a -ee. ref Transformações Geométricas e Projeções 9
Computação Gráfica Interativa - M. Gattass & L. F. Martha 8// Roda e e para o o o [ R ] e e e e e e e e, e ee, e, ref A matri que implementa a mudança de base por rotação tem em cada linha as componentes dos vetores da nova base descritos na base antiga. Matri de transformação de Câmera [C] [ T c ] [ R ] -ee -ee -ee e e e e e e e view view // view view e e (vup (vup ) e )/ / vup vup e e e e e e [ C ] [ R ] [ T c ] h h h w m m m 3 m 4 m m m 3 m 4 m 3 m 3 m 33 m 34 m 4 m 4 m 43 m 44 p p p h /w h /w h /w [ P ][ C ] Transformações Geométricas e Projeções