Top Banner
Introdução à Computação Gráfica DEINF-UFMA Prof. Anselmo Paiva Transformações Geométricas UFMA
23

Transformações Geométricas

Jun 29, 2015

Download

Technology

elliando dias
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Transformações Geométricas

Introdução à Computação GráficaDEINF-UFMA

Prof. Anselmo Paiva

Transformações Geométricas

UFMA

Page 2: Transformações Geométricas

Anselmo Cardoso de Paiva - DEINF - UFMA 2

Transformações Geométricas 2D

• Para gerar imagens bidimensionais precisamos das primitivas básicas(linhas, círculos, caracteres, etc.),

• Uma vez que temos um objeto definido em termos dessas primitivas,as transformações permitem mudar a orientação, tamanho ou formados objetos

• Os objetos são representados pelos pontos que o descrevem ( p = (x,y))

• Se descrevermos as transformações de pontos, então descrevemos atransformação de objetos

• Transformações 2-D :

– Translação.

– Escala (relativa a um ponto).

– Rotação (em torno de um ponto).

Page 3: Transformações Geométricas

Transformações Lineares(espelhamento)

x

y

P

P =

y´ P´ =

x´ = -1.xy´ = y

x

y

x

y

-1

0

01

y´ =

Exercício: Deduzir as expressõespara espelhamento em torno doeixo X.

Page 4: Transformações Geométricas

Anselmo Cardoso de Paiva - DEINF - UFMA 4

Translação

• Descrevemos a translação de um ponto (x, y) por:

• Ou através de soma de vetores:

• Onde os vetores são definidos por :

+=

+=

tyyy

txxx

'

'

TPP +='

=

=

=

ty

txT

y

xP

y

xP ,

'

'',

Page 5: Transformações Geométricas

Anselmo Cardoso de Paiva - DEINF - UFMA 5

Translação

• Transladando cada ponto do objeto com a mesma equação,transladamos o objeto inteiro

• Os pontos se movem ao longo de linhas paralelas.

Page 6: Transformações Geométricas

Anselmo Cardoso de Paiva - DEINF - UFMA 6

Translação

x

y

P

x

yP’ =

P’

tx

tyt =

tx

ty+=

x’

y’

P’ = =x’

y’

x

y

1

0

0

1

txty

[T]

Matriz de Translação

Page 7: Transformações Geométricas

Anselmo Cardoso de Paiva - DEINF - UFMA 7

Escala

• Podemos escalar as coordenadas x e y de um pontode maneira independente:

• Isso também pode ser escrito sob a forma matricial

• ou onde S é a matriz de escala.• Se sx=sy então todos os• pontos se movem• diretamente a partir da origem

ysyxsx yx ×=×= ;

=

y

x

s

s

y

x

y

x

0

0

'

'

PSP ×='

Page 8: Transformações Geométricas

Rotação

x

y

cos θ x´

y´ =

x

y

P =

y´ P´ =

x

sen θ cos θ -sen θ

Um ponto pode ser rotacionado emtorno da origem de ângulo θ usandoas equações

x´ = x.cos θ - y.sen θy´ = x.sen θ + y.cos θ

E na forma matricial:

Ou P'= RDP onde R é a matriz derotação

• Todos os pontos se movem ao longo de círculos concêntricos, com centro naorigem• Uma figura que não esteja na origem sofre uma translação além da rotação

Page 9: Transformações Geométricas

Anselmo Cardoso de Paiva - DEINF - UFMA 9

Coordenadas Homogêneas

• Escala e rotação podem ser representadas por umamultiplicação de matriz, mas translação não pode.

• Se todas as transformações pudessem serrepresentadas por matriz, multiplicando matrizescolocariamos várias delas juntas.

• Isso é possíve se representarmos pontos 2D não porum par de números (x; y) (representado como umvetor unidimensional), mas se representarmos porpor três números (X;Y;W) denominado coordenadashomogêneas

• Dois conjuntos de coordenadas homogêneasrepresentam o mesmo ponto 2D sss são múltiplosuns dos outros: (3,2,1), (6,4,2) ou (12,8,4)

Page 10: Transformações Geométricas

Coordenadas homogêneas (CH)

x

y

P

x

y

1

x

yP

wx

wy

w

xh

yh

w

= =

x = xh /w

y = yh /ww>0

=∆∆ =∆∆

yh

xh

w

w=1

x

y

Ex.: 3

2

1

3

2

6

4

2

9

6

3

==∆∆ =∆∆

• Cada ponto 2-D possui muitas representações em CH,que se forem interpretadas como pontos 3D, formam umareta no espaço 3D passando pela origem, e pelo ponto2D no plano z=1.• Para obter uma única representação tratamos sempreos pontos (X;Y;W) dividino por W para obter na forma (x;y; 1).

Page 11: Transformações Geométricas

Translação em coordenadas homogêneas

yh

xh

w

w=1

x

y

x

y

P

x

yP’ =

P’

tx

tyt =

tx

ty+

t

=x’

y’

P’ = =x’

y’

x’

y’

1

x

y

1

=

1

0

0

0

1

0

tx

ty

1

[T]

Matriz de Translação

Page 12: Transformações Geométricas

Anselmo Cardoso de Paiva - DEINF - UFMA 12

Escala e Rotação em coordenadas homogêneas

• Escala

• Rotação

=

1100

00

00

1

'

'

y

x

s

s

y

x

y

x

=

1100

0cossin

0sincos

1

'

'

y

x

y

x

θθ

θθ

Page 13: Transformações Geométricas

Anselmo Cardoso de Paiva - DEINF - UFMA 13

Propriedades das Transformações

• Considere as linhas da matriz de rotação 2 x 2• Cada linha é um vetor unitário• O produto escalar entre os dois vetores é zero - as

linhas são ortogonais• A mesma propriedade vale para as colunas• Em razão dessas propriedades a matriz e

denominada ortogonal.• Consequência:

– a inversa é igual a transposta

Page 14: Transformações Geométricas

Anselmo Cardoso de Paiva - DEINF - UFMA 14

Propriedades das Transformações

• Uma matriz da forma

• onde a submatriz da parte superior esquerda éortogonal é denominada de transformação de corporígido:– Preserva ângulos.

– Preserva comprimentos.– Pode realizar uma translação/rotação arbitrária.

1002121

1211

y

x

trr

trr

Page 15: Transformações Geométricas

Anselmo Cardoso de Paiva - DEINF - UFMA 15

Propriedades das Transformações

• O produto de uma sequência arbitrária de matrizes detranslações, escalas e rotações, é denominado umatransformação afim. Representada por:

onde a submatriz 2x2 superior esquerda nãonecessariamente é ortogonal

• Consequência:– Preserva paralelismo de retas.– Não necessariamente preserva ângulos ou comprimentos.– Pode realizar transformações de translação, escala,

rotação, espelhamento e cisalhamento

1002121

1211

y

x

trr

trr

Page 16: Transformações Geométricas

Anselmo Cardoso de Paiva - DEINF - UFMA 16

Transformação de Cisalhamento

• Possuem uma interpretação geométrica simples:

• São produzidas por uma matriz da seguinte forma:

• Podem ser produzidas por uma combinação derotações e escalas não uniformes

=

100

010

01 a

SH x

=

100

01

001

bSH y

Page 17: Transformações Geométricas

Anselmo Cardoso de Paiva - DEINF - UFMA 17

Concatenação de Transformações

• Suponha que seja necessário rotacionar um objetoem torno de um ponto P1 = (x1; y1), diferente daorigem

• Não temos uma transformação que faça issodiretamente.

• Essa operação pode ser realizada com umasequência de transformações fundamentais.

Page 18: Transformações Geométricas

Anselmo Cardoso de Paiva - DEINF - UFMA 18

Concatenação de Transformações

• Translade o objeto de modo queP1 conincida com a origem.

• Rotacione em torno da origem.

• Translade de volta de modo queo ponto sobre a origem va parana posição originária de P1.

Page 19: Transformações Geométricas

Anselmo Cardoso de Paiva - DEINF - UFMA 19

Concatenação

• Um única matriz realizando esses três passos podeser obtida através da multiplicação das matrizes dastr6es transformações na ordem inversa em que astransformações foram aplicadas.

−−

+−−

=

=

=

= >−>−

100

sin)cos1(cos

sin)cos1(cos

100

10

01

100

0cos

0cos

100

10

01

11

11

1

1

1

1

1_

1_11_

θθθθ

θθθθ

θθ

θθ

θ

xysen

yxsen

y

x

sen

sen

y

x

T

TRTT

Prot

origemporigemporigemProt

Page 20: Transformações Geométricas

Concatenação - Rotação em Torno do centro do Objeto

x

y

x0

y0

α

x

y

x

y

α

x

y

x0

y0

1 0

0 1

0 0 1

0

0

x

y 1 0

0 1

0 0 1

0

0

x

y

cos sin

sin cos

α α

α α

0

0

0 0 1

x

y

x

y

x

y

x

y

'

'

c o s s in

s in c o s

1

1 0

0 1

0 0 1

0

0

0 0 1

1 0

0 1

0 0 1 1

0

0

0

0

=

α α

α α

Page 21: Transformações Geométricas

Anselmo Cardoso de Paiva - DEINF - UFMA 21

Concatenação de Transformações

x

y

x

y

x

y

x

y

x

y

x

yT1

R1

E

R2

T2

P’= T2 R2 E R1 T1 PP’= T2 R2 E R1 T1 P

Page 22: Transformações Geométricas

Transformações em 3D(translações e escalas)

x’

y’

z’

1

0

1

0

0

0

0

1

0

tx

ty

tz1

y

z

1

x

=

1

0

0

0

x

y

z

x’

y’

z’

1

0

sy

0

0

0

0

sz

0

0

0

0

1

y

z

1

x

=

sx

0

0

0

Page 23: Transformações Geométricas

Transformações em 3D(Rotações)

x

y

z

x’

y’

z’

1

0

cos θ x

sen θ x

0

0

cos θ x

0

0

0

0

1

y

z

1

x

=

1

0

0

0

-sen θ x

θ x x’

y’

z’

1

0cos θ y sen θ y

0

0 cos θ y

0

0

0

0

1

y

z

1

x

=10 0

0

-sen θ y

θ y

x’

y’

z’

1

0

cos θ z

sen θ x

0

0

cos θ x

0

0

0

0

1

y

z

1

x

=100

0

-sen θ x

θ z