Transformações Geométricas uMonge - 1801 - Geometrie Descriptive uEm Computação Gráfica...

21
Transformações Geométricas Monge - 1801 - 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

Transcript of Transformações Geométricas uMonge - 1801 - Geometrie Descriptive uEm Computação Gráfica...

Page 1: Transformações Geométricas uMonge - 1801 - Geometrie Descriptive uEm Computação Gráfica exprimimos estas transforma- ções através da Geometria Afim: as.

Transformações Geométricas Monge - 1801 - 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

Page 2: Transformações Geométricas uMonge - 1801 - Geometrie Descriptive uEm Computação Gráfica exprimimos estas transforma- ções através da Geometria Afim: as.

Transformações Geométricas

P’ = M . P + B

x’ a11 a12 a13 x b1

y’ = a21 a22 a23 y + b2

z’ a31 a32 a33 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.

Page 3: Transformações Geométricas uMonge - 1801 - Geometrie Descriptive uEm Computação Gráfica exprimimos estas transforma- ções através da Geometria Afim: as.

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.

x

y

dy

dx

P

P’

P = (x,y)

x’= x + dxy’= y + dy

P’ = P + T

dx T = dy

x x’

y

y’

Page 4: Transformações Geométricas uMonge - 1801 - Geometrie Descriptive uEm Computação Gráfica exprimimos estas transforma- ções através da Geometria Afim: as.

Transformações afins

• 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

x

y

> 0

x

y

P’

P

Page 5: Transformações Geométricas uMonge - 1801 - Geometrie Descriptive uEm Computação Gráfica exprimimos estas transforma- ções através da Geometria Afim: as.

Transformações afins 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

Espelhamentoem torno de umsegmento genérico

Cizalhamentona direção x

x x

Page 6: Transformações Geométricas uMonge - 1801 - Geometrie Descriptive uEm Computação Gráfica exprimimos estas transforma- ções através da Geometria Afim: as.

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.

espaço N espaço N+1[ a b]T [ aw bw w]T

mapea-mento deN em N+1

Page 7: Transformações Geométricas uMonge - 1801 - Geometrie Descriptive uEm Computação Gráfica exprimimos estas transforma- ções através da Geometria Afim: as.

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.

espaço N espaço N+1[ a/w b/w]T [ a b w]T

proje-ção deN+1 em N

Page 8: Transformações Geométricas uMonge - 1801 - Geometrie Descriptive uEm Computação Gráfica exprimimos estas transforma- ções através da Geometria Afim: as.

Translação

x’ 1 0 dx x y’ = 0 1 dy y 1 0 0 1 1

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.

P P’ P’’

dx1

dy1

dx2

dy2

Page 9: Transformações Geométricas uMonge - 1801 - Geometrie Descriptive uEm Computação Gráfica exprimimos estas transforma- ções através da Geometria Afim: as.

Escalamento

x’ Sx 0 0 x y’ = 0 Sy 0 y 1 0 0 1 1

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.

P P’ P’’

Sx1

Sy1

Sx2

Sy2

Page 10: Transformações Geométricas uMonge - 1801 - Geometrie Descriptive uEm Computação Gráfica exprimimos estas transforma- ções através da Geometria Afim: as.

Rotação

x’ cos sin 0 x y’ = sin cos 0 y 1 0 0 1 1

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.

P P’ P’’1 2

Page 11: Transformações Geométricas uMonge - 1801 - Geometrie Descriptive uEm Computação Gráfica exprimimos estas transforma- ções através da Geometria Afim: as.

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 comutativosP1 P1 P1

T(x1, y1)T (-x1, -y1) R ( )

Page 12: Transformações Geométricas uMonge - 1801 - Geometrie Descriptive uEm Computação Gráfica exprimimos estas transforma- ções através da Geometria Afim: as.

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

r11 r12 tx r21 r22 ty 0 0 1

composição de R e S

Page 13: Transformações Geométricas uMonge - 1801 - Geometrie Descriptive uEm Computação Gráfica exprimimos estas transforma- ções através da Geometria Afim: as.

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”.

4

2

5

P

10

842

1

24

P1 = (10,8)P2 = (6,6)P4 = (4,2)

Para transformar dosistema 2 para o sis-tema 1, transladam-se os eixos de 1 até coincidirem com os de 2 -> T(4,2)

Page 14: Transformações Geométricas uMonge - 1801 - Geometrie Descriptive uEm Computação Gráfica exprimimos estas transforma- ções através da Geometria Afim: as.

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.

Page 15: Transformações Geométricas uMonge - 1801 - Geometrie Descriptive uEm Computação Gráfica exprimimos estas transforma- ções através da Geometria Afim: as.

Transformações 3D É 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.

x

y

z

> 0

Regra da mãodireita

Page 16: Transformações Geométricas uMonge - 1801 - Geometrie Descriptive uEm Computação Gráfica exprimimos estas transforma- ções através da Geometria Afim: as.

Transformações 3D cos() -sin() 0 0Rz() = sin() cos() 0 0 0 0 1 0 0 0 0 1

1 0 0 0 Rx() = 0 cos() -sin() 0

0 sin() cos() 0

0 0 0 1

cos() 0 sin() 0Ry() = 0 1 0 0 - sin() 0 cos() 0 0 0 0 1

Page 17: Transformações Geométricas uMonge - 1801 - Geometrie Descriptive uEm Computação Gráfica exprimimos estas transforma- ções através da Geometria Afim: as.

Matrizes inversas

A matriz T(dx, dy,dz) tem como matriz inversa: T(-dx, -dy, -dz) A matriz S(Sx, Sy, Sz) tem como matriz inversa:

S( , , ) A matriz R() tem como inversa a matriz:

R (- ) = RT ()

Sx1

Sy1

Sz1

Page 18: Transformações Geométricas uMonge - 1801 - Geometrie Descriptive uEm Computação Gráfica exprimimos estas transforma- ções através da Geometria Afim: as.

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 = IglTranslatef(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)

Model-view Projectionprimitivas

Pipeline OpenGl

Matriz Model-view

Page 19: Transformações Geométricas uMonge - 1801 - Geometrie Descriptive uEm Computação Gráfica exprimimos estas transforma- ções através da Geometria Afim: as.

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

r11 r12 r13 tx r21 r22 r23 ty

r31 r32 r33 tz 0 0 0 1

composição de R e S

y

xz

P1P2

P3 y

xz

P1P2

P31

2

Page 20: Transformações Geométricas uMonge - 1801 - Geometrie Descriptive uEm Computação Gráfica exprimimos estas transforma- ções através da Geometria Afim: as.

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.

1 a 0 SHx = 0 1 0 0 0 1 Obs: A transformação de x é proporcional a y

1 0 0 SHy = b 1 0 0 0 1

Page 21: Transformações Geométricas uMonge - 1801 - Geometrie Descriptive uEm Computação Gráfica exprimimos estas transforma- ções através da Geometria Afim: as.

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, 1991. (Departamento de Eng. de Constru-ção Civil)