59
Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa Introdução ao Processamento e Síntese de imagens Transformações de Visualização: Matrizes Homogêneas Fontes: Esperança e Cavalcanti (2002) (UFRJ); Traina e Oliveira (2004) (USP); e Antonio Maria Garcia Tommaselli - notas de Aula de CG (2009) Júlio Kiyoshi Hasegawa

Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Embed Size (px)

Citation preview

Page 1: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Introdução ao Processamento eSíntese de imagens – Transformações deVisualização: Matrizes Homogêneas

Fontes:

•Esperança e Cavalcanti (2002) (UFRJ);

•Traina e Oliveira (2004) (USP); e

•Antonio Maria Garcia Tommaselli - notas de Aula de CG (2009)

Júlio Kiyoshi Hasegawa

Page 2: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Transformações

� Um sistema gráfico que permita ao utilizador definir objetos deve incluir a capacidade de simular o movimento e a manipulação de objetos segundo determinadas regras – operações definidas como “Transformações de visualização”

� Transformações de visualização envolvem operações com vetores e matrizes, do tipo soma e multiplicação, além de conhecimentos básicos de álgebra e geometria.

Page 3: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Pontos e Vetores (2D)

� Ponto: Denota posição no plano

� Vetor: Denota deslocamento, isto é, inclui a noção de direção e magnitude (vetor -intensidade, direção e magnitude)

� Ambos são normalmente expressos por pares de coordenadas (em 2D) x

yP

v

),(

),(

vv

PP

yxv

yxP

=

=r

Page 4: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Pontos e Vetores (2D)

� Ponto: Denota posição no plano

� Vetor: Denota deslocamento, isto é, inclui a noção de direção e magnitude (vetor -intensidade, direção e magnitude)

� Ambos são normalmente expressos por pares de coordenadas (em 2D) x

yP

v

),(

),(

vv

PP

yxv

yxP

=

=r

Page 5: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Operações com Pontos e Vetores (2D)

� Soma de vetorest = v + u

� Multiplicação de vetor por escalaru = 2 v

� Subtração de pontosv = Q – P

� Soma de ponto com vetorQ = P + v

x

y

v

u

x

y

v

x

y P

v

v

Q

Page 6: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Pontos e Vetores (2D)

� Exercício 1:� Calcular a distância

entre os pontos P1P2.

� P1(101, 333)� P2(134, 153)

� Exercício 2:� Determinar o vetor

definido pelos pontos P1P2.(Ex. 1)

� Calcular o vetor unitário.

� Módulo de 1 vetor� |v| = (a2 + b2)1/2

� u = v/|v|

Page 7: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Transformações Lineares em 2D

� Uma transformação linear Isogonal

++−=

++=

faybxy

ebyaxx

'

'

Page 8: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Transformações Lineares em 2D

� Uma transformação linear afim

++=

++=

fdycxy

ebyaxx

'

'

Page 9: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Forma Matricial - 2D

� Mais conveniente para uso em um computador:

� Então uma transformação linear afim pode ser escrita T (P ) = P’ onde

=

=

=

=

f

eD

y

xP

dc

baA

y

xP

'

''

DPAP +×='

+

=

f

e

y

x

dc

ba

y

x

'

'

Page 10: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Transformação de pontos - 2D

[ ][ ] [ ]

[ ] * *( ) ( )

a bX T x y

c d

ax cy bx dy x y

= =

+ + =

[ ][ ]

[ ] [ ]( ) ( ) ' '

T a b xT X

c d y

ax by cx dy x y

= =

+ + =

Pós-multiplicação pela matriz de transformação:

Leva a um resultado diferente da Pré-multiplicação:

Não é comutativa

Page 11: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Transformação de pontos - 2D

� Exercício 1: � Calcule: [P][A]

� Exercício 2: � Calcule:[A] [P]T

Considere: [P] = [10 20] e [A] = | 0.4 0.6|| 0.3 0.5|

Transformações em coordenadas cartesianas

P´ = T + P ⇒ TranslaçãoP´ = S · P ⇒ EscalaP´ = R · P ⇒ Rotação

Exercício 3: Considere -> [D] = [3 -2]Calcule: P´=A.PT + DT

Page 12: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Coordenadas Homogêneas e Matrizes de Transformação

� Problemas computacionais:� Rotação e Escala - são tratadas através de multiplicações.� Translações – são tratadas como adições/subtrações.

� Para tratar do mesmo modo todas as 3transformações de uma forma consistente.

� Expressar os pontos em CoordenadasHomogêneas� adiciona-se uma terceira coordenada ao ponto;� Assim um ponto P(x, y) é representado por uma tripla

(x,y,W);

Page 13: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Coordenadas Homogêneas e Matrizes de Transformação - 2D

� 2 conjuntos de coordenadas

homogêneas (x,y,W) e (x',y',W')

representam o mesmo ponto se e

somente se um é múltiplo do

outro. Exemplo: (2,3,6) e (4,6,12)

� As coordenadas homogêneas

(6,4,2), (12,8,4), (3,2,1)

representam o ponto cartesiano

(3,2).

Page 14: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Coordenadas Homogêneas e Matrizes de Transformação - 2D

� Se w é diferente de zero, podemos dividir (x,y,w) por ela,

obtendo o mesmo ponto (x/w, y/w, 1). Os números x/w e

y/w são chamados de Coordenadas Cartesianas do ponto

homogêneo.

� (tx, ty, tw) resulta numalinha no espaço – para t ≠0.

� cada ponto tem diferentesrepresentaçõeshomogêneas

� P(0,0,0) não é permitido

Page 15: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Coordenadas Homogêneas e Matrizes de Transformação - 2D

� Translação para coordenadas homogêneas

=

1100

10

01

1

'

'

y

x

d

d

y

x

y

x

� O que acontece se transladarmos um ponto P de (dx1, dy1) para P’ e depois de (dx2, dy2) para P”?

PddTPyx),(' =

Page 16: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Coordenadas Homogêneas e Matrizes de Transformação - 2D

� Composição de transformações

?

100

d10

d01

100

d10

d01

y2

x2

dy1

x1

=

PddTddTP

PddTPePddTP

yxyx

yxyx

⋅⋅=

⋅=⋅=

)],(),([

),(),(

2211

"

'

22

"

11

'

Page 17: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Coordenadas Homogêneas e Matrizes de Transformação - 2D

� Composição de transformações

PddTddTP

PddTPePddTP

yxyx

yxyx

⋅⋅=

⋅=⋅=

)],(),([

),(),(

2211

"

'

22

"

11

'

+

+

=

100

10

01

100

10

01

100

10

01

21

21

2

2

1

1

yy

xx

y

x

y

x

dd

dd

d

d

d

d

Page 18: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Coordenadas Homogêneas e Matrizes de Transformação -2D

� Escala

=

1100

00

00

1

,

,

y

x

S

S

y

x

y

x

� Verificar produtos duplos

Page 19: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Coordenadas Homogêneas e Matrizes de Transformação - 2D

� Composição de transformações

=

100

00

00

100

00

00

100

00

00

21

21

3

2

1

1

yy

xx

y

x

y

x

SS

SS

S

S

S

S

P)]s,s(S)s,s(S[P

P)s,s(SPeP)s,s(SP

2y2x1y1x"

'2y2x

"1y1x

'

⋅⋅=

⋅=⋅=

Page 20: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Coordenadas Homogêneas e Matrizes de Transformação - 2D

� Composição de transformações

=

100

00

00

100

00

00

100

00

00

21

21

3

2

1

1

yy

xx

y

x

y

x

SS

SS

S

S

S

S

PssSssSP

PxsSPePssSP

yxyx

yxyx

⋅⋅=

⋅=⋅=

)],(),([

),(),(

2211

"

'

22

"

11

'

Page 21: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Coordenadas Homogêneas e Matrizes de Transformação -2D

� Rotação

=

1100

0cos

0cos

1

,

,

y

x

sen

sen

y

x

θθθθ

� Qual o resultado após a rotação de um ponto P de θ e depois de - θ?

Page 22: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Transformação Afim 2D – Coord. Homogênea

∆++

∆++

=

11100

ydycx

xbyax

y

x

ydc

xba

Page 23: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Transformações 2D Adicionais: Reflexão

100

010

001

100

010

001

Page 24: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Reflexão em Relação à Reta y = x [2D]

100

001

010

Page 25: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Transformações 2D Adicionais: cisalhamento � Shearing (cisalhamento) em x

100

010

01x

sh

� Shearing (cisalhamento) em y

100

01

001

ysh

Page 26: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Transformações 2D Adicionais: cisalhamento � cisalhamento na direção y e x – distorção na direção x e y -

respectivamente

⋅−

100

010

1refxx

yshsh

⋅−

100

1

001

refyyxshsh

yy

yyshxxrefx

=

−+=,

, )(

)(,

,

refyxxshyy

xx

−+=

=

Page 27: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Composição de Transformações� 1. Efetuar uma translação, levando P1 à origem.

2. Efetuar a Rotação desejada.3. Efetuar uma Translação oposta à realizada em 1., levando P1 a posição anterior.

ΘΘ

Θ−Θ

=−−⋅Θ⋅

100

10

01

100

0cos

0cos

100

10

01

),()(),(

1

1

1

1

1111

y

x

sen

sen

y

x

yxTRyxT

Page 28: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Composição de Transformações� Escala de um objeto em relação a um ponto arbitrário P1.

� Escala e rotação de uma casa em relação ao ponto P1

=−−⋅⋅

100

10

01

100

00

00

100

10

01

),(),(),(

1

1

1

1

1111

y

x

S

S

y

x

yxTssSyxT

y

x

yx

Page 29: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Transformação Window-to-ViewportJanela em Coordenadas do mundo e porta de visualização em coordenadas de

tela

Duas portas de visão associadas a mesma janela

Page 30: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Transformação Window-to-Viewport� Especificar uma região retangular em coordenadas do mundo, chamada

de janela de coordenadas do mundo, e uma região retangular correspondente em coordenadas de tela, chamada de Porta de Visualização (Viewport);

� transformação composta por 3 passos:1. A janela especificada pelo seu canto inferior esquerdo e canto superior

direito, é primeiramente transladada para a origem das coordenadas de mundo;

2. A seguir o tamanho da janela é escalonado para ser igual ao tamanho da porta de visualização;

3. Finalmente, a translação é usada para posicionar a porta de visualização

Page 31: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Transformação Window-to-Viewport

� Multiplicando P=Mjp ⋅[x y 1] , temos:

−−

−−

=

100

10

01

100

00

00

100

10

01

min

min

minmax

minmax

minmax

minmax

min

min

y

x

yy

vv

xx

uu

v

u

Mjp

+

−−

⋅−+−−

⋅−= 1)()(min

minmax

minmax

minmin

minmax

minmax

minv

yy

vvyyu

xx

uuxxP

Page 32: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Transformação Window-to-Viewport com clipping� Primitivas gráficas de saída em coordenadas do mundo são recortadas

pela janela. O seu interior é apresentado na tela (viewport)

Page 33: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Transformações em 3D

X

y

z (fora da página)

Page 34: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Transformação Homogênea

=

w

z

y

x

V

Um ponto V no espaço pode ser representado em coordenadas

homogêneas por,

onde

321v

w

zv

w

yv

w

x=== , ,

e w é o fator de escala real e não nulo.

Page 35: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Transformações em 3D

� Vetores e pontos em 3D

� Transformação linear afim

=

0

z

y

x

V

V

V

Vr

=

1

z

y

x

P

P

P

P

=

1000

lihg

kfed

jcba

T

Page 36: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

TRANSLAÇÃO em 3D

=

11000

100

010

001

1

,

,

,

z

y

x

d

d

d

z

y

x

z

y

x

É Possível transladar um ponto u nas direções X, Y, e Z ou emuma direção arbitrária, a partir da aplicação da relação

Page 37: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Translação

=

=10

1000

100

010

001

3 tI

t

t

t

Tz

y

x

tPtP

tP

tP

P

P

P

t

t

t

PTPzz

yy

xx

z

y

x

z

y

x

+=

+

+

+

=

×

=×=

111000

100

010

001

'

� Observe que translações são comutativas:P + t + v = P + v + t

x

y

z

Page 38: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Considere a transformação homogênea

=

1000

0100

0010

1001

T e o ponto

1

0

0

1

P

=

A transformação homogênea T, transforma

o ponto u em um ponto v,

TRANSLAÇÃO em 3D - Exemplo 1

Page 39: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Considere a transformação homogênea

=

1000

0100

0010

1001

T e o ponto

1

0

0

1

P

=

A transformação homogênea T, transforma

o ponto u em um ponto v,

P’ = T. P =

=

1

0

0

2

1

0

0

1

1000

0100

0010

1001

TRANSLAÇÃO em 3D - Exemplo 1

Page 40: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

�Transladar o ponto v(1,0,0) de 1 unidade na direção X, 2

na direção Y e 3 na direção Z.

TRANSLAÇÃO em 3D - Exemplo 2

Page 41: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

=

==

1

3

2

2

1

0

0

1

1000

3100

2010

1001

T(1,2,3)v

TRANSLAÇÃO em 3D - Exemplo 2�Transladar o ponto v(1,0,0) de 1 unidade na direção X, 2

na direção Y e 3 na direção Z.

Page 42: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

�Reflexão no eixo X

Reflexão nos 3 eixos

=

1000

0100

0010

0001-

T

�Reflexão no eixo Y

�Reflexão no eixo Z

=

100 0

010 0

001-0

000 1

T

=

10 0 0

01-0 0

00 10

00 0 1

T

Page 43: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

ESCALA em 3D � Especificada por três fatores (Sx, Sy , Sz) que multiplicam

os vetores unitários x, y, z� Escala uniforme (Sx = Sy = Sz) entretanto, é uma

operação ortogonal ou homotética, isto é, preserva osângulos

� Para obter reflexão em torno do plano z=0, usar fatoresde escala (1, 1, -1)

=

1000

000

000

000

z

y

x

escalaS

S

S

T

x

y

z

x

y

z

Page 44: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

ESCALA em 3D

=

11000

000

000

000

1

,

,

,

z

y

x

S

S

S

z

y

x

z

y

x

Escala em um ponto

Page 45: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Rotação em torno dos eixos coordenados

� As rotações em torno dos eixos X e Y são

1000

0100

00cossin

00sincos

θθθθ

1000

0cossin0

0sincos0

0001

θθθθ

1000

0cos0sin

0010

0sin0cos

θθ

θθ

� Rotação em torno de Z é dada pela matriz

Page 46: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Deformação - (“shear”) � É uma transformação de deformação onde um eixo é

“entortado” em relação aos demais

� Se o vetor unitário do eixo z é levado em [Shx Shy 1 0]T, então a matriz de transformação é dada por

=

1000

0100

010

001

y

x

inclinação

Sh

Sh

T

x

yz

x

yz

Page 47: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Exemplo

� Um ponto P(3, 7, 2) foi rotacionado por 30

graus (sobre o eixo z), e transladado de 10

unidades no eixo x, 5 unidades no eixo y e 3

unidades no eixo z.

� Qual a nova posição do ponto P ?

Page 48: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

� Dado que:

� Usamos a definição e encontramos:

=

1

2

7

3

P

=

1000

3100

50)30cos()30(sen

100)30(sen)30cos(

T

Exemplo

Page 49: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

� Dado que:

� Usamos a definição e encontramos:

=⋅=

1

5

5.12

9

PTP

=

1

2

7

3

P

=

1000

3100

50)30cos()30(

100)30()30cos(

sen

sen

T

Exemplo

Page 50: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Composição de transformações em 3D

� Em nossa notação, usamos pré-multiplicação:� P’ = T x P

� Para compor 2 transformações temos:� Se P’ = T1 x P e P’’ = T2 x P’ , então, P’’ = T2 x T1 x P

1T 2T

12 TT ×

Page 51: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Composição de transformações em 3D•Transformar P1, P2 e P3 da posição inicial em (a) para a posição final em (b).

Page 52: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Composição de transformações em 3DSolução:

1. Transladar P1 para a origem.2. Rotacionar o segmento P1P2 em relação ao eixo y, de

forma que ele (P1P2) fique no plano yz.3. Rotacionar o segmento P1P2 em relação ao eixo x, de

forma que ele (P1P2) fique sobre o eixo z.4. Rotacionar o segmento P1P3 em relação ao eixo z, de

forma que ele (P1P3) fique no plano yz.

Page 53: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Composição de transformações em 3D

=−−−

1000

100

010

001

),,(1

1

1

111

z

y

x

zyxT

Primeiro Passo:

Transladar P1 para a Origem

Aplicando T a P1, P2 e P3 temos:

=⋅−−−=

1

0

0

0

),,(1111

´

1PzyxTP

=⋅−−−=

1

),,(13

13

13

3111

´

3

zz

yy

xx

PzyxTP

=⋅−−−=

1

),,(12

12

12

2111

´

2

zz

yy

xx

PzyxTP

Page 54: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Composição de transformações em 3DSegundo Passo: Rotacionar em Relação ao eixo Y

ângulo utilizado = −(90o − θ) =θ - 90o

1

12

1

´

20

1

12

1

´

20

)()90cos(

)cos()90(

D

zz

D

zsen

D

xx

D

xsen

−−=−=−=−

−−=−=−=−

θθ

θθ

2

12

2

12

2

21)()()()( xxzzxzD −+−=+=

=⋅−=

1

0

)90(1

12´

2

0"

2

D

yyPRP

Page 55: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Composição de transformações em 3DTerceiro Passo: Rotacionar em Relação ao eixo X

2

"

2

2

"

2 )()cos(D

ysen

D

z== φφ

2

12

2

12

2

1221

"

2

"

12)()()( zzyyxxPPPPD −+−+−===

=⋅⋅−⋅

=⋅−⋅=

1

0

0

)90()(

)90()(

21

2

0

´

2

0´´´

2

PPPTRR

PRRP

yx

yx

θφ

θφ

P1P2 agora está sobre (coincidindo) o eixo z positivo

Page 56: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Composição de transformações em 3DQuarto Passo: Rotacionar em Relação ao eixo Z

3111

0

´´´

3

´´´

3

´´´

3

´´´

3),,()90()(

1

PzyxTRRz

y

x

Pyx

⋅−−−⋅−⋅=

= θφ

P1P2 e P1P3 com P2´´´sobre o eixo z

3

´´´

3

3

´´´

3 )()cos(D

xsen

D

y== αα

2´´´

3

2´´´

33)()( yxD +=

TRzyxTRRRM yxx ⋅=−−−⋅−⋅⋅= ),,()90()()( 111

0θφα

Page 57: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Transformações Rígidas

� Não modificam a forma (dimensões/ângulos) do objeto

� São compostas de uma rotação e uma translação

=

1000

lihg

kfed

jcba

T

Submatriz de

Rotação

Vetor de

Translação

=

1000

lihg

kfed

jcba

T

Page 58: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

Composição de transformações em 3D

� A submatriz 3x3 do canto superior esquerdo R, agrega as transformações de escala e rotação, enquanto a última coluna à direita T agrega as translações

=

1000

333231

232221

131211

z

y

x

trrr

trrr

trrr

M

Page 59: Introdução ao Processamento e Síntese de imagens · P´= T + P ⇒ Translação P´= S · P ⇒ Escala P´= R · P ⇒ Rotação Exercício 3: Considere -> [D] = [3 -2] Calcule:

Introdução ao processamento e síntese de imagens – Júlio Kiyoshi Hasegawa

1000

987

654

321

zrrr

yrrr

xrrr3x3

rotation

matrix

3x1

translation

matrix

perspective global scale

Matriz de Transformação Homogênea 3D