Transformações Geométricas

Em muitas aplicações da computação gráfica, há a necessidade de alterar e manipular o conteúdo de uma cena. Animações, por exemplo, são produzidas pelo movimento da câmera ou dos objetos presentes na cena. Mudanças em orientação, tamanho e formato estão ligadas às transformações geométricas.

As transformações geométricas básicas são translação, rotação e escalamento. São estas as transformações geométricas aqui abordadas, utilizadas separadamente e em composição.


Translação

A translação, quando aplicada a um objeto, reposiciona o mesmo mudando suas coordenadas (x,y,z) no espaço tridimensional por fatores dx, dy e dz, respectivamente. Dessa forma, considerando, inicialmente, um objeto com coordenadas espaciais (x,y,z), sua nova posição (x',y',z') após uma operação de translação será:
x'= x + dx (1)
y'= y + dy (2)
z'= z + dz (3)
A translação é uma transformação de corpo rígido que move objetos sem deformá-los. Assim, cada ponto de um objeto é transladado da mesma quantia. Por exemplo, um segmento de reta que sofre translação, tem suas extremidades alteradas pelas relações (1), (2) e (3) e é, então, redesenhado a partir de suas novas extremidades. Um polígono, por sua vez, quando transladado, tem a posição de seus vértices alterada pelas relações (1), (2) e (3) e o novo conjunto de vértices originado é utilizado para recriar o polígono.

Cilindro originalmente posicionado num sistema de coordenadas tridimensional xyz.

(rib)

(rib)
Cilindro após sofrer operação de translação.


Rotação

Um objeto quando rotacionado, gira um ângulo "alfa" em torno de um eixo que passa pela origem do sistema de coordenadas tridimensional no qual está representado. Pela Interface RenderMan são passados o ângulo de rotação "alfa" e um ponto P. Uma reta que passa por este ponto e pela origem define o eixo que sobre o qual será aplicada a rotação.

Num sistema baseado na regra da mão-esquerda, como é o utilizado pelo pacote Photorealistic RenderMan, o polegar da mão esquerda aponta ao longo do eixo de rotação partindo da origem em direção ao ponto P. Os demais dedos desta mão indicam a direção na qual o objeto deve ser rotacionado.

A rotação, como a translação, também é uma transformação de corpo rígido, caracterizada por reposicionar os objetos, sem deformá-los. Deste modo, cada ponto do objeto é rotacionado de um mesmo ângulo sobre um mesmo eixo.

Cilindro originalmente posicionado num sistema de coordenadas tridimensional xyz.

(rib)

(rib)
Cilindro após sofrer operação de rotação.


Escalamento

O escalamento altera o tamanho dos objetos, multiplicando as coordenadas (x,y,z,) usadas para definí-los, por fatores sx, sy e sz, respectivamente. Supondo, por exemplo, um vértice de um polígono definido pelas coordenadas (x,y,z), as novas coordenadas (x',y',z') deste vértice após uma operação de escalamento seria:
x'= x.sx
y'= y.sy (1)
z'= z.sz
Os fatores sx, sy e sz podem assumir quaisquer valores positivos, sendo que para valores menores que 1, o tamanho do objeto é reduzido, para valores maiores que 1, o aumenta-se o tamanho do objeto e para valores igauis a 1, o tamanho original do objeto é mantido.

Se sx, sy e sz assumirem o mesmo valor, tem-se um escalamento uniforme caracterizado pela manuntenção da proporção das medidas de um objeto enquanto altera-se seu tamanho. Já, para valores diferentes para sx, sy e sz, temos, então, um escalamento diferencial, em que proporção original NÃO é mantida.

Cilindro originalmente posicionado num sistema de coordenadas tridimensional xyz.

(rib)

(rib)
Cilindro após sofrer operação de escalamento.


Transformações Compostas

As transformações geométricas básicas aqui apresentadas podem ser usadas em conjunto para se obter os mais variados efeitos desejados. Ainda, dependendo da ordem em que estas transformações são aplicadas aos objetos de uma cena, podemos obter maiores variações nos resulados pretendidos. A seguir, são exemplificadas as três transformações básicas aplicadas em conjunto e em ordens diferentes.


(rib)
Cilindro em sua posição original no espaço tridimensional



(rib)
Translação

(rib)
Translação e rotação

(rib)
Translação, rotação e escalamento

(rib)
Translação

(rib)
Translação e escalamento

(rib)
Translação, escalamento e rotação

(rib)
Rotação

(rib)
Rotação e translação

(rib)
Rotação, translação e escalamento

(rib)
Rotação

(rib)
Rotação e escalamento

(rib)
Rotação, escalamento e translação

(rib)
Escalamento

(rib)
Escalamento e translação

(rib)
Escalamento, translação e rotação

(rib)
Escalamento

(rib)
Escalamento e rotação

(rib)
Escalamento, rotação e translação


Pela observação da tabela acima, percebe-se que a ordem em que as transformações geométricas são aplicadas é de grande importância e deve ser sempre considerada. Nota-se claramente que a terceira coluna da tabela apresenta imagens diferentes, apesar de todas elas terem sido submetidas às três transformações básicas. O que causou esta diferença foi a ordem em que tais transformações foram aplicadas.


Volta para Introdução