Implemente um trecho de pseudocódigo para configurar uma câmera com uma função LookAt (observador, alvo).
Passo 1
O enunciado pede um pseudocódigo para configurar uma câmera usando a função LookAt(observador, alvo). O conteúdo é de computação gráfica, mais especificamente a construção da view matrix a partir da posição da câmera (eye), do ponto que ela observa (target) e de um vetor “para cima” (up). Vamos usar operações vetoriais básicas: subtração, normalização, produto vetorial (cross) e produto escalar (dot).
Passo 2
Definimos as entradas da função:
\text{eye}: vetor posição da câmera.
\text{target}: vetor do ponto observado.
\text{up}: vetor que indica a direção “para cima” do mundo (por exemplo (0,1,0)).
Esses três vetores nos permitem estabelecer um sistema de eixos ortonormais da câmera.
Passo 3
Calculamos o eixo “forward” (a direção para onde a câmera olha), normalizado:
f = \frac{\text{target} - \text{eye}}{\|\text{target} - \text{eye}\|}.
Passo 4
Obtemos o eixo “right” (horizontal da câmera) como o produto vetorial entre f e up, e normalizamos:
s = \frac{f \times up}{\|f \times up\|}.
Passo 5
Recalculamos o eixo “true up” (vertical da câmera) garantindo ortogonalidade completa:
u = s \times f.
Passo 6
Com os três eixos ortonormais s, u e f e a posição \text{eye}, montamos a view matrix. Uma forma direta é: