Pressione Enter para começar
Desenvolvedores Originais: Euclides (c. 300 a.C.), Descartes (séc. XVII), Hamilton & Grassmann (séc. XIX)
Os "programadores" originais do nosso universo começaram com a geometria pura. Descartes criou o "grid de jogo" (plano cartesiano), permitindo localizar objetos. Mas foram Hamilton e Grassmann que desenvolveram a linguagem dos **vetores**, a "mecânica" essencial para descrever não apenas a localização, mas também o movimento, a força e a direção.
Desafio do Jogo
Como podemos descrever o movimento de um "avatar" no espaço do jogo? Precisamos de uma ferramenta que nos diga simultaneamente **para onde** ele está indo (direção) e **com que intensidade** (magnitude). Os números comuns não são suficientes. Esta fase introduz os **Vetores Euclidianos**, a ferramenta definitiva para navegar e interagir com o espaço do jogo.
Um vetor em \( \mathbb{R}^n \) é um segmento de reta orientado, definido por um conjunto de \(n\) coordenadas (ou componentes).
\[\vec{v} = (v_1, v_2, \dots, v_n)\]
Interpretação no Jogo: Pense em um vetor como o seu **Avatar**. Ele representa uma posição, um deslocamento ou uma direção de movimento no mapa do jogo.
Adição (Combinação de Movimentos): \(\vec{u} + \vec{v} = (u_1+v_1, u_2+v_2, \dots)\)
Multiplicação por Escalar (Amplificar Movimento): \(k\vec{v} = (kv_1, kv_2, \dots)\)
Interpretação no Jogo: Somar vetores é como combinar dois movimentos (ex: "ande para frente" + "ande para a direita"). Multiplicar por um escalar é aumentar ou diminuir a intensidade de um movimento (ex: "correr" é 2x "andar").
Em \( \mathbb{R}^3 \), os vetores \(\vec{i}=(1,0,0)\), \(\vec{j}=(0,1,0)\) e \(\vec{k}=(0,0,1)\) formam a base canônica. Qualquer vetor pode ser escrito como uma combinação deles.
\[\vec{v} = (a, b, c) = a\vec{i} + b\vec{j} + c\vec{k}\]
Interpretação no Jogo: \(\vec{i}, \vec{j}, \vec{k}\) são os "movimentos básicos" do jogo: um passo no eixo X, um no eixo Y e um no eixo Z. Qualquer movimento complexo é uma combinação desses passos básicos.
Dados os avatares \(\vec{u} = (2, -1, 5)\) e \(\vec{v} = (-3, 4, 1)\):
Parabéns, jogador!
Itens Adquiridos (Conceitos-Chave):
Você agora sabe como representar e manipular os avatares no espaço do jogo!
A norma (ou módulo) de um vetor \(\vec{v}\) é o seu comprimento. É calculada usando o Teorema de Pitágoras generalizado.
\[\|\vec{v}\| = \sqrt{v_1^2 + v_2^2 + \dots + v_n^2}\]
Interpretação no Jogo: A norma é a "força" do seu movimento, a "distância" que seu avatar se desloca em uma única ação, ou o seu "tamanho".
A distância entre dois pontos (ou as "pontas" de dois vetores) A e B é a norma do vetor que os conecta, \(\vec{AB} = B - A\).
\[d(A, B) = \|\vec{AB}\| = \|B - A\|\]
Interpretação no Jogo: Isso calcula a distância em linha reta entre dois locais ou dois avatares no mapa.
Um vetor unitário (ou versor) é um vetor com norma igual a 1. Ele representa apenas a direção.
\[\hat{v} = \frac{\vec{v}}{\|\vec{v}\|}\]
Interpretação no Jogo: O versor é a "mira" do seu avatar. Ele diz para onde apontar, sem se preocupar com a força ou distância. É a direção pura.
Dado o avatar \(\vec{v} = (3, 0, -4)\) e os pontos \(A=(1, 2, 3)\) e \(B=(3, 4, 2)\):
Missão Cumprida!
Itens Adquiridos (Conceitos-Chave):
Agora você pode medir tamanhos e distâncias no universo do jogo!
O produto escalar entre dois vetores resulta em um **número** (um escalar), não em um vetor. Ele mede o "alinhamento" entre eles.
\[\vec{u} \cdot \vec{v} = u_1v_1 + u_2v_2 + \dots + u_nv_n\]
Interpretação no Jogo: Se \(\vec{u}\) é a direção que você aponta e \(\vec{v}\) é a direção do vento, o produto escalar diz o quanto o vento está a seu favor ou contra você.
O produto escalar também se relaciona com o ângulo \(\theta\) entre os vetores:
\[\vec{u} \cdot \vec{v} = \|\vec{u}\| \|\vec{v}\| \cos \theta\]
Isso nos permite calcular o ângulo: \(\cos \theta = \frac{\vec{u} \cdot \vec{v}}{\|\vec{u}\| \|\vec{v}\|}\)
Interpretação no Jogo: Esta é a "fórmula secreta" para descobrir o ângulo exato entre duas direções de movimento.
A projeção de \(\vec{u}\) sobre \(\vec{v}\) é o vetor "sombra" que \(\vec{u}\) lança na direção de \(\vec{v}\).
\[\text{proj}_{\vec{v}}\vec{u} = \left( \frac{\vec{u} \cdot \vec{v}}{\|\vec{v}\|^2} \right) \vec{v}\]
Interpretação no Jogo: Se \(\vec{u}\) é a força total que você aplica e \(\vec{v}\) é a direção de um trilho, a projeção é a componente da sua força que efetivamente empurra o carrinho no trilho.
Dois vetores são ortogonais (perpendiculares) se o ângulo entre eles é 90°. Isso acontece exatamente quando seu produto escalar é zero.
\[\vec{u} \perp \vec{v} \iff \vec{u} \cdot \vec{v} = 0\]
Interpretação no Jogo: "Caminhos Independentes". Se a direção da câmera é ortogonal à direção do seu movimento, mover-se para frente não afeta o que está à sua direita ou esquerda na tela.
Dados os vetores \(\vec{u}=(2, 2, 0)\) e \(\vec{v}=(3, 0, 0)\):
Sincronia estabelecida!
Itens Adquiridos (Conceitos-Chave):
Você agora consegue analisar as relações angulares entre os avatares!
O produto vetorial \(\vec{u} \times \vec{v}\) é uma operação exclusiva do \( \mathbb{R}^3 \). O resultado é um novo vetor que é ortogonal a \(\vec{u}\) e \(\vec{v}\) simultaneamente.
Interpretação no Jogo: Se você tem duas direções no chão (\(\vec{u}\) e \(\vec{v}\)), o produto vetorial encontra a direção "para cima", perpendicular ao chão. É a ferramenta para criar um novo eixo a partir de dois existentes.
A forma mais prática de calcular é usando um determinante simbólico com a base canônica na primeira linha.
\[ \vec{u} \times \vec{v} = \det \begin{pmatrix} \vec{i} & \vec{j} & \vec{k} \\ u_1 & u_2 & u_3 \\ v_1 & v_2 & v_3 \end{pmatrix} \]
\[ = (u_2v_3 - u_3v_2)\vec{i} - (u_1v_3 - u_3v_1)\vec{j} + (u_1v_2 - u_2v_1)\vec{k} \]
O vetor resultante \(\vec{w} = \vec{u} \times \vec{v}\) tem duas propriedades mágicas:
Dados \(\vec{u} = (1, 2, 0)\) e \(\vec{v} = (0, 3, 1)\):
Dimensão desbloqueada!
Itens Adquiridos (Conceitos-Chave):
Você pode criar novas dimensões e calcular áreas no espaço 3D!
Uma reta é definida por um ponto \(A\) por onde passa e um vetor diretor \(\vec{v}\) que dá sua inclinação.
Equação Vetorial: \( P = A + t\vec{v} \)
\[ (x, y, z) = (x_0, y_0, z_0) + t(a, b, c) \]
Interpretação no Jogo: Esta é a "sequência de comandos" para desenhar um caminho infinito. "Comece no ponto A e dê \(t\) passos na direção \(\vec{v}\)".
Encontre a equação vetorial da reta que passa pelos pontos \(A=(1, 5, 2)\) e \(B=(3, 1, 6)\).
Um plano é definido por um ponto \(A\) e um vetor normal \(\vec{n}\) (perpendicular ao plano).
\[ \vec{n} \cdot (P - A) = 0 \]
Isso leva à equação geral: \(ax + by + cz + d = 0\), onde \(\vec{n}=(a,b,c)\).
Interpretação no Jogo: O vetor normal é a "chave de orientação" de uma parede infinita. Qualquer caminho desenhado sobre essa parede será sempre perpendicular ao vetor normal.
Encontre a equação geral do plano que contém os pontos \(A=(1,0,0)\), \(B=(0,1,0)\) e \(C=(0,0,1)\).
Mapa concluído!
Itens Adquiridos (Conceitos-Chave):
Você agora tem as ferramentas para construir as estruturas básicas do mundo do jogo!
Onde a Álgebra Linear é o "Motor do Jogo" no Mundo Real
Cada ação em um jogo 3D, do movimento da câmera à forma como a luz bate em uma parede, é calculada usando as operações com vetores que você acabou de aprender.
Exemplos de aplicação: