Escolar Documentos
Profissional Documentos
Cultura Documentos
Transformaes Geomtricas
2D e 3D
1. Introduo...............................................................................................................3
2. Transformaes Bsicas em 2D.............................................................................3
2.1 Translao....................................................................................................3
2.2 Escala...........................................................................................................4
2.3 Rotao........................................................................................................5
3. Coordenadas Homogneas e Matrizes de Transformao..................................6
4. Transformaes 2D adicionais...............................................................................8
4.1 Espelhamento (Mirror).................................................................................8
4.2 Cisalhamento (Shearing).............................................................................10
5. Composio de Transformaes 2D.....................................................................10
6. Transformaes Bsicas em 3D............................................................................14
6.1 Translao...................................................................................................15
6.2 Escala..........................................................................................................16
6.3 Rotao........................................................................................................16
7. Composio de Transformaes 2D......................................................................19
8. Exerccio..................................................................................................................24
Referncias....................................................................................................................25
2
1. Introduo
2. Transfomaes Bsicas em 2D
2.1 Translao
3
suas coordenadas. Chamaremos estas quantidades inteiras de dx e dy . Assim, seja um
ponto P(x, y) sobre o qual ser efetuada uma operao de translao e seja P as
coordenadas do ponto aps a translao. Podemos definir a funo T como sendo T(P) =
T(xp, yp) = (xp + dx , yp + dy). Em forma matricial, temos que:
dx
P = P + T, onde T =
dy
No difcil observar que, para transladar uma linha, basta transladar seus pontos
limites.
2.2 Escala
sx 0
P = S P, onde S =
0 sy
Exemplo:
4
Mudana de escala de uma casa. Como a escala no uniforme, sua proporo alterada. Fonte: [1]
importante notar que para garantir que um objeto esteja na mesma posio aps a
escala, deve-se fazer uma translao do seu centro at a origem, aplicar a escala e depois
aplicar a tranlao inversa primeira.
2.3 Rotao
Por fim queremos rotacionar um objeto de um certo ngulo com relao origem.
Assim, o ponto T(xp, yp) tal que:
xp = r cos ;
yp = r sin ;
5
determinando a equao de rotao. Fonte: [1]
cos sin
P = R P, onde R =
sin cos
Exemplo:
Vimos que, enquanto a translao tratada como uma soma de vetores, a escala e a
rotao tratada como uma multiplicao de um vetor por uma matriz. Para que se possa
combinar facilmente essas transformaes, devemos poder tratar do mesmo modo todas as
3 transformaes de uma forma consistente. A soluo representar os pontos P do espao
6
atravs de trs coordenadas (coordenadas homogneas). Dizemos que 2 pontos em
coordenadas homogneas (x, y,W) e (x0, y0,W0) representam o mesmo ponto
se e somente um mltiplo do outro . Assim, (2, 3, 6) e (4, 6, 12) representam o mesmo
ponto no R2. Tambm, pelo menos uma das coordenadas homogneas precisa ser diferente
de zero, assim (0, 0, 0) no permitido.
Se a coordenada W diferente de zero, podemos dividir (x, y, W) por ela, obtendo o
mesmo ponto (x/W, y/W, 1). Os nmeros x/W e y/W so chamados de Coordenadas
Cartesianas do ponto homogneo.
A translao em coordenadas homogneas fica na forma: T(xp, yp, 1) = (xp + dx , yp +
dy, 1). Em forma matricial, temos que:
1 0 dx
P = TP, onde T = 0 1 dy
0 0 1
1 0 dx1 1 0 dx 2
matriz de translao T1 = 0 1 dy1 e depois pela matriz T2 = 0 1 dy 2 , pois
0 0 1 0 0 1
1 0 dx1 + dx 2
T1*T2 = 0 1 dy1 + dy 2
0 0 1
7
sx 0 0
P = SP, onde S = 0 sy 0
0 0 1
Por fim, a operao de rotao em coordenadas homogneas fica na forma: T(xp, yp,
1) = ( x p cos y p sin , x p sin + y p cos , 1). Em forma matricial, temos que:
cos sin 0
P = RP, onde R = sin cos 0
0 0 1
4. Transformadas 2D Adicionais
1 0 0
P = MP, onde M = 0 1 0
0 0 1
Pode-se tambm adotar um eixo arbitrrio A matriz de reflexo pode ser derivada
pela composio de uma sequncia de matrizes de reflexo e de rotao. Por exemplo, se a
reflexo for em torno da linha diagonal definida por y = x, a matriz de reflexo pode ser
derivada da combinao das seguintes transformaes:
9
4.2 Cisalhamento (Shearing)
1 s hx 0
P = Sh(x_ref)P, onde M = 0 1 0
0 0 1
1 0 0
P = Sh(x_ref)P, onde M = s hy 1 0
0 0 1
5. Composio de Transformaes 2D
10
3) Efetua translao oposta
Esta seqncia ilustrada acima, onde a casa rotacionada em relao a P1(x1, y1).
A primeira translao por (x1,y1), e a ltima translao (oposta a primeira) por (x1,
y1). A transformao em seqncia :
11
Exemplo 3: Escala e Rotao em relao a P1, posicionamento em P2.
Passos:
1) Transladar P1(x1, y1) para a origem;
2) Efetuar a escala e a rotao desejadas;
3) Efetuar a translao da origem para a nova posio P2(x2, y2), onde a casa deve ser
posicionada.
12
Transformaes Comutativas
M1 M2
Translao Translao
Escala Escala
Rotao Rotao
Escala(s, s) Rotao
Eficincia
13
6. Transformaes Bsicas em 3D
Sistemas de Coordenadas
Representam uma forma de indexar e localizar elementos no espao (que 3D). Os
Eixos com orientao formam o Sistema de Coordenadas Cartesianas. Dado um ponto P,
ele definido por uma tripla de coordenadas (x,y,z) e representado no eixo de
coordenadas como mostra a figura abaixo.
14
O sistema de coordenadas para 3D utilizado ser o da Regra da Mo Direita, com o
eixo Z perpendicular ao papel e saindo em direo ao observador.
O sentido positivo de uma rotao dado quando observando-se sobre um eixo
positivo em direo origem, uma rotao de 90 ir levar um eixo positivo em outro
positivo. Ou conforme a tabela a baixo.
6.1 Translao
6.2 Escala
onde sx, sy e sz representam o vetor de fator de escala. Simplificando para cada eixo fica:
x = x*sx
y = y*sy
z = z*sz
6.3 Rotao
Ou ainda:
17
P = Rz()*P
Ou ainda:
P = Rx()*P
18
Ou ainda:
P = Ry()*P
7. Composio de Transformaes 3D
Transformando P3, P3 e P3 da posio inicial em (a) para a posio final em (b). Fonte: [1]
19
2. Rotacionar o segmento P1P2 em relao ao eixo y, de forma que ele (P1P2) fique no
plano yz.
3. Rotacionar o segmento P1P2 em relao ao eixo x, de forma que ele (P1P2) fique sobre o
eixo z.
4. Rotacionar o segmento P1P3 em relao ao eixo z, de forma que ele (P1P3) fique no
plano yz.
A equao de translao :
O ngulo de rotao .
- Lembretes: cos(-90) = sin(), e cos(-90) = -cos()
20
Ry(-(90-)) = Ry (-90)
21
Terceiro Passo: Rotao de P1P2 em relao ao eixo x, colocando P1P2 sobre
o eixo x.
O ngulo de rotao . E
onde,
22
O resultado da rotao no terceiro passo :
23
Para chegar na posio final, P3 ser ento rotacionado usando a funo:
P3= Rz () *P3
8. Exerccio
Mapa da Mina
Baseando-se nas passos abaixo, encontre a matriz de transformao para achar o tesouro.
Marque o seu ponto inicial com um X na areia. X est na linha do equador
Caminhe no deserto para o nordeste at encontrar um grande cacto.
A partir dele, percorra 30 graus em sentido anti-horrio, considerando X como ponto
central.
Marque um Y na areia neste ponto, e caminhe para o sul a um ponto D, tal que distancia
de D at o eixo equatorial seja igual a distancia de Y at este mesmo eixo
Caminhe 10 metros para o oeste.
percorra 60 graus no sentido horrio considerando Y como ponto central
Caminhe 20 metros para o leste.
Cave at encontrar o tesouro!!!
24
Referncias
[1] Traina, A.; Oliveira, M. C. Apostila de Computao Grfica. ICMC-USP 2006, pag 50-
68.
[3] Slides de Aula. In Rosane: SCE 201 SCE 5799 Computo Grfica
http://www.lcad.icmc.usp.br/~rosane/CG/aulas.html, Transformaes 2D e
Transformaes 3D, acessado em 20/03/2007.
25