Universidade Federal de Pernambuco Centro de Informática Recife, 18 de dezembro de 2002 Disciplina: Computação Gráfica Professor: Alejandro Frery Aluno: Francisco do Nascimento Júnior

Resolução da Lista 2

1. Descreva as matrizes de projeções: a. Com centro de projeção na origem e cujo plano de projeção é o plano z = d. Resolução Considere o ponto P = (x, y, z) que se deseja projetar no plano z = d, obtendo assim o ponto Q = (x_{p}, y_{p}, d). Inicialmente, considere a projeçao do ponto P no plano YZ, encontrando o ponto P_{1} = (0, y, z). Logo, temos por semelhança de triângulos:

\frac{y_{p}}{y} = \frac{d}{z} ⇒ y_{p} = \frac{y}{z/d}

Considere agora a projeção do ponto P no plano XZ, obtendo o ponto P_{2} = (x, 0, z).

\frac{x_{p}}{x} = \frac{d}{z} ⇒ x_{p} = \frac{x}{z/d}

Agora, utilizando coordenadas homogêneas obtemos a seguinte relação:

[ x y z 1 ] • M_{P ers} = [ x_{p} y_{p} d 1 ] = [ \frac{x}{z/d} \frac{y}{z/d} d 1 ] • \frac{z}{d} = [ x y z \frac{z}{d} ]

Com esta relação podemos deduzir que a matriz M_{P ers} é:

M_{P ers} = [ \begin{matrix}1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & \frac{1}{d} \\ 0 & 0 & 0 & 0 \end{matrix} ]

b. Cujo centro de projeção é o ponto (0, 0, −d) e cujo plano de projeção é o plano z = 0. Resolução: Utilizando o mesmo raciocínio da questão anterior, obtemos através da projeção no plano XZ:

\frac{x_{p}}{x} = \frac{d}{z + d} ⇒ x_{p} = \frac{x}{(z + d)/d} = \frac{x}{z/d + 1}

E através da projeção no plano YZ:

\frac{y_{p}}{y} = \frac{d}{z + d} ⇒ y_{p} = \frac{y}{(z + d)/d} = \frac{y}{z/d + 1}

Logo, obtemos a seguinte relação:

[ x y z 1 ] • M_{P ers} = [ x_{p} y_{p} 0 1 ] = [ \frac{x}{z/d+1} \frac{y}{z/d+1} 0 1 ] • \frac{z}{d} =
= [ x y 0 \frac{z}{d} + 1 ]

Com esta relação podemos deduzir que a matriz M_{P ers} é:

M_{P ers} = [ \begin{matrix}1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & \frac{1}{d} \\ 0 & 0 & 0 & 1 \end{matrix} ]

2. Considere o cubo definido pelos pontos: (3, 0, 3), (3, 0, 6), (0, 0, 6), (0, 0, 3), (0, 3, 6), (3, 3, 6), (3, 3, 3), (0, 3, 3). a. Aplique a matriz encontrada no item a da questão anterior para projetar este cubo. Defina, em seguida, valores para d, tais, que, nenhum ponto do cubo será projetado no plano de projeção e outro com todos os pontos projetado. Resolucao:

Figure 1: Vistas: frontal, superior e lateral

[ \begin{matrix}3 & 0 & 3 & 1 \\ 3 & 0 & 6 & 1 \\ 0 & 0 & 6 & 1 \\ 0 & 0 & 3 & 1 \\ 0 & 3 & 6 & 1 \\ 3 & 3 & 6 & 1 \\ 3 & 3 & 3 & 1 \\ 0 & 3 & 3 & 1 \end{matrix} ] • [ \begin{matrix}1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 1/d \\ 0 & 0 & 0 & 0 \end{matrix} ] = [ \begin{matrix}3 & 0 & 3 & 3/d \\ 3 & 0 & 6 & 6/d \\ 0 & 0 & 6 & 6/d \\ 0 & 0 & 3 & 3/d \\ 0 & 3 & 6 & 6/d \\ 3 & 3 & 6 & 6/d \\ 3 & 3 & 3 & 3/d \\ 0 & 3 & 3 & 3/d \end{matrix} ] = [ \begin{matrix}d & 0 & d & 1 \\ d/2 & 0 & d & 1 \\ 0 & 0 & d & 1 \\ 0 & 0 & d & 1 \\ 0 & d/2 & d & 1 \\ d/2 & d/2 & d & 1 \\ d & d & d & 1 \\ 0 & d & d & 1 \end{matrix} ]

Para d < 0 e d > 6, nenhum ponto do cubo é projetado. Para 0 < d < 3, todos os pontos do cubo são projetados. b. Construa as vistas ortográficas frontal, superior e lateral do cubo. c. Determine a projeção dimétrica deste cubo, com um fator de projeção do eixo z de 5/8. Para realizar a projeção dimétrica podemos fazer uma rotação de θ em torno de x, em seguida rotacionamos α em torno de y e, por fim, aplicar uma projeção no eixo z. Vamos aos cálculos: Considere o operador ψ = P_{z} · R_{α}^{y} · R_{θ}^{x}, e a matriz que o implementa [T].

[t] = [ \begin{matrix}1 & 0 & 0 & 0 \\ 0 & cos θ & − sin θ & 0 \\ 0 & sin θ & cos θ & 0 \\ 0 & 0 & 0 & 1 \end{matrix} ] • [ \begin{matrix}cos α & 0 & sin α & 0 \\ 0 & 1 & 0 & 0 \\ − sin α & 0 & cos α & 0 \\ 0 & 0 & 0 & 1 \end{matrix} ] • [ \begin{matrix}1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \end{matrix} ]

[T] = [ \begin{matrix}cos α & 0 & sin α & 0 \\ sin θ sin α & cos θ & − sin θ cos α & 0 \\ − sin α cos θ & sin θ & cos α cos θ & 0 \\ 0 & 0 & 0 & 1 \end{matrix} ] • [ \begin{matrix}1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \end{matrix} ]

= [ \begin{matrix}cos α & 0 & 0 & 0 \\ sin θ sin α & cos θ & 0 & 0 \\ − sin α cos θ & sin θ & 0 & 0 \\ 0 & 0 & 0 & 1 \end{matrix} ]

Agora, para determinarmos os fatores de proporção da projeção, vamos aplicar essa transformação a vetores unitários: [U∗] = [U][T]

[U∗] = [ \begin{matrix}1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \end{matrix} ] • [ \begin{matrix}cos α & 0 & 0 & 0 \\ sin θ sin α & cos θ & 0 & 0 \\ − sin α cos θ & sin θ & 0 & 0 \\ 0 & 0 & 0 & 1 \end{matrix} ] = [ \begin{matrix}cos α & 0 & 0 & 1 \\ sin θ sin α & cos θ & 0 & 1 \\ − sin α cos θ & sin θ & 0 & 1 \end{matrix} ]

Daí, calculamos os módulos dos vetores:

f_{x} = cos α
f_{y} = \sqrt{sin θ^{2} sin α^{2} + sin θ^{2}}
f_{z} = \sqrt{cos θ^{2} sin α^{2} + sin θ^{2}}

Sabendo que foi dado o valor de f_{z}, poremos os ângulos de θ e α em função de f_{z}. Como desejamos uma projeção dimétrica, igualemos os fatores f_{x} e f_{y}:

cos α^{2} = sin θ^{2} sin α^{2} + cos θ^{2} cos α^{2} = sin θ^{2} sin α^{2} + 1 − sin θ^{2} cos α^{2} = sin θ^{2}(sin α^{2} − 1) + 1

sin θ^{2} = \frac{cos α^{2} − 1}{sin α^{2} − 1} = \frac{− sin α^{2}}{sin α^{2} − 1}

sin θ^{2} = \frac{sin α^{2}}{1 − sin α^{2}} [Eq.01] f_{z}^{2} = sin α^{2} cos θ^{2} + sin θ^{2} f_{z}^{2} = sin α^{2}(1 − sin θ^{2}) + sin θ^{2}

f_{z}^{2} = sin α^{2}(\frac{1 − 2 sin α^{2}}{1 − sin α^{2}} ) + \frac{sin α^{2}}{1 − sin α^{2}}

(1 − sin α^{2})f_{z}^{2} = sin α^{2}(1 − 2 sin α^{2}) + sin α^{2} (1 − sin α^{2})f_{z}^{2} = sin α^{2} − 2 sin α^{4} + sin α^{2} 2 sin α^{2} − 2 sin α^{4} − (1 − sin α^{2})f_{z}^{2} = 0 2 sin α^{2} − 2 sin α^{4} − f_{z}^{2} + f_{z}^{2} sin α^{2} = 0 2 sin α^{4} − (2 + f_{z}^{2}) sin α^{2} + f_{z}^{2} = 0

Resolução dessa equação bi-quadrada:

2 sin α^{4} − (2 + f_{z}^{2}) sin α^{2} + f_{z}^{2} = 0

Δ = (2 + f_{z}^{2})^{2} − 4 · 2 · f_{z}^{2}

Δ = 4 + 4f_{z}^{2} + f_{z}^{4} − 8f_{z}^{2} = 4 − 4f_{z}^{2} + f_{z}^{4} = (2 − f_{z}^{2})^{2}

sin α^{2} = \frac{2 + f_{z}^{2} ± (2 − f_{z}^{2})}{4}

Uma solução da equação é:

sin α^{2} = \frac{2 + f_{z}^{2} − (2 − f_{z}^{2})}{4} = \frac{f_{z}^{2}}{2}

sin α = \frac{f_{z}}{\sqrt{2}}

Substituindo o valor de sin α na Equação 01, temos:

sin θ^{2} = \frac{sin α^{2}}{1 − sin α^{2}}

sin θ^{2} = \frac{f_{z}^{2}/2}{1 − f_{z}^{2}/2}

sin θ^{2} = \frac{f_{z}^{2}}{2 − f_{z}^{2}}

sin θ = \frac{f_{z}}{\sqrt{2 − f_{z}^{2}}}

Utilizando as transformações trigonométricas, encontramos todos os parâmetros necessários para a construção da matriz de transformação:

sin α = \frac{f_{z}}{\sqrt{2}} ⇒ cos α = \sqrt{1 − \frac{f_{z}^{2}}{2}}

sin θ = \frac{f_{z}}{\sqrt{2 − f_{z}^{2}}} ⇒ cos θ = \sqrt{1 − \frac{f_{z}^{2}}{2 − f_{z}^{2}}}

Com isso, resulta-se na matriz abaixo:

[T] = [ \begin{matrix}\sqrt{1 − \frac{f_{z}^{2}}{2}} & 0 & 0 & 0 \\ \frac{f_{z}}{\sqrt{2−f_{z}^{2}}} \frac{f_{z}}{\sqrt{2}} & \sqrt{1 − \frac{f_{z}^{2}}{2−f_{z}^{2}}} & 0 & 0 \\ −\frac{f_{z}}{\sqrt{2}} \sqrt{1 − \frac{f_{z}^{2}}{2−f_{z}^{2}}} & \frac{f_{z}}{\sqrt{2−f_{z}^{2}}} & 0 & 0 \\ 0 & 0 & 0 & 1 \end{matrix} ]