7.2 Coordenadas homogêneas
A expressão
onde
representa uma transformação linear do vetor .
Podemos considerar que também representa um ponto no frame padrão do espaço euclidiano tridimensional: é o ponto resultante do deslocamento da origem pelo vetor . Com isso podemos aplicar transformações lineares sobre pontos. Entretanto, essa notação não permite diferenciar o que é a representação de um ponto e o que é a representação de um vetor. Além disso, a matriz de transformação linear no não é capaz de representar transformações que envolvem deslocamento de pontos. A simples operação
onde é um ponto e é um vetor, não pode ser representada como uma matriz de transformação linear na forma
Felizmente, podemos contornar essas dificuldades se representarmos pontos e vetores do em um sistema de coordenadas homogêneas no espaço .
Como vimos na definição de combinação afim (seção 6.2), podemos considerar que é válido multiplicar um escalar por um ponto , de modo que
Um ponto no frame é definido unicamente como
Em coordenadas homogêneas, pode ser representado pela matriz coluna de coeficientes
uma vez que
De forma semelhante, um vetor no mesmo frame,
pode ser definido em coordenadas homogêneas pela matriz coluna de coeficientes
uma vez que
Na expressão
onde
a matriz representa uma transformação linear no e uma transformação afim no .
A transformação afim preserva a operação de combinação afim, isto é,
para quaisquer pontos e , e qualquer escalar .
Assim como a transformação linear transforma espaços vetoriais, a transformação afim de um ponto equivale à transformação do frame de em outro frame (frame de ).
Com a matriz de transformação afim, conseguimos representar tanto as transformações de espaços vetoriais quanto as transformações que envolvem deslocamento de pontos.
Como mostra a figura 7.1, a parte superior de representa uma ou mais transformações lineares em (como a rotação, escala e reflexão, abordadas na seção 7.4). A parte da última coluna () representa uma translação (deslocamento de ponto).
Figura 7.1: Parte de transformação linear e translação em uma matriz na notação homogênea.
Agora podemos representar o deslocamento através de uma operação matricial:
Observe como, de fato, os fatores de deslocamento estão na parte da última coluna.
Em , a coordenada é chamada de coordenada homogênea.
A escolha de fazer para pontos e para vetores permite diferenciar, sem ambiguidades, as operações de adição de vetor com vetor, diferença entre pontos, e adição de ponto com vetor:
Na adição de vetor com vetor, o resultado é um vetor (coordenada ):
Na diferença entre pontos, o resultado é um vetor (coordenada ):
Na adição de ponto com vetor, o resultado é um ponto (coordenada ):
Coordenadas homogêneas podem ser convertidas de volta para coordenadas cartesianas do espaço euclidiano 3D através da divisão de , , por :
Assim, um ponto em coordenadas homogêneas,
corresponde, em coordenadas cartesianas, ao ponto
Em transformações afins expressas de forma homogênea, o valor de será sempre ou . Entretanto, em matrizes de transformação projetiva, poderá assumir outros valores.
Transformações projetivas serão abordadas no próximo capítulo. Entretanto, perceba que a divisão por faz com que um ponto do espaço euclidiano 3D corresponda a infinitos pontos no espaço de dimensão extra (4D). Em particular, os pontos , onde e , correspondem ao mesmo ponto do espaço euclidiano:
Em outras palavras, os pontos do são projetados em um mesmo ponto do . Esse comportamento será útil para simular o efeito de diminuição do tamanho de objetos em uma projeção perspectiva. Em particular, note que:
- Se um objeto é formado por pontos com coordenada homogênea , o objeto diminui de tamanho após a conversão para o espaço euclidiano;
- Se um objeto é formado por pontos com coordenadas homogênea , o objeto aumenta de tamanho após a conversão para o espaço euclidiano.