Parte I: 28/05 - Nota Máxima : 4.0
Quem desejar pode utilizar os seguintes objetos como
avatares : Eric, Kyle.
Objetivo:
Incluir no Ambiente Virtual Colaborativo desenvolvido
no item anteriro, a possibilidade de Dividir um cubo através
de um plano de corte, dado que um dos usuários pode mover
e rotacionar o plano e o outro mover e rotacionar o cubo. Cada usuário
deverá estar em uma máquina.
O plano de corte do cubo deverá ser representado por um retângulo. O usuário que controla o cubo é quem pode ativar o comando de corte.
Após a divisão, o plano de corte deve desaparecer, assim como o cubo original. Devem aparecer, em todos os nodos participantes do ambeinte virtual colaborativo, os objetos resultantes da divisão, ao mesmo tempo.
Cada um dos objetos resultates da divisão deve passar a ser controlado por um dois usuários, que poderão navegar pelo ambiente carregando seu objeto. Se desejar o usuário pode largar o objeto e continuar andando. E pegá-lo novamente.
Os objetos resultantes devem ser sólidos poligonais fechados !
As faces criadas na divisão devem ter a mesma orientação das faces do cubo original. Devem ser impressas (na tela de texto) as normais das faces dos objetos resultantes, a fim de que se possa conferir esta ordenação. Imprima também as normais do objeto original, antes do corte.
Todos os movimentos de objetos e de usuários devem ser visíveis em todos os nodos participantes da colaboração.
OBS: fórmulas e rotinas de interseção entre uma linhas e planos podem ser encontradas facilmente no GOOGLE.COM através da busca pelas palavras intersection between line and plane, ou em livros de computação gráfica disponíveis na biblioteca.