Terceira Lista - Transformações Geométricas
Aquecimento
- Familiarize com os parâmteros das funções de transformações geométricas
de OpenGL/ OpenGL para Win95
com o programa transformation.c. Para gerar
o executável, 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, os dados são requeridos. Notem que estes precisam ser descompactados.
- Identifique no programa cube.c
da primeira lista as rotinas de
transformações geométricas.
O que acontecerá se removermos essas rotinas do programa?
- Inclua no Makefile os comandos
necessários para gerar os executáveis dos
seguintes programas adaptados do livro
OpenGL Programming Guide:
- model.c
- planet.c
- robot.c
Execute-os. Identifique e justifique as transformações
aplicadas.
Observação: A rotina glutSpecialFunc especifica as ações a
serem tomadas para os eventos oriundos das teclas especiais (no caso, as setas).
- Altere a sequência de chamada das rotinas glTranslatef,
glRotatef e glTranslatef no programa
robot.c. Compare os resultados
obtidos com os resultados
originais. Justifique as mudanças ocorridas.
- Inclua no Makefile os comandos
necessários para gerar o executável do programa
origami.c. Execute-o e explique as transformações aplicadas.
Programação
- Identifique as transformações que vocês utilizaram no exercício colaborativo
da primeira lista.
- Adicione ao programa planet.c
uma lua em torno do planeta e modifique o programa de modo
que ele simule o movimento planetário sol-terra-lua,
correspondendo cada aperto na tecla GLUT_KEY_LEFT a um período
de oito horas.
- Seja um cone orientado na direçáo (1.0,1.0,1.0)
(o seu ápice e o cento da sua base estão localizados
neste eixo) e o centro da sua base posicionado em (0.5,0.5,0.5).
Implemente, com uso de quatérnios, um programa que
rotaciona este cone de ângulo
w em torno do eixo (nx,ny,nz) pré-definido.
Voltar para a lista anterior.
Avançar para a próxima lista.