Você está na página 1de 6

12/09/2011

Transformaes em Pontos e Objetos

Transformaes Geomtricas
Prof. Igor F. S. Revoredo

A habilidade de representar um objeto em vrias posies no espao fundamental para a compreenso da sua forma. A possibilidade de submeter o objeto a diversas transformaes importante em diversas aplicaes de CG.
2 Transformaes Geomtricas

Transformaes em Pontos e Objetos

Princpios das transformaes 2D


Dois aspectos importantes: Uma transformao uma Entidade Matemtica nica e portanto pode ser Denotada, ou identificada, por um nome, ou smbolo, tambm nico. 2. Duas transformaes podem ser Combinadas, ou Concatenadas, produzindo uma nica transformao que tem o mesmo efeito que a aplicao seqencial das duas transformaes originais.
1.

Transformaes ou operaes de corpos fsicos a serem estudadas:


Translao Rotao Escala

so o corao de muitas Aplicaes em Computao Grfica.


3 Transformaes Geomtricas 4

Transformaes Geomtricas

Conceitos Bsicos de Matrizes

Conceitos Bsicos de Matrizes

As imagens na Computao Grfica so geradas a partir de uma srie de Segmentos de Linha que, por sua vez, so representados pelas Coordenadas de seus Pontos extremos. Multiplicao Matricial (o que nos interessa).

Envolve produtos simples e a soma de elementos das matrizes. A


(1,3)

.B

(3,2)

= C

(1,2)

1 7 (2 3 5) 4 5 = (5 29) 3 6

Transformaes Geomtricas

Transformaes Geomtricas

12/09/2011

Conceitos Bsicos de Matrizes

Conceitos Bsicos de Matrizes

Diferentemente da Multiplicao de Nmeros a Multiplicao de Matrizes no Comutativa


A (1,3) . B (3,2) B (3,2) . A (1,3)

Existe um grupo de Matrizes que quando Multiplicada por outra Matriz tem a Propriedade de Reproduzir essa mesma Matriz. Este tipo de Matriz recebe o nome de Identidade. I.A=A

A Multiplicao de Matrizes Associativa.


A. (B.C) = (A.B). C

Transformaes Geomtricas

Transformaes Geomtricas

Transformao de Translao

Transformao de Translao

Significa movimentar o objeto de lugar Aplicada sobre cada vrtice Altera o objeto como um todo A topologia no modificada Translao desloca cada ponto para a nova posio usando a Adio de Valores.

Ou seja: Dx unidades, deslocadas paralelamente ao Eixo X Dy unidades, deslocadas paralelamente ao Eixo Y Podendo ser descrito como (2D): xp= xp + dx yp= yp + dy

Transformaes Geomtricas

10

Transformaes Geomtricas

Transformao de Translao

Transformao de Translao
Exemplo (2D):

Ou ainda na forma matricial (2D):

11

Transformaes Geomtricas

12

Transformaes Geomtricas

12/09/2011

Transformao de Escala

Transformao de Escala

Significa mudar as dimenses de escala Aplicada sobre cada vrtice Altera o objeto como um todo A topologia no modificada Para fazer com que uma imagem mude de tamanho teremos que multiplicar os valores de suas coordenadas por um fator de escala

Ou seja: Sx representa o fator de escala no eixo X Sy representa o fator de escala no eixo Y Podendo ser descrito como: xp= xp * sx yp= yp * sy

13

Transformaes Geomtricas

14

Transformaes Geomtricas

Transformao de Escala
Na forma matricial:

Transformao de Escala
Exemplo:

15

Transformaes Geomtricas

16

Transformaes Geomtricas

Transformao de Rotao
Significa girar o objeto Aplicada sobre cada vrtice Altera o objeto como um todo A topologia no modificada Como obter as coordenadas (xp, yp) em funo das coordenadas (xp, yp) e do ngulo yp zp
17 Transformaes Geomtricas

Transformao de Rotao

A Matriz de Transformao para uma Rotao AntiHorria de graus em torno da origem

18

Transformaes Geomtricas

12/09/2011

Coordenadas Homogneas e a Representao Matricial


A representao Matricial para Translao, Escala e Rotao , respectivamente, P = P + T P = P . S P = P . R

Coordenadas Homogneas e a Representao Matricial


No Espao 2D e 3D, (w) ser adotado como igual a 1 e portanto no executaremos as divises. Assim para um dado ponto:

Infelizmente, segundo essas equaes, a Translao tratada diferentemente (como uma Adio) em comparao com a Escala e a Rotao (Multiplicaes). Seria importante podermos tratar todas as trs Transformaes de forma Uniforme ou Homognea e assim poder facilmente Combin-las. Veremos agora como fazer isso.
19 Transformaes Geomtricas 20 Transformaes Geomtricas

Coordenadas Homogneas e a Representao Matricial


Resumo (2D e 3D)

Coordenadas Homogneas e a Representao Matricial


Resumo (2D e 3D)

21

Transformaes Geomtricas

22

Transformaes Geomtricas

Transformaes 2D
Passos Bsicos: Transladar P1 at a Origem; Rotar/Escalar e Transladar da Origem at P1 .

Transformao de Reflexo
A transformao de reflexo em torno de um eixo, ou espelhamento (ou flip), aplicada a um objeto, produz um novo objeto. Este (objeto) visto como se reproduzido por um espelho, posicionado no eixo em torno do qual se faz o espelhamento.

23

Transformaes Geomtricas

24/20

Transformaes Geomtricas

12/09/2011

Transformao de Reflexo
Reflexo em torno do plano xz, invertendo as coordenados y, ou usando a seguinte matriz de transformao:

Transformao de Reflexo
Reflexo em torno dos planos

25/20

Transformaes Geomtricas

26/20

Transformaes Geomtricas

Transformao de Reflexo
Reflexo em torno de dois eixos

Transformao de Cisalhamento
Cisalhamento (Shearing ou Skew) uma transformao que distorce o formato de um objeto. Nela aplica-se um deslocamento aos valores das coordenadas x, y ou z do objeto proporcional ao valor das outras coordenadas de cada ponto transformado. Uma distoro na direo x, proporcional a coordenada y, pode ser produzida com a seguinte matriz de transformao:

Resultado de uma reflexo em torno dos eixos x e y para uma figura no espao bidimensional.

27/20

Transformaes Geomtricas

28/20

Transformaes Geomtricas

Transformao de Cisalhamento
No espao bidimensional, a matriz de cisalhamento, com S=1, passar a ter a forma.
|1 0| |S 1|

Transformao de Cisalhamento
Se um cubo unitrio for transformado por essa operao, com S=1, passar a ter a forma.

29/31

Transformaes Geomtricas

30/20

Transformaes Geomtricas

12/09/2011

Transformao de Cisalhamento

Implementao
Elaborar um programa com que realize as 3 transformaes:
Translao Escala Rotao Reflexo Cisalhamento

Se nessa matriz a=b=1, o efeito produzido no cubo unitrio, por essa transformao, apresentado na Figura 2.14.

Sugesto para as funes: funcao (objeto, n de ponto, x, y, z) adequando a cada transformao.

31/20

Transformaes Geomtricas

32/31

Transformaes Geomtricas

Diretivas OpenGL
Primitivas:
glTranslatef ( tx, ty, tz ) glRotatef ( ngulo, vx, vy, vz )
(vx, vy, vz) = vetor que define eixo de rotao

glScalef ( sx, sy, sz )

Alteram a matriz de transformao corrente denominada de matriz MODELVIEW.

33

Transformaes Geomtricas

Você também pode gostar