Descreva como é feito o posicionamento do observador virtual em uma cena 3D.
Passo 1
O enunciado pede para explicar como se posiciona um observador virtual (ou câmera) em uma cena tridimensional. O conteúdo principal é o de transformações de visualização: precisamos definir um sistema de coordenadas de câmera a partir das coordenadas do mundo e obter a matriz de visualização (view matrix) que leva pontos do espaço mundo para o espaço da câmera.
Passo 2
Primeiro, escolhemos três parâmetros básicos da câmera no sistema de coordenadas do mundo:
– A posição do observador, \mathbf{P}.
– O ponto para o qual a câmera “olha”, chamado alvo ou look-at, \mathbf{L}.
– Um vetor “para cima” provisório, \mathbf{V}_{up}, que indica a direção vertical aproximada da cena.
Passo 3
Com \mathbf{P}, \mathbf{L} e \mathbf{V}_{up} definimos uma base ortonormal da câmera:
Aqui \mathbf{n} aponta da cena para a câmera, \mathbf{u} é o eixo “direita” e \mathbf{v} é o eixo “para cima” definitivo da câmera.
Passo 4
A matriz de visualização \mathbf{M}_{view} combina rotação e translação de forma que: 1. Os eixos do mundo se alinhem a (\mathbf{u},\mathbf{v},\mathbf{n}). 2. A origem do sistema da câmera fique em \mathbf{P}.
Em coordenadas homogêneas:
Os pontos resultantes \mathbf{X}_{câmera}â já estão no sistema da câmera e podem então ser projetados na tela.
Resposta
O posicionamento do observador virtual é feito definindo-se a posição \mathbf{P}, o ponto alvo \mathbf{L} e o vetor provisório “up” \mathbf{V}_{up}; a seguir calcula-se a base ortonormal (\mathbf{u},\mathbf{v},\mathbf{n}); monta-se a matriz de visualização que alinha e transladapara que a câmera fique na origem desse novo sistema; por fim multiplica-se todos os pontos da cena por essa matriz para trazê-los ao sistema da câmera.