A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Transformações Geométricas

Apresentações semelhantes


Apresentação em tema: "Transformações Geométricas"— Transcrição da apresentação:

1 Transformações Geométricas
Monge Geometrie Descriptive Em Computação Gráfica exprimimos estas transforma-ções através da Geometria Afim: as coordenadas de um ponto P’(x’, y’, z’), resultante de uma transformação afim aplicada ao ponto P(x,y,z), são obtidas através de uma função linear do tipo: P’ = M . P + B A Geometria Afim transforma: retas paralelas em retas paralelas pontos finitos em pontos finitos Transformações afins: translação, rotação, escalamen-to, espelhamento e cizalhamento

2 Transformações Geométricas
P’ = M . P + B x’ a a a x b1 y’ = a a a y b2 z’ a a a z b3 No caso das transformações 2D, a matriz M reduz-se a uma matriz 2 X 2. A cada tipo de transformação, corresponde uma matriz M diferente.

3 Translação Um objeto é transladado, transladando-se todos os seus pontos. Um segmento de reta é transladado, transladando-se os seus pontos extremos, e traçando-se uma nova linha entre eles. P = (x,y) x’= x + dx y’= y + dy P’ = P + T dx T = dy y P’ y’ dy P y x x’ x dx

4 Transformações afins y y > 0 x x
Rotação - Movimenta um ponto através de uma ro-tação efetuada em torno da origem das coordena-das. Escalamento - transforma um objeto em um outro menor e mais próximo da origem y y > 0 P x P’ x

5 Transformações afins y y x x
Espelhamento - é a rotação em torno de um eixo, de tal forma que é gerada a imagem especular do objeto. Pode-se também fazer o espelhamento em torno de um segmento genérico qualquer. Cizalhamento - provoca a deformação do objeto, man-tendo, entretanto, uma direção paralela. y y Cizalhamento na direção x Espelhamento em torno de um segmento genérico x x

6 Coordenadas Homogêneas
As matrizes apresentadas não permitem que se combi-nem transformações facilmente, isto é, pela multiplica-ção das matrizes de transformações geométricas cor-respondentes a cada transformação. As coordenadas homogêneas permitem que este efeito possa ser obtido. mapea- mento de N em N+1 espaço N espaço N+1 [ a b]T [ aw bw w]T

7 Coordenadas Homogêneas
Quando se exprimem pontos em coordenadas homogêneas, as transformações geométricas podem ser tratadas todas de uma mesma forma, como multiplicações: P’ = M . P M é chamada Matriz de Transformação. P é da forma [ x y 1]T e w foi tomado com o valor arbitrário 1. proje- ção de N+1 em N espaço N espaço N+1 [ a/w b/w]T [ a b w]T

8 Translação x’ 1 0 dx x y’ = 0 1 dy y 1 0 0 1 1 T(dx, dy)
T(dx, dy) Como se processa um conjunto de translações? A matriz M, que leva de P a P’’, é dada pelo produto T1 . T2, ou seja, T(dx1+dx2, dy1+dy2) . T é dita Matriz Composição de T1 e T2 Translações sucessivas são aditivas. dx1 dy1 dx2 dy2 P P’ P’’

9 Escalamento x’ Sx 0 0 x y’ = 0 Sy 0 y 1 0 0 1 1 S(Sx, Sy)
S(Sx, Sy) Como se processa um conjunto de escalamentos? A matriz M, que leva de P a P’’, é dada pelo produto S1 . S2, ou seja, S (Sx1.Sx2, Sy1.Sy2). M é dita Matriz Composição de S1 e S2 Escalamentos sucessivos são multiplicativos. Sx1 Sy1 Sx2 Sy2 P P’ P’’

10 Rotação x’ cos sin  0 x y’ = sin  cos  0 y 1 0 0 1 1 R ()
R () Como se processa um conjunto de rotações? A matriz M, que leva de P a P’’, é dada pelo produto R1 . R2, ou seja, R (1 + 2). Rotações sucessivas são aditivas. 1 2 P P’ P’’

11 Composição de transformações
Exemplo: Rodar um objeto em torno de um ponto P1. Neste caso, M será dada pelas seguintes transforma-ções: Transladar P1 para a origem Rodar o objeto do ângulo estipulado Transladar da origem para P1 M = T(x1, y1) . R ( ) . T (-x1, -y1) Os produtos não são comutativos T (-x1, -y1) R ( ) T(x1, y1) P1 P1 P1

12 Considerações sobre eficiência
A Matriz Composição de translações, rotações e escalamentos tem a forma geral: Multiplicar M por P para calcular P’ exige 9 multipli-cações (ponto flutuante) mais 6 adições. É mais efi-ciente fazer: x’ = r11 . x + r12 . y + tx y’ = r21 . x + r22 . y + ty Usando-se estas fórmulas serão feitas 4 multiplicações mais 4 adições r r tx r r ty composição de R e S

13 Mudança de sistema de coordenadas
Sistema de coordenadas locais - o de um objeto; por exemplo, o de uma peça de mobiliário (cadeira, mesa) Sistema de coordenadas universais - o da cena; por exemplo, da sala que está sendo mobiliada. Uma mudança de coordenadas é feita de um sistema “J” para um sistema “I”, transformando-se os eixos de “I” nos eixos do sistema “J”. A Matriz Composição que permite estas transformações deve ser aplicada a todos os objetos do sistema “J”. P 8 Para transformar do sistema 2 para o sis- tema 1, transladam- se os eixos de 1 até coincidirem com os de 2 -> T(4,2) 4 P1 = (10,8) P2 = (6,6) P4 = (4,2) 2 5 4 2 2 1 4 10

14 Mudança de sistema de coordenadas
Para transformar de “J” em “I”, tem-se: Pi = M i j . Pj Para transformar de “I” em “J”, tem-se: -1 Pj = M i j . Pi Sempre existem as matrizes inversas das matrizes de transformação Para transformar do sistema 4 para o sistema 1, é necessário aplicar-se rotação e escalamento, porque as divisões de escala neste sistema são a metade de cada divisão do 1. Ver detalhes no livro do Foley. Estas matrizes são utilizadas nos problemas de composição de objetos.

15 Transformações 3D > 0
É uma generalização do problema 2D. As matrizes de translação e escalamento recebem uma componente correspondente à coordenada z, e as matrizes se tornam 4 X 4. A rotação no espaço é decomposta em três compo-nentes: uma relativa a cada eixo. y Regra da mão direita > 0 x z

16 Transformações 3D cos() -sin() 0 0 Rz() = sin() cos() 0 0 0 0 1 0
Rx() = cos() -sin() sin() cos() 0 cos() sin() 0 Ry() = - sin() cos() 0

17 Matrizes inversas A matriz T(dx, dy,dz) tem como matriz inversa:
A matriz S(Sx, Sy, Sz) tem como matriz inversa: S( , , ) A matriz R() tem como inversa a matriz: R (- ) = RT ()

18 Rotação em torno de uma linha no OpenGl
Exemplo: Rodar um objeto de 45o em torno de uma linha que liga a origem ao ponto (1,2,3), mantendo fixo o ponto (4,5,6). glMatrixMode(GL_MODELVIEW) glLoadIdentity ( ) C = I glTranslatef(4.0,5.0,6.0) C = C * T(P) glRotetef(45,1.0,2.0,3.0) C = C * R (45) glTranslatef(-4.0,-5.0,-6.0) C = C * T(-P) primitivas Model-view Projection Pipeline OpenGl Matriz Model-view

19 Matriz de transformações genéricas
A Matriz Composição de translações, rotações e escalamentos tem a forma geral: Problema: Transformar o sistema 1 no sistema 2 r r r13 tx r r r23 ty r r r33 tz composição de R e S y P3 y P3 2 1 P2 P1 x P1 x P2 z z

20 Complementação As transformações de translação e rotação são chamadas transformações rígidas porque não deformam o objeto. Já a transformação de esca-la e o cizalhamento deformam o objeto, alteran-do o tamanho ou os ângulos. a SHx = Obs: A transformação de x é proporcional a y SHy = b

21 Referências Bibliográficas
Foley et al. Cap. 5 Correia, A. M. de A. Perspectivas de superfí-cies poliédricas auxiliadas por computador. Escola Politécnica da Universidade de São Paulo, São Paulo, SP. Dissertação de Mestra-do, (Departamento de Eng. de Constru-ção Civil)


Carregar ppt "Transformações Geométricas"

Apresentações semelhantes


Anúncios Google