Primeiro Semestre de 2000
Quarta Lista - Transformações
para Visualização
Exercício Colaborativo
" Implemente um aplicativo gráfico
interativo, similar ao transformation.c, que permita explorar interativamente
o uso
das coordenadas homogêneas
em Computação Gráfica (transformações
geométricas e projeções). Dica: Consulte o
artigo Homogeneous Coordinates
de Jules Bloomenthal e Jon Rokne, Visual Computer (1994)11:15-26."
Transformation
Ferramenta desenvolvida por Nate Robins,
(1997), para estudar as transformações geométricas
- rotação, translação e escala - dentro do
OpenGL, mostra a partir de uma imagem 3D, o efeito da aplicação
das matrizes de transformação.
Sua principal característica, que o faz
bastante didádico, é que além da imagem original,
o software, permite a visualização
da posição do observador em relação
ao objeto, bem como os eixos que definem o campo de visão.
Coordenadas Homogêneas
As coordenadas homogêneas foram introduzidas nas matrizes de transformação para que todas as transformações geométricas ficassem uniformizadas na dimensão 4X4 de modo que o cálculo matricial pudesse ser realizado a partir do simples pilhamento das matrizes.
Adaptação do programa Transformation
Para ilustrar as matrizes de transformação a partir do programa Transformation, foram criadas subjanelas mostrando os elementos da matriz resultante do empilhamento de todas as transformações evidenciando os elementos que estão sendo alterados em função da transformação aplicada (rotação, translação e escala) e os elementos da matriz de projeção, onde aparecem as transformações perspectivas.
Na figura abaixo, podemos observar que foram aplicadas transformações geométricas de translação e de rotação do objeto modelado. Observe e compare com a figura anterior, que na janela "Matriz Resultante", é possível visualizar o efeito do empilhamento das matrizes de transformação. Observe também que não há alterações na janela "Matriz de Projeção".
Já na figura abaixo, alteramos os
valores da matriz de projeção alterando o ângulo de
visada, o "aspect ratio" e Zmin e Zmax.
Compare com a figura anterior!
Para executar a nova versão do programa
Transformation,
compile o arquivo transform.c
usando este Makefile.Você
precisa ainda dos programas glm.c
(para ler os modelos da Wavefront), sgi.c
(para ler texturas), sgi.h
e glm.h.
Para executar o programa, vocês precisam ainda dos "dados".
Notem que os dados precisam ser descompactados!.
Implementado por:
Paulo Fisch
Sidney Cunha
Cláudio Araújo