Cursos / Jogos Digitais / Matemática Aplicada a jogos / Aula

arrow_back Aula 05 - Transformações

5. Combinando transformações

O artifício de utilizar uma matriz com uma linha e uma coluna a mais para realizar uma translação nos permite combinar essa transformação com rotações e transformações de escala.

Para entender esse processo imagine que queremos dobrar o tamanho de um objeto e em seguida rotacioná-lo em 45°. Devemos, então, aplicar sobre esse objeto as transformações dadas abaixo, respectivamente.

$E = \left[ \begin{array}{cc} 2 & 0 \\ 0 & 2\end{array} \right] $

$R=\left[ \begin{array}{cc} \frac{\sqrt{2}}{2} & -\frac{\sqrt{2}}{2} \\ \frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2} \end{array} \right] $

Um vetor específico $\vec{v}$ transformado seria

$R(E\vec{v}).$

Como o produto de matrizes é associativo, o vetor transformado seria

$(RE)\vec{v},$

ou seja, podemos combinar a rotação e a escala em uma única matriz que é o produto das duas matrizes que representam as transformações separadamente.

A matriz que realiza, especificamente, essa escala e essa rotação é

$RE=\left[ \begin{array}{cc} \frac{\sqrt{2}}{2} & -\frac{\sqrt{2}}{2} \\ \frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2} \end{array} \right] \left[ \begin{array}{cc} 2 & 0 \\ 0 & 2\end{array} \right] =\left[ \begin{array}{cc} \frac{2\sqrt{2}}{2} & -\frac{2\sqrt{2}}{2} \\ \frac{2\sqrt{2}}{2} & \frac{2\sqrt{2}}{2} \end{array} \right] =\left[ \begin{array}{cc} \sqrt{2} & -\sqrt{2} \\ \sqrt{2} & \sqrt{2} \end{array} \right] $

E se eu quiser acrescentar a isso uma translação? Como devemos proceder?

A matriz generalista para uma translação é a seguinte:

$\left[ \begin{array}{ccc} 1 & 0 & t_x \\ 0 & 1 & t_y \\ 0 & 0 & 1 \end{array} \right],$

onde $t_x$ e $t_y$ são os valores da translação no eixo $x$ e no eixo $y$, respectivamente.

Note que, na matriz acima existe uma submatriz (uma matriz menor embutida) $2 \times 2$ cujas colunas são iguais aos vetores da base canônica. Isso ocorre porque a matriz representa apenas uma translação, então essa submatriz não realiza nenhum tipo de transformação sobre os objetos do plano.

No entanto, se modificarmos essa submatriz de acordo com as transformações que desejamos realizar, podemos ter em apenas uma matriz os três tipos de transformação: rotação, escala e translação.

Já encontramos uma matriz capaz de realizar uma rotação e uma transformação de escala. Como seria a matriz que realiza, além dessas duas transformações, uma translação de uma unidade para a esquerda (no sentido negativo do eixo $x$) e duas unidades para cima?

Devemos combinar as matrizes

$\left[ \begin{array}{cc} \sqrt{2} & -\sqrt{2} \\ \sqrt{2} & \sqrt{2} \end{array} \right]$

e

$\left[ \begin{array}{ccc} 1 & 0 & -1 \\ 0 & 1 & 2 \\ 0 & 0 & 1 \end{array} \right],$

Essa combinação também pode ser realizada através de um produto! Basta “completarmos” a matriz $2\times 2$ de maneira conveniente. Nesse passo devemos acrescentar à matriz $2\times 2$ a última linha e última coluna da matriz identidade de ordem 3. Veja abaixo:

$\left[ \begin{array}{cc} \sqrt{2} & -\sqrt{2} \\ \sqrt{2} & \sqrt{2} \end{array} \right] \longrightarrow \left[ \begin{array}{ccc} \sqrt{2} & -\sqrt{2} & 0 \\ \sqrt{2} & \sqrt{2} & 0 \\ 0 & 0 & 1 \end{array} \right].$

Agora podemos efetuar o produto das matrizes, com a matriz da translação à esquerda:

$\left[ \begin{array}{ccc} 1 & 0 & -1 \\ 0 & 1 & 2 \\ 0 & 0 & 1 \end{array} \right] \left[ \begin{array}{ccc} \sqrt{2} & -\sqrt{2} & 0 \\ \sqrt{2} & \sqrt{2} & 0 \\ 0 & 0 & 1 \end{array} \right] = \left[ \begin{array}{ccc} \sqrt{2} & -\sqrt{2} & -1 \\ \sqrt{2} & \sqrt{2} & 2 \\ 0 & 0 & 1 \end{array} \right] $.

Você pode pular esse passo! Basta substituir os elementos $a_{11}, a_{12}, a_{21}$ e $a_{22}$ da matriz da translação pelos seus equivalentes da matriz da transformação linear.

Dessa forma temos uma única matriz que realiza três transformações!

Uma transformação linear seguida de uma translação é chamada de tranformação afim.

Versão 5.3 - Todos os Direitos reservados