Cursos / Jogos Digitais / Matemática Aplicada / Aula

arrow_back Aula 10 - Aplicações da Matemática na Computação

Saída - Como os computadores nos apresentam resultados? - pt.2

A matriz de transformação que usamos é um exemplo de uma matriz de rotação, que de forma genérica é apresentada da seguinte forma:

$$ \left[ \begin{array}{cc|c} \text{cos}(\theta)& sen(\theta)\\ -sen(\theta)& cos(\theta) \end{array} \right] $$

onde $θ$ é o ângulo que queremos rotacionar, no sentido anti-horário, o elemento no plano cartesiano. Caso desejássemos rotacionar no sentido horário, usaríamos a matriz

$$ \left[ \begin{array}{cc|c} \text{cos}(\theta)& -sen(\theta)\\ sen(\theta)& cos(\theta) \end{array} \right]. $$

Além da rotação, temos também matrizes específicas para a translação:

$$ \underbrace{[1 \ \ 2]}_{\text{Posição original do vetor} } + \underbrace{[Tx \ \ Ty]}_{\text{Tranlação do Vetor}} = \underbrace{[1 + Tx \ \ 2 + Ty]}_{\text{Vetor transladado}} $$

onde $Tx$ e $Ty$ é o quanto queremos mover o vetor no plano na escala de $X$ e de $Y$ respectivamente. E de escala:

$$ \underbrace{[1 \ \ 2]}_{\text{Posição original do vetor}} ⋅ \underbrace{\left[ \begin{array}{cc|c} Ex & 0\\ 0 & Ey \end{array} \right]}_{\text{Escala do vetor}} = \underbrace{[1 ⋅ Ex + 0 \ \ 2 ⋅ Ey + 0]}_{\text{Vetor escalado}} $$

onde $Ex$ e $Ey$ é o quanto queremos redimensionar o vetor no plano na escala de $X$ e de $Y$ respectivamente. A seguir, veremos alguns exemplos de translação e escala no gráfico utilizando o nosso vetor $v⃗$ como vetor original.

Pense agora que esse ponto extremo do vetor corresponde a um pixel da imagem e que essas transformações devem ser realizadas em cada pixel. Em alguns casos, como a redução ou aumento da imagem, sem deformação, a mesma transformação é aplicada a todos os pixels, aproximando ou distanciando cada pixel da origem de maneira uniforme. Para isso, usamos o produto escalar (verifique multiplicando o vetor $v⃗$ por um valor escalar $k$ qualquer) . Em outros, queremos deformar a imagem e aplicamos outras transformações ou mesmo transformações diferentes a pixels diferentes.

OBS: No ponto de vista da álgebra linear, uma matriz de translação não é uma transformação linear. Porém, as demais transformações citadas (rotação e escalas de ampliação ou redução) são sim transformações lineares. É importante ressaltar que isso não diminui em nada a importância das matrizes de translação nas aplicações que vimos aqui.

Mostramos aqui exemplos no espaço vetorial de 2 dimensões, mas todas essas representações e transformações podem ser estendidas para um espaço de 3 ou mais dimensões, para elementos 3D como polígonos e esferas. Como vivemos em um mundo de 3 dimensões, dimensões maiores que essa geralmente não são utilizadas em representações de imagens, mas na análise de outros tipos de dados que possuem mais dimensões. Essas transformações lineares são a base de todos os programas de modelagem de objetos 2D e 3D, desde programas como o Paint, CorelDraw, Photoshop, passando pelo AutoCad, 3DStudioMax até os programas profissionais que os grandes estúdios usam para fazer seus filmes de animação e efeitos especiais.

Versão 5.3 - Todos os Direitos reservados