Transformações Lineares
algebra-linear intermediario computacao-grafica, machine-learningTransformações Lineares
Uma transformação linear é uma função $T: \mathbb{R}^n \to \mathbb{R}^m$ que satisfaz duas propriedades:
$$T(\mathbf{u} + \mathbf{v}) = T(\mathbf{u}) + T(\mathbf{v})$$ $$T(c\mathbf{u}) = cT(\mathbf{u})$$
A definição é curta, mas o que ela exclui é o que a torna útil. Uma função linear preserva a estrutura do espaço: retas continuam retas, a origem continua na origem e o paralelismo se mantém. Ela pode esticar, girar, refletir e projetar — mas nunca curvar.
A intuição: a matriz é a imagem da base
O fato que organiza todo o resto é este: uma transformação linear fica completamente determinada pelo que faz com os vetores da base.
Se $T$ é linear e você sabe onde $\mathbf{e}_1 = (1,0)$ e $\mathbf{e}_2 = (0,1)$ vão parar, sabe onde qualquer vetor vai parar. Como todo $\mathbf{x} = (x_1, x_2)$ pode ser escrito como $x_1\mathbf{e}_1 + x_2\mathbf{e}_2$, a linearidade dá:
$$T(\mathbf{x}) = x_1 T(\mathbf{e}_1) + x_2 T(\mathbf{e}_2)$$
Daí sai a representação matricial: as colunas da matriz são as imagens dos vetores da base.
$$A = \begin{pmatrix} | & | \ T(\mathbf{e}_1) & T(\mathbf{e}_2) \ | & | \end{pmatrix}, \qquad \mathbf{y} = A\mathbf{x}$$
Com $A \in \mathbb{R}^{m \times n}$, $\mathbf{x} \in \mathbb{R}^n$ e $\mathbf{y} \in \mathbb{R}^m$. Essa leitura torna a maioria das matrizes legível à primeira vista: para saber o que uma matriz faz, olhe para onde ela manda $(1,0)$ e $(0,1)$.
Transformações fundamentais em 2D
Escala
$$S = \begin{pmatrix} s_x & 0 \ 0 & s_y \end{pmatrix}$$
A primeira coluna é $(s_x, 0)$: o vetor $\mathbf{e}_1$ apenas se alonga. Com $s_x = s_y$ a escala é uniforme; valores negativos produzem reflexão.
Rotação
$$R(\theta) = \begin{pmatrix} \cos\theta & -\sin\theta \ \sin\theta & \cos\theta \end{pmatrix}$$
Aplique a leitura por colunas: $\mathbf{e}_1$ vai para $(\cos\theta, \sin\theta)$, que é exatamente o ponto do círculo unitário no ângulo $\theta$. A segunda coluna é o mesmo ponto girado mais 90°. Não há nada a decorar aqui — a matriz é a definição de seno e cosseno escrita em colunas.
Cisalhamento
$$H = \begin{pmatrix} 1 & k \ 0 & 1 \end{pmatrix}$$
Mantém $\mathbf{e}_1$ fixo e inclina $\mathbf{e}_2$. É a transformação que leva um quadrado a um paralelogramo — e a base do efeito de itálico em tipografia.
Projeção
$$P = \begin{pmatrix} 1 & 0 \ 0 & 0 \end{pmatrix}$$
Achata tudo sobre o eixo $x$. Diferentemente das anteriores, esta perde informação: dois vetores distintos podem ter a mesma imagem, e não existe transformação que desfaça a operação.
Um exemplo trabalhado
Girar o ponto $(2, 0)$ em 90°. Com $\theta = 90°$, temos $\cos\theta = 0$ e $\sin\theta = 1$:
$$R(90°)\begin{pmatrix} 2 \ 0 \end{pmatrix} = \begin{pmatrix} 0 & -1 \ 1 & 0 \end{pmatrix}\begin{pmatrix} 2 \ 0 \end{pmatrix} = \begin{pmatrix} 0 \ 2 \end{pmatrix}$$
O ponto que estava sobre o eixo $x$ foi para o eixo $y$, à mesma distância da origem — como se espera de uma rotação.
Composição e a ordem das operações
Aplicar $T_1$ e depois $T_2$ corresponde ao produto das matrizes:
$$T_2(T_1(\mathbf{x})) = A_2 A_1 \mathbf{x}$$
Repare na ordem: a matriz da primeira transformação fica à direita, encostada no vetor. E como o produto de matrizes não é comutativo, $A_2A_1 \neq A_1A_2$ em geral — girar e depois escalar produz resultado diferente de escalar e depois girar.
Essa é a origem de uma classe inteira de defeitos em computação gráfica. Quando um objeto aparece deformado ou no lugar errado, a primeira hipótese a testar é a ordem da multiplicação.
Determinante: o fator de área
O determinante de $A$ diz quanto a transformação multiplica áreas — ou volumes, em dimensões maiores:
| $\det(A)$ | Significado geométrico |
|---|---|
| $\det(A) = 1$ | Preserva área — o caso da rotação |
| $\det(A) = 2$ | Dobra a área |
| $\det(A) = 0$ | Achata o espaço; a transformação não é inversível |
| $\det(A) < 0$ | Inverte a orientação, ou seja, reflete |
O caso $\det(A) = 0$ é o mais importante na prática: ele indica que a transformação colapsou pelo menos uma dimensão, e portanto nenhuma inversa existe. Numericamente, um determinante próximo de zero antecipa instabilidade em qualquer algoritmo que tente inverter a matriz.
Coordenadas homogêneas
A translação — somar um vetor constante — não é linear: ela move a origem. Isso é inconveniente, porque significa que a translação não caberia no mesmo formalismo matricial das demais operações.
A saída é acrescentar uma dimensão. Um ponto $(x, y)$ do plano passa a ser representado como $(x, y, 1)$, e a translação vira:
$$T = \begin{pmatrix} 1 & 0 & t_x \ 0 & 1 & t_y \ 0 & 0 & 1 \end{pmatrix}, \qquad T\begin{pmatrix} x \ y \ 1 \end{pmatrix} = \begin{pmatrix} x + t_x \ y + t_y \ 1 \end{pmatrix}$$
Com esse artifício, rotação, escala, cisalhamento, projeção e translação passam a ser todas multiplicações de matriz. É por isso que APIs gráficas trabalham com matrizes $4 \times 4$ em espaço tridimensional: a quarta linha e coluna existem para acomodar a translação e a projeção em perspectiva.
Aplicações em computação
Computação gráfica. Toda posição de vértice na tela é o resultado de uma cadeia de transformações — modelo, visão, projeção — aplicada como produto de matrizes na GPU[ref] . A eficiência do pipeline gráfico vem justamente de todas essas operações compartilharem uma única representação.
Análise de componentes principais. O PCA encontra a projeção linear que preserva o máximo de variância dos dados. Reduzir de mil dimensões para duas é aplicar uma transformação $T: \mathbb{R}^{1000} \to \mathbb{R}^2$ escolhida a partir dos autovetores da matriz de covariância[ref] .
Redes neurais. Cada camada densa é uma transformação linear seguida de uma função não linear. Sem a não linearidade, a composição de várias camadas colapsaria numa única transformação linear — e é exatamente por isso que a função de ativação é indispensável.
Processamento de sinais. A transformada discreta de Fourier é uma transformação linear: uma mudança de base do domínio do tempo para o da frequência.
Erros comuns
- Confundir a ordem da composição. $A_2A_1$ significa "primeiro $A_1$". Várias bibliotecas gráficas usam convenção de vetor-linha, em que a ordem se inverte — verifique a documentação antes de supor.
- Esperar que toda matriz quadrada seja inversível. Se $\det(A) = 0$, a informação foi perdida e não há como recuperá-la.
- Aplicar translação sem coordenadas homogêneas. Somar o deslocamento separadamente funciona, mas impede compor a operação com as demais num único produto.
- Acumular erro numérico ao compor rotações. Multiplicar milhares de matrizes de rotação em ponto flutuante degrada a ortogonalidade; em simulação contínua, reortogonalize periodicamente.
Referências
- Serge Lang (1987). Linear Algebra. Springer.