Geometria Projetiva Definições e Transformações Projetivas Computação Gráfica Espaço Projetivo Transformação Afim: T(p)=M(p-c)+T(c) Formulação mais comum: A(x)=M(x)+v De qualquer forma: T.A.’s mantêm invariantes relações de paralelismo. Do ponto de vista de visualização: não deformam objetos para retratar projeção em perspectiva. Busca-se uma forma de unificar as notações. Modelo do Espaço Projetivo O espaço projetivo real de dimensão n, RPn é o conjunto de todas as retas em Rn+1 que passam pela origem, excluindo a origem. Um ponto projetivo p RPn é uma classe de equivalência p (x1 , x2 ,...,xn1 ), 0 ou seja: p ( x1, x2 ,...,xn1 ) p Modelo do Espaço Projetivo n Podemos associar o RP com o espaço euclidiano de dimensão n+1: RPn : Rn1 {(0,0,...,0)} Modelo do Espaço Projetivo O espaço projetivo pode ser decomposto em dois conjuntos: o hiperplano de Rn+1 onde xn+1=1 e o hiperplano em que xn+1=0. Em outras palavras: RP : {( x1,...,xn , xn1 ), xn1 0} {( x1,...,xn ,0)} n menos a origem. Modelo do Espaço Projetivo Modelo do Espaço Projetivo Pontos afins: 1 pa ( x1 ,..., xn ,1), xn1 0, xn1 Pontos ideais: pi ( x1,...,xn ,0), xn1 0, 1 Modelo do Espaço Projetivo Pontos euclidianos podem ser identificados com os pontos afins. Mas, no caso geral deve-se trabalhar com as coordenadas homogêneas, da forma: ( x1 ,..., xn , xn1 ) , sem fazer distinção entre pontos afins e ideais. Transformações Projetivas em RP3 Uma transformação projetiva T em RP3 é um operador linear em R4: T :R R 4 4 T é, portanto, dada por uma matriz M, 4 por 4. A transformação projetiva pode ser calculada como T(p)=Mp. Note que T ( p) T ( p), 0 Transformações Projetivas em RP3 A interpretação desta relação é uma diferença fundamental entre as transformações Projetiva e Euclidiana. Estrutura da matriz associada: A T M P S A-Bloco Linear (3 por 3); T-Bloco de Translação (3 por 1); P-Bloco de Perspectiva (1 por 3); S-Bloco de escalamento (1 por 1). Transformações Projetivas em RP3 Os blocos A e T correspondem a transformações afins do R3 deixando o espaço euclidiano mergulhado invariante. O bloco P mapeia pontos afins em pontos ideais (e vice-versa), e, conseqüentemente, não deixa o espaço mergulhado invariante. O bloco S é redundante, pois, se s é não nulo, pode-se fazer s=1. Transformações Projetivas em RP3 Assim, além das transformações afins que já conhecemos no R3, incluindo translações, que passam a ter uma representação matricial,agora permite-se representar a projeção perspectiva para visualização: T(x,y,z)=(x,y,z,gx+hy+iz). Ela leva pontos afins em ideais e vice-versa. Um ponto ideal é mapeado num ponto afim chamado de ponto de fuga. Transformações Projetivas em RP3 Composições de Transformações Composição de Transformações: equivale ao produto das matrizes correspondentes. Pode-se representar a transformação resultante de uma seqüência arbitrária de transformações como uma única matriz. Lembre-se que a comutação de matrizes não é permitida. A inversa de uma seqüência de transformações é dada pela concatenação das inversas das matrizes na ordem inversa. Transformações de Objetos Geométricos O elemento básico a ser transformado é um ponto p=(x,y,z) do espaço mergulhado. Assim, para as transformações que preservam o espaço mergulhado, pode-se utilizar a representação normalizada: p=(x,y,z,1) . No geral, se a transformação não preservar o espaço mergulhado, pode-se sempre re-normalizá-lo, fazendo-se a “divisão homogênea”, das coordenadas pelo componente w. Transformações de Objetos Geométricos Esta operação corresponde a uma projeção do vetor homogêneo no espaço afim mergulhado. p’=1/w’(x’,y’,z’,w’)=(x”,y”,z”,1) Transformações de Pontos: pode-se fazer o produto da matriz pelo ponto através de produto escalar (3). Transformação de Raios: aplica-se ao ponto e ao vetor diretor. Transformações de Objetos Geométricos Transformando Plano Tangente: w 1 p {( x, y, z, w) R | } ax by cz dw 0 4 p {( x, y, z,1) R | ax by cz d 0} 4 n=(a,b,c,d) é o vetor normal ao plano. p {( x, y, z,1) R | (a, b, c, d ), ( x, y, z, w) 0} 4 Transformações de Objetos Geométricos Matricialmente falando, a condição acima equivale a: <nT,p>=0 Se aplicarmos uma transformação dada pela matriz M ao plano em questão, a condição do ponto transformado pertencer ao plano transformado corresponde a: <nTM-1,Mp>=0 Transformações de Objetos Geométricos Ou seja, o ponto transformado Mp está sobre o plano transformado cujo vetor normal é: nTM-1 Assim, na notação de vetor coluna: n’=(M-1)T n Note que, no caso de matrizes ortogonais, como no caso das rotações e reflexões: M=(M-1)T Transformações de Objetos Geométricos Interpretação Dual de Transformações: Transformação de vetores Mudança entre Sistemas de Coordenadas Transformações de Objetos Geométricos