INF268 Fundamentos da Computação Gráfica Prova Final de 2. Aluno(a):_ Eduardo Ribeiro matrícula: Questão Pts. a ) 3. 2 a ) 3. 3 a ) 4. Nota Para fazer a prova, favor observar o seguinte:. A prova é individual. É para ser feita em casa e com consulta livros, manuais e materiais de referência na internet. Você não pode consultar nenhum outro ser humano. Pode consultar o papagaio, o gato ou o cachorro, desde que não tenha uma pessoa por perto para ouvir.ela pode ficar com pena e responder. Mantenha sua solução em segredo até a data de entrega. 2. A prova esta sendo entregue a você através deste arquivo e sua resposta também deve ser digital (arquivo doc ou pdf) e entregue por e-mail. A prova será postada na 2ª feira, dia 5 de julho, e deverá ser devolvida (estar na minha caixa postal) antes das 2h da 4ª feira, dia 7 de julho.após esta hora as provas não serão mais aceitas. A prova exige muitas contas, mas você pode utilizar programas do tipo Excel, MATLAB e Maple. Pode também modificar os programas C dados, de forma a que eles imprimam resultados parciais, comovetores e matrizes. Para colocar no arquivo resposta (doc ou pdf) você pode utilizar o PrintScreen, salvar em arquivos dar cortar e colar, enfim fazer o que você quiser para ser mais eficiente e fácil. O importante é que o resultado seja facilmente legível por qualquer um que não seja conhecedor de nenhuma das ferramentas utilizadas. Ou seja, não valem respostas que sejam apenasa saída de um programa como o MATLAB sem um texto explicativo.
ª Questão (3 pontos)determine a Transformada Cosseno Discreta (DCT- Discrete Coe Transformation) do al amostrado tabela abaixo. A partir do al transformado, calcule a transformada inversa e mostre que o al original é reproduzido. Reconstrua também o al considerando apenas as 3 primeiras componentes da transformada seno. Ou seja, ao invés de armazenarmos oito números para o al, estaríamos armazenando apenas três. Os ais, original e reconstruindo com esta redução, ficam muito diferentes? Ilustre com uma figura. x..2.3.4.5.6.7 f(x) 3 5 8 9 9 8 Equação do DCT para uma dimensão., onde. Equação para a reconstrução do al amostrado. No caso da reconstrução do al considerando apenas as 3 primeiras componentes da transformada seno, o Z(u) só é multiplicado pelo seno nos três primeiros componentes. Original 3 5 8 9 9 8 DCT 2.923-4.96-4.78 -.8228 -.77.5496 -.667.97578 IDCT 2.9999 4.9999 7.9999 8.9999 9.9999 9. 9.9999 8. IDCT - 3 3.462 4.93 7.674 9.552.24 9.893 9.92 8.272 2 8 6 4 2,,2,3,4,5,6,7,8 Figura - Em azul a reconstrução usando todos os componentes. Em rosa a reconstrução levando em conta apenas as três primeiras componentes.
2ª Questão (3 pontos)considere um objeto descrito por uma malha de triângulos descrita num sistema de coordenadas cuja origem está no centro de massa do objeto. Num tempo t = de uma animação o centro de massa deste objeto está na posição (5,,2) e ele se encontra rodado de 6 o em torno do eixo (,,). Num tempo t = este centro está em (, 5, 2) e o objeto está rodado de -9 o em torno do eixo (,,). Pede-se: a) As matrizes de instanciação deste objeto na cena em t e t. Objeto definido em seu sistema proprio nas coordenadas da cena. Aplicar rotação e translação em cima do objeto para levá-lo a posição desejada. Um vértice no tempo é definido pela equação A matriz de rotação é definida por, onde a variável c é o seno do ângulo de rotação, s é o seno do ângulo e (x,y,z) =, caso contrário deve ser normalizado. A matriz translação dada é por em cada um dos três eixos., onde o x, y e z representam as translações Em : matriz de rotação, matriz de translação.
Matriz de instanciação. Em : matriz de rotação, matriz de translação. Matriz de instanciação. b) Supondo que o centro de massa siga uma curva de Bezier e que as derivadas paramétricas em t e t sejam (2,-2,-2) e (2,2,24), respectivamente, qual a posição do centro de massa em t=.3? Aplicar uma curva de Bezier cúbica, onde = ( 5,, 2 ), = (, 5, 2 ). Os pontos de controle e são determinados a partir das derivadas paramétricas. f'() = 3( ) ( 2, 2, -2 ) = 3 - ( 5,, 6 ) -> = ( 9, -4, -2 ) f'() = 3( ( 2, 2, 24 ) = ( 3, 5, 6 ) - 3 -> = ( 6,, 2 ) A fórmula de Bezier Cúbica é B(.3) = ( -.3)³(5,, 2) + 3(-.3)².3(9,-4,-2) + 3(-.3).3²(6,,2) +.3³(,5,2) B(.3) = (7.88, -.44, 2.62) c) Qual a rotação deste objeto se for interpolada linear e esfericamente (Slerp - spherical linear interpolation) neste mesmo tempo (t=.3)? Responda dizendo o ângulo e o eixo de rotação. Transformar as rotações do formato ângulo, eixo de rotação para quaternios, aplicar a interpolação linear esférica. Um quaternio pode ser associado a uma rotação sobre um eixo usando a expressões abaixo: Onde α é o valor em radiano do ângulo de rotação e o (, (, ( são senos que localizam os eixos de rotação. A variável representa o w do quaternio.
Quaternio da rotação em = {,.4999,,.866 } Quaternio da rotação em = {.77,,,.77 } A interpolação linear e esférica é dada pela fórmula =. Quaternio resultante da aplicação do Slerp em = { -.246,.3767,,.8942 } Com o quaternio referente a rotação do objeto em ângulo e eixo de rotação usando a fórmula abaixo: tranformamos de quaternio para angle= 2 * a(w) ax= x / scale ay= y / scale az= z / scale Onde scale = sqrt (x² + y² + z²). Com isso obtemos que o ângulo do objeto é 53.798 e o eixo de rotação é { -.5397,.848, }. 3ª Questão (4 pontos) No ano de 22, dez anos após publicarmos a resposta desta questão, foi inventada uma esfera denominada BI (bolha imersiva), que permite que um ser humano de altura de nariz (h n ) veja um mundo virtual completamente imerso nele. A Figura 3(a) ilustra este conceito onde a esfera transparente de raio de h n e centrada no nariz da pessoa controla totalmente a luz, sons e calor no seu interior. Um sistema acompanha os movimentos do nariz de forma a projetar na superfície da esfera na região correspondente ao campo visual da pessoa a radiância do mundo virtual. A Figura 3(b) ilustra o sistema de coordenadas da esfera (x s, y s, z s ) onde os vértices dos modelos do ambiente virtual são definidos. Isto é, as coordenadas dos triângulos da cena são fornecidas neste sistema. A Figura 3(b) também mostra e o vetor nariz, n, na posição alinhada com a esfera. Nesta primeira versão da BI apenas os movimentos da cabeça correspondentes aos ângulos: e (Figura 3(c)) são considerados. Estes ângulos têm valores positivos no sentido mostrado nesta Figura, i.e. esquerda(-), direita(+), para baixo(-) e para cima(+). Espera-se para o Natal de 222 uma versão que permita a cabeça rodar em torno do eixo do nariz. (a) (b) (c) (d) Figura 3 Bolha imersiva para RV Para materializarmos hoje um protótipo inicial da BI vamos admitir que tenhamos uma versão onde, no ponto que o vetor n fura a esfera temos o centro da imagem de um
monitor que se move junto com a cabeça gerando a radiância que é vista através da superfície transparente da esfera. A imagem tem resolução de 92 8 e o field of vision em y é 9 o. Pede-se: a) Traçado de Raios: desenvolva o procedimento (como feito em aula) para calcular a direção do raio d em função da coordenadas dos pixels (x,y). b) ZBuffer: determine a matriz ModelView que permita que a cena descrita no sistema (x s, y s, z s ) seja transformada para o sistema do olho. Vamos começar a resposta pelo item (b) que trata apenas na mudança do sistema da esfera (global ou dos objetos) para o sistema do olho (câmera), ilustrado na Figura abaixo. A resposta do item (a) também depende desta transformação. b) Existem dois enfoques para resolver o problema: um mais simples, porém trabalhoso outro menos trabalhoso, mas que depende de uma boa interpretação das rotações. Vamos ver ambos, iniciando com o mais simples. i. Resposta simples, mas trabalhosa: derivando a posição da base x e y e z e : O vetor unitário na direção do nariz pode ser escrito como: n O vetor z e tem o sentido oposto a n, ou seja: z e
Dadas as condições do problema o vetor y s permanece como sendo a direção para cima (pelo menos até o Natal de 222). Daí podemos calcular x e pelo produto vetorial de y s com z e : x e i j k O vetor y e também pode ser obtido pelo produto vetorial de z e com x e : y e i j k ( 2 2 ) Com estes vetores da base podemos escrever a matriz LookAt, como apresentado nas notas do curso, observando que a translação no caso presente não existe. Assim sendo: L at Ou ainda: x y z e e e x y z s s s
ii. Solução mais direta: Os ângulos mostrados na Figura 3(c) indicam que o sistema do olho sofre uma rotação de em relação ao eixo x seguida de outra rotação de em relação ao eixo y. Note que a ordem destas transformações é importante e que se fossem trocadas não resultaria em ser o ângulo entre o eixo z s e a projeção de n no plano y s e ser o ângulo entre n e a sua projeção. Ou seja:
a) Depois da localização do sistema da câmera (eye) feita acima, o procedimento segue o mostrado em aula com os seguintes parâmetros: Como o centro de projeção fica na origem do sistema (x s, y s, z s ) o vetor eye é dado por: eye A resposta do item (b) calcula as coordenadas do sistema do x e y e z e Pelo encunciado os demais parâmetros da câmera são: fovy =9 o w=92 h=8 aspect = 92/8=6/9 near = h n A partir deles o procedimento é o mesmo que o apresentado no curso: