Exercícios sobre Fundamentos Matemáticos para Computação Gráfica
1) Animação com Vetores
Utilizando a ImageClass, crie uma animação que mova uma imagem na tela.
Para realizar o exercício, abra o projeto da ImageClass e edite o arquivo ExemploDeManipulacaoDeImagens.cpp.
Nesta animação, o tempo de deslocamento da imagem, em segundos, deve
ser definido pelo usuário, no início do programa. Coloque isto na
função init.
Com isto, a imagem deve "atravessar" a tela no tempo especificado,
independente do tamanho da janela ou do poder computacional da máquina.
O controle de tempo pode ser feito através da função Display, na qual o
trecho de código a seguir calcula o tempo gasto desde a últiam vez que
a tela foi redesenhada.
Neste código, o método T.getDeltaT()determina
quanto tempo se passou desde que a última chamada desta mesma função
foi feita. A partir desta informação é possível definir o tamanho do
deslocamento na tela a cada frame.
2) Determinação de Concavidade em Polígono
Para realizar este exercício, você pode utilizar este código fonte que contém algumas funções de manipulação de vetores.
Observando o polígono da figura a seguir e você verá que:
o produto vetorial resulta em um vetor de coordenadas (0, 0, z1) onde z1 é positivo;
o produto vetorial resulta em um vetor de coordenadas
(0, 0, z2) onde z2 é negativo.
A partir disto crie uma rotina que seja capaz de determinar se um polígono é concavo
ou convexo.
int ClassificaPoligono(int num_vert, Vetor pontos[])
{
// a rotina deve retornar 1 quando o polígono
// for convexo e 0 quando for côncavo
}
3) Inclusão de ponto em Polígono Convexo
Para realizar este exercício, você pode utilizar este código fonte que contém algumas funções de manipulação de vetores.
Utilzando o produto vetorial, crie uma função que receba por parâmetro
um polígono convexo e um ponto. A função deve determinar se o ponto
está dentro ou fora do polígono.
Como se trata o caso de um ponto sobre uma das arestas do polígono?
4) Inclusão de ponto em Polígono Côncavo
Para realizar este exercício, você pode utilizar este código fonte que contém algumas funções de manipulação de vetores.
Crie uma função que receba por parâmetro um polígono côncavo e um
ponto. A função deve determinar se o ponto está dentro ou fora do
polígono.