Desenho de objetos em OpenGL -- Computação Gráfica |
jSSeção 3.3 |
3.3. Transformações Geométricas |
Em muitas aplicações de computação gráfica, há
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. 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 Tx, Ty e Tz, 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á:
>> Translate {f,d} ( Tx, Ty, Tz ), onde: Tx -> é o quanto se quer transladar o
objeto em relação ao eixo X glTranslatef(0.0f,0.5f,0.0f);
|
||||
Desenho inicial |
d |
Desenho após translação |
||
|
|
|||
d |
ROTAÇÃO Rotacionar um objeto significa girar o mesmo em torno de um eixo de acordo com determinado ângulo. Em OpenGL, basta você utilizar o comando Rotate. Abaixo segue a sintaxe para o mesmo: >> Rotate {f,d} (Angulo, x, y, z ), onde: Angulo -> é o angulo de rotação glRotatef(45.0f,0.0f,0.0f,1.0f);//
roda 45 graus no eixo z
|
||||
Desenho Inicial |
d |
Desenho Após Rotação |
||
|
Para rodar em X , basta passar como parâmetro o ângulo e em seguida (1.0,0.0,0.0). No caso do Y, passa-se o parâmetro o ângulo e em seguida (0.0,1.0,0.0). No caso de um eixo qualquer é necessário passar um parâmetro que será o ângulo e em seguidas os valores (x,y,z) desse eixo. ESCALA 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:
>> Scale {f,d} ( Sx, Sy,Sz ), onde: Sx -> é o fator de escala em
relação a X. glScalef(1.0f,1.3f,1.0f);//
aumenta a o tamanho do objeto numa escala
|
||||
Desenho Inicial |
f |
Desenho Após Escala |
||
|
[anterior] |
[próxima] |