COMPUTAÇÃO GRÁFICA TRIDIMENSIONAL





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:

A figura 1 exemplifica as entidades mencionadas acima.
 
 

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