1. Explique passo a passo como transformar um ponto no sistema de coordenadas do mundo para o sistema do observador.

Passo 1

O enunciado pede como converter um ponto P dado em coordenadas do mundo (world) para coordenadas do observador (camera/eye). Trata-se de uma mudança de referencial que coloca a câmera na origem e alinha seus eixos com o sistema do observador. Para isso, precisamos de:
– A posição da câmera C
– A orientação da câmera, geralmente dada pelos vetores unitários \mathbf{r} (right), \mathbf{u} (up) e \mathbf{f} (forward).

Passo 2

Fazemos primeiro a tradução para que a câmera fique na origem. Se P_w é o ponto no mundo, o ponto traduzido é
P_t \;=\; P_w \;-\; C.

Passo 3

Construímos a matriz de rotação R que alinha os eixos do mundo com os da câmera. Usamos a base ortonormal \{\mathbf{r},\,\mathbf{u},\,-\mathbf{f}\}. Em forma de linhas:
R = \begin{pmatrix} \mathbf{r}^T\\\ \mathbf{u}^T\\\ (-\mathbf{f})^T \end{pmatrix}.

Passo 4

Aplicamos a rotação ao ponto já traduzido. Assim obtemos o ponto no sistema do observador:
P_o \;=\; R\,P_t \;=\; R\,(P_w - C).

Passo 5

Para usar coordenadas homogêneas e compor tudo numa única matriz, definimos
P_w^h = \begin{pmatrix}P_w\\\ 1\end{pmatrix} \quad\text{e}\quad M_{\text{view}} = \begin{pmatrix} R & -R\,C\\[6pt] \mathbf{0}^T & 1 \end{pmatrix}.
Então
P_o^h \,=\, M_{\text{view}}\,P_w^h.
]

Resposta

P_o \;=\; R\,(P_w - C), \quad\text{ou em homogêneas}\quad P_o^h = \begin{pmatrix} R & -R\,C\\\ \mathbf{0}^T & 1 \end{pmatrix} P_w^h.ê

Exercícios relacionados