Conceitos
Introdutórios
Na matemática, um vetor é uma contrução capaz de representar uma direção e sentido, além de possuir sua intensidade (módulo ou magnitude).1 Um vetor \(a\) é representado graficamente por qualquer seguimento de reta orientado, como exemplo o seguimento \(\overline{AB}\).
Genericamente, em jogos um vetor contém coordenadas espaciais e, não tão somente a isto, podem ser classificados em dimensões, bem como:
- 1D (contém x),
- 2D (contém x, y),
- 3D (contém x, y, z),
- 4D (contém x, y, z, w);
Representação
Vetor 2D: \(\vec{V} = \begin{bmatrix} x \cr y \end{bmatrix}\)
Vetor 3D: \(\vec{V} = \begin{bmatrix} x \cr y \cr z \end{bmatrix}\)
Aplicabilidade em jogos digitais
Vetores são amplamente usados em jogos como descrição cardial da posição, direção e velocidade de um determinado objeto.
Exemplo:
Um jogador está localizado na posição (3, 2) em relação à origem do mundo (0, 0), e está direcionado em (1, 0).
Básico
Magnitude
Com base no exemplo anterior, podemos deduzir a distância do jogador em relação à origem do mundo. Nota-se que o vetor em um sistema cardial se apresenta como um Triângulo Retângulo, e, assim, conseguimos deduzir (em unidades) o tamanho do vetor da posição por intermédio do Teorema de Pitágoras:
\[\eqalign{ |\vec{V}| &= \sqrt[2]{x^2 + y^2} \\ &= \sqrt{3^2 + 2^2} \\ &= \sqrt{13} \\ &\approx 3.61 }\]Para vetores 3D ou 4D, o processo é o mesmo. Porém, com a adição do eixo z ou w:
\[\eqalign{ |\vec{V}| &= \sqrt[2]{x^2 + y^2 + z^2} \\ &= \sqrt{3^2 + 2^2 + 1^2} \\ &= \sqrt{14} \\ &\approx 3.75 }\]“Mas e os vetores 1D?”, você se pergunta. Bom, eles já possuem a própria medida escalar, com a diferença de que se contabiliza a sua distância ao número zero. Deste modo, nunca serão negativos.
De exemplo, peguemos um vetor 1D de medida (-10). Ele terá o valor 10 como magnitude.
Normalização
O vetor unitário de um vetor \(a\) é o vetor com o mesmo ponto inicial e direção de \(a\), mas com magnitude de 1 unidade. Pode ser provado matematicamente que existe um e apenas um vetor unitário para cada vetor \(a\).
Inverso
O inverso de um vetor é um vetor de igual magnitude, mas na direção oposta. Desde modo, o inverso de \(a\) é \(-a\).
Adição & Subtração
A soma entre vetores é usada para alterar as propriedades dos vetores, criando um vetor resultante. Em suma, adiciona-se em cada propriedade (x, y, z, w) as outras propriedades correspondentes dos vetores a serem acumulados.
Grafia: \(\vec{V} = \begin{bmatrix} x1 \pm x2 \pm xn \cr y1 \pm y2 \pm yn \cr z1 \pm z2 \pm zn \end{bmatrix}\)
Para subtrair, devemos inverter o segundo vetor e, após tal operação, adiciona-se ao primeiro.
NERCURY. Practical use of Vector Math in Games. 2013. Disponível em: https://www.gamedev.net/tutorials/programming/math-and-physics/practical-use-of-vector-math-in-games-r2968/. Acesso em: 04 jan. 2021. ↩