INTRODUÇÃO
Se comparado com o processo de visualização bidimensional, visto até o momento, a visualização de objetos tridimensionais é bastante mais complexa. Esta complexidade deve-se, basicamente, ao fato de que os dispositivos gráficos existentes são adequados à apresentação de imagens planas, bidimensionais.
PROJEÇÕES
Da mesma maneira que um desenhista, quando quer representar no papel a imagem de um objeto tridimensional, no computador também é preciso gerar uma projeção do objeto que se deseja exibir.
Uma projeção nada mais é do que uma representação bidimensional de um objeto tridimensional. Existem várias técnicas e tipos de projeção, cada uma delas adequada a uma tipo de aplicação. A mais importante dela é a projeção Perspectiva pois ela simula a projeção feita pelo olho humano quando este capta a imagem de um objeto.
PROJEÇÃO PERSPECTIVA
A modelagem matemática da projeção perspectiva baseia-se nas seguintes noções básicas:
Figura 1 - Plano e Centro de Projeção
As coordenadas (Xp", Yp"), da projeção perspectiva P" de qualquer ponto P de coordenadas (Xp, Yp, Zp), colocado do lado oposto de CP, em relação ao plano de projeção PI, é obtido criando-se uma linha L de P até CP e calculando-se a intersecção desta com o plano PI. A figura 2 exemplifica o cálculo de P".
Figura 2 - A Projeção do Ponto P
O cálculo das coordenadas de P" é deduzido, de forma mais fácil, se a figura 2 for visualizada de 2 maneiras especiais:
Figura 3 - Vista Lateral Direita do Plano de Projeção
Da figura 3 pode-se retirar a seguinte relação, pela técnica de semelhança de triângulos:
- em uma vista superior(figura 4) é possível calcular
a componente XP" da projeção do ponto P. O cálculo
é feito, também com base na técnica de semelhança
de triângulos.
Figura 4 - Vista Superior do Plano de Projeção
Da figura 4 pode-se retirar a seguinte relação, pela técnica de semelhança de triângulos:
Como calcular o valor de "D" ?
Suponha que o plano de projeção tenha dimens¨es fixas formando um retângulo com extremos, por exemplo, em (-10, -10) e (10,10). Suponha, ainda, que se arbitre um ângulo de visão "alfa" que defina o quanto o observador consegue ver do universo, e em conseqüência, quanto do universo será exibido na tela. Este ângulo funciona como o ângulo de abertura da lente de uma máquina fotográfica, ou seja, quanto maior o ângulo, maior a região que pode ser enquadrada na foto.
Na vista lateral direita deste plano(figura 5). é possível
deduzir uma fórmula para calcular o D.
Figura 5 - Cálculo do valor de D
O OBSERVADOR NO UNIVERSO
Outro componente importante no processo de visualização tridimensional em computadores, além das projeções, é a existência de um "observador virtual" das cenas. Este "observador" é quem define de que local deseja-se que a cena seja exibida, se de cima, de baixo, do lado esquerdo, do direito, etc.
A necessidade da existência deste observador explica-se pelo fato de que um mesmo conjunto de objetos no universo, visto de diferentes lugares tem, para quem os observa, diferentes coordenadas para cada posição. Por exemplo, suponhamos um cubo unitário(com arestas de tamanho 1) colocado com o centro na coordenada (10,10,10). Para um observador origem, as coordenadas do centro do cubo são também (10,10,10). Porém, se o observador for colocado na coordenada (10,0,0) o centro do cubo terá, em relação a ele as coordenadas (0,10,10).
Um ponto importante na definição do "observador virtual" é sua orientação, ou seja, para onde ele está olhando dentro do universo. Nos exemplos acima o observador foi tomado olhando na direção positiva do eixo Z. Porém, se invertermos esta orientação as coordenadas do centro do cubo se alterarão. Por exemplo, tomando o observador na origem e fazendo-o "olhar" na direção negativa do eixo Z, as coordenadas do centro do cubo passam a ser (-10,10,-10) pois o referido ponto ficará a sua esquerda, e a suas costas.
Pelo que foi exposto acima é preciso, então, definir a partir da posição do observador no universo e de sua orientação um novo sistema de referência, o chamado Sistema de Referência da Câmera(SRC).
Assim sendo, antes de projetar qualquer
entidade tridimensional é preciso obter suas coordenadas em relação
ao SRC e somente então projetá-las. Desta forma, garante-se
que tudo que estiver diretamente à frente do observador é
o que
efetivamente será visualizado.
OBTENÇÃO DAS CORDENADAS DE UM PONTO NO SRC
Há várias maneiras de se obter as coordenadas de um ponto no SRC. Aqui seguiremos o exemplo apresentado em aula, considerando a presença de um observador e de dois ângulos, denominados horizontal (a) e vertical (b). Estes ângulos permitem especificar a rotação que a câmera virtual sofrerá, efetivamente direcionando esta para a orientação desejada.
Conhecendo-se então a posição do observador (Xo,Yo,Zo), os ângulos horizontal e vertical, e a posição de um ponto no universo (Xu,Yu,Zu), pode-se calcular a posição equivalente do ponto no SRC através das seguintes fórmulas:
A partir daí, basta efetuar a projeção do ponto
resultante e fazer a conversão para a tela