7.3 Concatenação de transformações
Podemos expressar uma sequência, composição ou concatenação de transformações através de um produto matricial.
Por exemplo, a transformação de um ponto (ou vetor) por , e em seguida por , e então por , pode ser escrita como:
Como a multiplicação entre matrizes é associativa, podemos remover os parênteses:
Lembre-se que, em geral, o produto matricial não é comutativo:
Na expressão , a ordem de aplicação das transformações é determinada pela leitura da direita para a esquerda:
- Em 1º lugar, aplica-se a transformação representada pela matriz .
- Em 2º lugar, aplica-se a transformação representada pela matriz .
- Por último, a transformação representada pela matriz .
Se quisermos ler a ordem das transformações da esquerda para a direita, precisamos antes calcular a transposta da expressão:Observe que, neste caso, é uma matriz linha multiplicada à esquerda (pré-multiplicação) da matriz de transformação. Como nossa convenção neste curso é usar representações de pontos e vetores como matrizes coluna multiplicadas à direita (pós-multiplicação), usaremos sempre a expressão original .
No caso geral, se um ponto ou vetor é representado por uma matriz coluna , então a expressão
representa a transformação do ponto/vetor por uma sequência de transformações na ordem
Se for necessário aplicar uma mesma sequência de transformações a diferentes pontos ou vetores, é desejável primeiramente armazenar o resultado da multiplicação das matrizes de transformação em uma única matriz. Por exemplo,
onde representa as transformações na ordem e pode ser utilizada para transformar quantos pontos/vetores forem necessários:
A malha de triângulos de um modelo geométrico pode ser composta por milhares de vértices, e a transformação de um modelo exige a transformação da posição de todos os seus vértices. Assim, a concatenação de transformações em uma única matriz aumenta a eficiência do processamento geométrico.