ARQUIVOS: ******** Rotação em 3D (Continuação do exercício - semana03 / Matrix3D) - RotXZ: Rotaciona no Plabo XZ (ao redor do eixo Y) Rotação ao redor da origem (0,0,0) Utiliza funções: baseadas no uso de SIN/COS Controles: Setas, Shift, Control, "r" - RotXZ1: Similar ao RotXZ, onde o reposicionamento do objeto foi incluído na função de rotação. Ao invés de ter 2 funções com 1 váriável de retorno cada (novo_x e novo_z), foi implementada uma única função que rotaciona e já reposiciona o objeto (sem retornar nenhum valor) - RotXY: Rotaciona no Plabo XY (ao redor do eixo Z) Similar ao programa ROTXZ1 - RotXY: Rotaciona no Plabo XY (ao redor do eixo Z) Similar ao programa ROTXZ1 - RotXZ_Pivo: Permite rotacionar ao redor de um pivô (ao invés de sempre rotacionar ao redor da origem) Demonstração do uso das rotações (Demo tipo "screensaver") - RDemo: Cria várias esferas sobre o plano XZ, distribuídas de modo aleatório e faz uma "lua" orbitar ao redor de cada uma delas com velocidades diferentes. - Rdemo1: Similar ao RDemo, mas cada planeta se situa em um nível/altura diferente, com a sua respectiva lua girando ao redor (os planetas não estão mais apenas sobre o plano XZ) - Rdemo2: Gera uma "grade" de planetas e luas girando em velocidades diferentes (efeito visual interessante). Funções: Como passar e receber múltiplos parâmetros por referência?!? Solução - Use uma variável global (definida com Type) - Function-Global: Demonstra o uso de uma variável global para retornar o resultado (coord. x,y,z) obtido por uma função. === F. Osório Setembro 2005 =============