MISSÃO 1-A: Portal de Teleporte (Multiplicação Matriz-Vetor)
Um avatar na posição \(\mathbf{v} = \begin{pmatrix} 3 \\ 5 \end{pmatrix}\) entra em um portal de teleporte. A transformação \(T\) do portal é descrita pela "Matriz de Transformação" \(A\). Calcule a nova posição \(\mathbf{w}\) do avatar após a transformação.
\[ A = \begin{pmatrix} 2 & -1 \\ 1 & 1 \end{pmatrix} \]Pedir Dica ao Mestre do Jogo...
Lembre-se da regra de multiplicação de matriz por vetor: cada linha da matriz é multiplicada, elemento a elemento, pela coluna do vetor, e os resultados são somados para formar a nova componente.
Ver Detonado...
- Identifique a matriz \(A\) e o vetor \(\mathbf{v}\).
- Para encontrar a primeira componente do vetor resultante, multiplique a primeira linha de \(A\) por \(\mathbf{v}\): \((2 \cdot 3) + (-1 \cdot 5)\).
- Para encontrar a segunda componente, multiplique a segunda linha de \(A\) por \(\mathbf{v}\): \((1 \cdot 3) + (1 \cdot 5)\).
- Monte o novo vetor de posição \(\mathbf{w}\) com os resultados.
Conexão com o Mundo dos Jogos: Essa é a operação mais básica para qualquer tipo de efeito especial: mover, girar, esticar ou distorcer um objeto na tela. A engine do jogo faz esse cálculo milhares de vezes por segundo.
MISSÃO 1-B: Power-up de Aumento (Matriz de Dilatação)
Em um jogo estilo "Asteroids" (Era Arcade Ouro), o sprite de sua nave é definido por vários pontos. Um desses pontos está na coordenada \(\mathbf{p} = \begin{pmatrix} 8 \\ -6 \end{pmatrix}\) relativa ao centro da nave. Ao coletar um power-up, a nave triplica de tamanho. Calcule a nova posição do ponto \(\mathbf{p}\) usando a matriz de dilatação \(S\) abaixo.
\[ S = \begin{pmatrix} 3 & 0 \\ 0 & 3 \end{pmatrix} \]Pedir Dica ao Mestre do Jogo...
Uma matriz de dilatação (ou escala) é uma matriz diagonal. A multiplicação por ela simplesmente multiplica cada componente do vetor pelo fator de escala correspondente.
Ver Detonado...
- Configure a multiplicação da matriz de dilatação \(S\) pelo vetor de posição \(\mathbf{p}\).
- Calcule a nova coordenada x: \((3 \cdot 8) + (0 \cdot -6)\).
- Calcule a nova coordenada y: \((0 \cdot 8) + (3 \cdot -6)\).
- O vetor resultante mostrará o ponto do sprite "esticado" para longe do centro.
Conexão com o Mundo dos Jogos: Efeitos de crescimento e encolhimento de personagens ou objetos são implementados aplicando uma matriz de escala a todos os vértices que compõem o modelo 3D ou sprite 2D do objeto.
MISSÃO 1-C: O Nível Espelhado (Matriz de Reflexão)
Em um jogo de puzzle da "Era 8-bit", um tesouro está escondido na posição \(\mathbf{t} = \begin{pmatrix} 12 \\ 7 \end{pmatrix}\) em um mapa. Para um desafio extra, você é transportado para uma versão "espelhada" do nível, onde tudo é refletido através do eixo vertical (eixo y). Calcule a nova posição do tesouro usando a matriz de reflexão \(R_y\).
\[ R_y = \begin{pmatrix} -1 & 0 \\ 0 & 1 \end{pmatrix} \]Pedir Dica ao Mestre do Jogo...
Refletir através do eixo y significa que a coordenada x de um ponto deve inverter seu sinal, enquanto a coordenada y permanece a mesma. Veja como a matriz \(R_y\) faz exatamente isso.
Ver Detonado...
- Multiplique a matriz de reflexão \(R_y\) pelo vetor de posição do tesouro \(\mathbf{t}\).
- Observe que a primeira linha da matriz, \((-1, 0)\), multiplicará a coordenada x por -1 e a y por 0.
- A segunda linha, \((0, 1)\), preservará o valor original da coordenada y.
- Combine os resultados para obter a posição espelhada.
Conexão com o Mundo dos Jogos: A reflexão é usada para criar níveis simétricos, para a mecânica de espelhos em puzzles, ou simplesmente para inverter um sprite de personagem quando ele muda de direção (de olhar para a direita para a esquerda).
MISSÃO 2-A: Manobra de Rotação (Matriz de Rotação)
Uma nave espacial em um jogo da "Era 16-bit" tem seu canhão apontado na direção do vetor \(\mathbf{d} = \begin{pmatrix} 5 \\ 2 \end{pmatrix}\). O jogador ativa um "power-up" que executa uma rotação de 90° no sentido anti-horário. Use a matriz de rotação \(R_{90}\) para encontrar o novo vetor de direção do canhão.
\[ R_{90} = \begin{pmatrix} \cos(90^\circ) & -\sin(90^\circ) \\ \sin(90^\circ) & \cos(90^\circ) \end{pmatrix} = \begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix} \]Pedir Dica ao Mestre do Jogo...
Substitua os valores de \(\cos(90^\circ)=0\) e \(\sin(90^\circ)=1\) na matriz de rotação geral. Depois, realize a multiplicação da matriz resultante pelo vetor de direção.
Ver Detonado...
- Confirme que a matriz \(R_{90}\) está correta, com os valores de seno e cosseno para 90 graus.
- Calcule o produto de \(R_{90}\) pelo vetor \(\mathbf{d}\).
- A primeira componente do novo vetor será \((0 \cdot 5) + (-1 \cdot 2)\).
- A segunda componente será \((1 \cdot 5) + (0 \cdot 2)\).
- O resultado é o novo vetor que aponta 90° à esquerda do original.
Conexão com o Mundo dos Jogos: A rotação é fundamental. É usada para girar personagens, a câmera, objetos em um inventário (como em "Resident Evil 4"), ou para simular a rotação de planetas e outros corpos celestes.
MISSÃO 2-B: Efeito de Distorção (Matriz de Cisalhamento)
Seu personagem entra em uma "zona de miragem" que causa uma distorção visual. Esse efeito é um cisalhamento horizontal (shear) descrito pela matriz \(H\). Calcule a nova posição de um pilar que estava originalmente em \(\mathbf{p} = \begin{pmatrix} 4 \\ 10 \end{pmatrix}\).
\[ H = \begin{pmatrix} 1 & 0.5 \\ 0 & 1 \end{pmatrix} \]Pedir Dica ao Mestre do Jogo...
O cisalhamento horizontal desloca a coordenada x de um ponto em uma quantidade proporcional à sua coordenada y. A coordenada y permanece inalterada. Observe a estrutura da matriz H para ver como isso acontece.
Ver Detonado...
- Realize a multiplicação da matriz de cisalhamento \(H\) pelo vetor \(\mathbf{p}\).
- A nova coordenada x será \( (1 \cdot 4) + (0.5 \cdot 10) \).
- A nova coordenada y será \( (0 \cdot 4) + (1 \cdot 10) \).
- Observe como a posição do pilar foi "inclinada" para a direita.
Conexão com o Mundo dos Jogos: O cisalhamento é usado para efeitos especiais, como a distorção de uma tela de TV antiga, miragens de calor, portais instáveis, ou para criar uma falsa perspectiva isométrica em jogos 2D.
MISSÃO 2-C: Combo de Movimentos (Propriedade da Aditividade)
Um personagem faz dois movimentos sequenciais: primeiro \(\mathbf{u} = \begin{pmatrix} 2 \\ 1 \end{pmatrix}\) e depois \(\mathbf{v} = \begin{pmatrix} -1 \\ 3 \end{pmatrix}\). Ambos os movimentos são afetados por uma corrente de vento, representada pela transformação \(T\) com matriz \(A = \begin{pmatrix} 1 & 1 \\ 0 & 2 \end{pmatrix}\). Mostre que o resultado é o mesmo se você:
a) Somar os movimentos primeiro e depois aplicar a transformação.
b) Aplicar a transformação a cada movimento e depois somar os resultados.
Pedir Dica ao Mestre do Jogo...
Para a parte (a), calcule \(\mathbf{w} = \mathbf{u} + \mathbf{v}\) e depois encontre \(T(\mathbf{w}) = A\mathbf{w}\). Para a parte (b), calcule \(T(\mathbf{u}) = A\mathbf{u}\) e \(T(\mathbf{v}) = A\mathbf{v}\) separadamente, e some os dois vetores resultantes.
Ver Detonado...
- Parte (a): Calcule o vetor soma \(\mathbf{w} = \mathbf{u} + \mathbf{v}\). Em seguida, calcule o produto \(A\mathbf{w}\).
- Parte (b): Calcule o vetor transformado \(A\mathbf{u}\). Em seguida, calcule o vetor transformado \(A\mathbf{v}\).
- Some os dois vetores resultantes da Parte (b).
- Compare o resultado final da Parte (a) com o da Parte (b) para verificar a propriedade da aditividade.
Conexão com o Mundo dos Jogos: Essa propriedade garante que as transformações se comportem de maneira previsível. Permite que os desenvolvedores apliquem efeitos (como vento ou gravidade) a um movimento complexo ou a cada uma de suas partes, obtendo o mesmo resultado final, o que simplifica a programação da física do jogo.
MISSÃO 3-A: Salto para a Terceira Dimensão (Transformação em R³)
Em um jogo da "Era 3D Inicial" (PlayStation, N64), a câmera do jogo está posicionada em \(\mathbf{c} = \begin{pmatrix} 10 \\ -5 \\ 20 \end{pmatrix}\). Uma "cutscene" é ativada, e a câmera se move suavemente para uma nova posição através de uma transformação \(T\) com a matriz \(A\) abaixo. Qual é a nova posição da câmera?
\[ A = \begin{pmatrix} 1 & 0 & -0.2 \\ 0 & 1 & 0.1 \\ 0 & 0 & 1 \end{pmatrix} \]Pedir Dica ao Mestre do Jogo...
O processo é idêntico ao 2D, mas agora cada linha da matriz e o vetor têm três componentes. A nova coordenada x será \((1 \cdot 10) + (0 \cdot -5) + (-0.2 \cdot 20)\).
Ver Detonado...
- Configure a multiplicação da matriz 3x3 \(A\) pelo vetor 3x1 \(\mathbf{c}\).
- Calcule a primeira componente do resultado multiplicando a primeira linha de \(A\) por \(\mathbf{c}\).
- Calcule a segunda componente multiplicando a segunda linha de \(A\) por \(\mathbf{c}\).
- Calcule a terceira componente multiplicando a terceira linha de \(A\) por \(\mathbf{c}\).
Conexão com o Mundo dos Jogos: Em jogos 3D, virtualmente tudo (movimento do jogador, câmera, inimigos, projéteis) é controlado por transformações com matrizes 4x4 (as matrizes 3x3 são um subconjunto para rotação/escala/cisalhamento, e a 4ª dimensão lida com translação).
MISSÃO 3-B: Raio Amplificador (Propriedade da Homogeneidade)
Um canhão dispara um projétil com um vetor de velocidade inicial \(\mathbf{v} = \begin{pmatrix} 15 \\ 20 \end{pmatrix}\). O projétil atravessa um campo de força que altera sua trajetória, descrito pela transformação \(T\) com matriz \(A = \begin{pmatrix} 1 & -0.5 \\ 0.5 & 1 \end{pmatrix}\). O jogador pode "carregar" o canhão para dobrar a velocidade do projétil. Mostre que o ponto de impacto do tiro carregado é o dobro do ponto de impacto do tiro normal.
a) Calcule o impacto do tiro carregado: \(T(2\mathbf{v})\).
b) Calcule o impacto do tiro normal e dobre o resultado: \(2 \cdot T(\mathbf{v})\).
Pedir Dica ao Mestre do Jogo...
Para (a), primeiro multiplique o vetor \(\mathbf{v}\) por 2, e depois aplique a transformação \(A\) ao resultado. Para (b), primeiro aplique a transformação \(A\) ao vetor \(\mathbf{v}\), e depois multiplique o vetor resultante por 2.
Ver Detonado...
- Parte (a): Calcule o vetor de velocidade carregada \(2\mathbf{v}\). Em seguida, multiplique a matriz \(A\) por este novo vetor.
- Parte (b): Calcule a trajetória transformada para o tiro normal, \(A\mathbf{v}\). Depois, multiplique cada componente do vetor resultante pelo escalar 2.
- Compare os vetores finais de (a) e (b) para confirmar que são idênticos.
Conexão com o Mundo dos Jogos: Esta propriedade simplifica muito a física. Se um efeito (como vento) altera uma trajetória, os desenvolvedores sabem que um projétil 3x mais rápido simplesmente seguirá a mesma trajetória curva, mas esticada 3x mais longe.
MISSÃO 3-C: Projeção da Sombra (Matriz de Projeção)
Um dragão voador na "Era Moderna" está na posição \(\mathbf{p} = \begin{pmatrix} 50 \\ 80 \\ 30 \end{pmatrix}\). A engine do jogo precisa calcular onde desenhar sua sombra no chão (o plano xy). Isso é feito aplicando uma projeção ortogonal, cuja matriz \(P\) "achata" a coordenada z para zero. Calcule a posição da sombra \(\mathbf{s}\).
\[ P = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 0 \end{pmatrix} \]Pedir Dica ao Mestre do Jogo...
Observe a terceira linha da matriz. Ao multiplicar por ela, qual será o valor da terceira componente do vetor resultante, não importa qual seja a posição do dragão?
Ver Detonado...
- Multiplique a matriz de projeção \(P\) pelo vetor de posição \(\mathbf{p}\).
- Calcule a primeira componente do resultado: \((1 \cdot 50) + (0 \cdot 80) + (0 \cdot 30)\).
- Calcule a segunda componente: \((0 \cdot 50) + (1 \cdot 80) + (0 \cdot 30)\).
- Calcule a terceira componente: \((0 \cdot 50) + (0 \cdot 80) + (0 \cdot 30)\).
- O vetor resultante \(\mathbf{s}\) terá as mesmas coordenadas x e y, mas z=0.
Conexão com o Mundo dos Jogos: A projeção é a base de como os gráficos 3D funcionam! O mundo do jogo é 3D, mas sua tela é 2D. A placa de vídeo está constantemente usando matrizes de projeção para "achatar" a cena 3D na tela 2D que você vê.
MISSÃO 4-A: Labirinto de Lasers (Aplicação Sequencial)
Um feixe de laser é emitido na direção \(\mathbf{v} = \begin{pmatrix} 1 \\ 1 \end{pmatrix}\). Ele primeiro atinge um espelho que o reflete através do eixo x (transformação \(T_1\) com matriz \(A_1\)). Em seguida, o feixe refletido passa por uma lente que o distorce (transformação \(T_2\) com matriz \(A_2\)). Calcule a direção final do feixe.
\[ A_1 = \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}, \quad A_2 = \begin{pmatrix} 1 & 0 \\ 2 & 1 \end{pmatrix} \]Ver Detonado...
- Primeiro, calcule o efeito do espelho. Encontre o vetor intermediário \(\mathbf{w} = A_1 \mathbf{v}\).
- Em seguida, use este novo vetor \(\mathbf{w}\) como entrada para a segunda transformação (a lente).
- Calcule o vetor final \(\mathbf{z} = A_2 \mathbf{w}\).
- Este resultado de duas etapas é a direção final do feixe de laser.
Conexão com o Mundo dos Jogos: Na animação de personagens, o movimento de um osso (ex: a mão) é afetado por uma transformação local (dobrar os dedos) e pela transformação do osso pai (o braço girando). Essas transformações são aplicadas em sequência, exatamente como neste problema.
MISSÃO 4-B: Engenharia Reversa do "Glitch" (Análise de Transformações)
Um inimigo estava na posição \(\mathbf{x} = \begin{pmatrix} 2 \\ -3 \end{pmatrix}\) e, devido a um "glitch", foi teleportado para a posição \(\mathbf{y} = \begin{pmatrix} -2 \\ -3 \end{pmatrix}\). Os desenvolvedores suspeitam de três portais de debug com as seguintes matrizes de transformação. Qual deles causou o "glitch"?
\[ A = \begin{pmatrix} -1 & 0 \\ 0 & 1 \end{pmatrix}, \quad B = \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}, \quad C = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} \]Ver Detonado...
- Teste a primeira matriz: Calcule o produto \(A\mathbf{x}\).
- Compare o resultado de \(A\mathbf{x}\) com o vetor final \(\mathbf{y}\). Se forem iguais, você encontrou a matriz.
- Se não forem, teste a segunda matriz: Calcule \(B\mathbf{x}\) e compare com \(\mathbf{y}\).
- Continue o processo até encontrar a matriz \(M\) para a qual \(M\mathbf{x} = \mathbf{y}\).
Conexão com o Mundo dos Jogos: Debugar (encontrar e consertar erros) é uma parte crucial do desenvolvimento. Muitas vezes, os programadores veem um resultado inesperado (um "glitch") e precisam fazer engenharia reversa para descobrir qual parte do código ou qual transformação matemática causou o comportamento indesejado.
MISSÃO 4-C: O Ponto Cego da Torre (Interpretação Geométrica)
Um abrigo seguro é representado por um quadrado com vértices nos pontos \(\mathbf{p}_1=(2,2)\), \(\mathbf{p}_2=(4,2)\), \(\mathbf{p}_3=(4,4)\) e \(\mathbf{p}_4=(2,4)\). Uma torre de vigia, que não consegue ver o abrigo, sofre uma transformação de rotação de 45° no sentido anti-horário em torno da origem, descrita pela matriz \(R_{45}\). Transforme todos os quatro vértices do abrigo para encontrar sua nova localização. A nova forma ainda é um quadrado?
\[ R_{45} = \begin{pmatrix} \frac{\sqrt{2}}{2} & -\frac{\sqrt{2}}{2} \\ \frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2} \end{pmatrix} \approx \begin{pmatrix} 0.707 & -0.707 \\ 0.707 & 0.707 \end{pmatrix} \]Ver Detonado...
- Calcule a nova posição para cada um dos quatro vértices separadamente.
- Calcule \(\mathbf{p}_1' = R_{45}\mathbf{p}_1\).
- Calcule \(\mathbf{p}_2' = R_{45}\mathbf{p}_2\).
- Calcule \(\mathbf{p}_3' = R_{45}\mathbf{p}_3\).
- Calcule \(\mathbf{p}_4' = R_{45}\mathbf{p}_4\).
- Analise os novos vértices. Para verificar se a forma ainda é um quadrado, você pode calcular a distância entre os novos pontos adjacentes (ex: \(\mathbf{p}_1'\) e \(\mathbf{p}_2'\)) e verificar se os comprimentos dos lados permanecem iguais e se os ângulos entre os lados adjacentes são de 90°. (Dica: rotações são transformações rígidas, elas preservam formas e distâncias).
Conexão com o Mundo dos Jogos: Em jogos de estratégia ou stealth, a "área de efeito" de uma habilidade ou o "campo de visão" de um inimigo são polígonos. Quando o personagem ou a torre se move ou gira, a engine precisa transformar todos os vértices desse polígono para recalcular a área de perigo no mapa.