46272-4 - Tópicos Especiais em Computação Gráfica

Trabalho I - 2003-1


Este trabalho consiste na montagem de um ambiente virtual(AV) que deverá representar uma casa.


Datas de Entrega:

Parte I: 09/04 - Nota Máxima : 4.0

Parte II: 05/05 - Nota Máxima : 6.0

Descrição (Parte I) - Valor 4.0

Modelar uma casa 5 cômodos, que atenda os sequintes requisitos:

Descrição (Parte II) - Valor 6.0

Nesta parte do trabalho deverão ser incluídas técnicas de culling para acelerar o processo de exibição do cenário.
Deverão também ter incluídas animações automáticas da abertura e fechamento de portas. Estas portas deverão se abrir no momento em que o usuário chegar em frente a porta e ativar o ocmando de abertura.
O usuário não poderá atravessar uma parede ou porta, se esta estiver fechada.
O usuário poderá apontar e selecionar objetos com um "bastão virtual" que deverá ficar preso a seu corpo.
 

Culling

Inserir um método de View Culling simplificado, de acordo com o algoritmo descrito a seguir.

Deve-se primeiramente dividir a palnta da casa em quadrados de tamanho iguais.
A partir daí deve-se calcular as linhas que limitam (sobre o mapa) o volume de visualização. A partir disto deve-se exibir somente os objetos que estejam nos quadrados que encontram-se dentro do volume de vizualização.
Faça testes dividindo o mapa com quadrados de diversos tamanho e apresentem um RELATÓRIO com o desempenho do algoritmo em termo de FRAMES POR SEGUNDO.
Para efeito de remoção do objeto use apenas o centro do objeto como referência.
A planta deve ser dividida em uma matriz de pelo menos 10 linha por 10 colunas.
 
 

Abertura/Fechamento das portas

Quando o usuário chegar próximo de uma porta esta deverá abrir-se automaticamente. Quando ele se afastar a porta deverá fechar-se também de forma automática. A animação de abertura e fechamento deve durar aproximadamente 2(dois) segundos.
 

O bastão virtual

Este bastão deve ser colocado uma posição semelhante a da mão do usuário e poderá ser girado ao redor dos três eixos coordenados. Ao tocar um objeto com o bastão este deverá ser "sinalizado". Esta sinalização deverá ser implementada comocando-se uma "caixa" ao redor do objeto.
Enquanto estiver sendo tocado o objeto pode ser "selecionado" pelo usuário através da tecla de barra-de-espaço. Um obejto selecionado passa a "ficar preso" ao bastão e com isto passa a mover-se junto com ele.
Ao ser selecionado a "caixa" ao redor do objeto deve desaparecer. Somente objetos que não tenham sido removidos pelo algoritmo de culling é que pode ser selecionados.