CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... ·...

42
C C C C I I - - 3 3 6 6 C C o o m m p p u u t t a a ç ç ã ã o o G G r r á á f f i i c c a a T T r r a a n n s s f f o o r r m m a a ç ç õ õ e e s s 2 2 D D e e m m G G e e o o m m e e t t r r i i a a P P r r o o j j e e t t i i v v a a Instituto Tecnológico de Aeronáutica Prof. Carlos Henrique Q. Forster – Sala 121 IEC

Transcript of CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... ·...

Page 1: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCCCII--3366 –– CCoommppuuttaaççããoo GGrrááffiiccaa

TTrraannssffoorrmmaaççõõeess 22DD eemm GGeeoommeettrriiaa PPrroojjeettiivvaa

Instituto Tecnológico de Aeronáutica

Prof. Carlos Henrique Q. Forster – Sala 121 IEC

Page 2: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 2/42

Tópicos da aula

• Rotação em 2D, Escala e Reflexo

• Deformação do quadrado unitário

• Corpo rígido em 2D

• Geometria Projetiva e Coordenadas homogêneas

• Dualidade

• Combinação de Transformações

• Classes de Transformações

Page 3: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 3/42

Livros para acompanhar essa aula

Mathematical Elements for Computer Graphics (2nd edition)

D. F. Rogers, J. A. Adams

McGraw-Hill

Capítulos 2 e 3 pp 61-206

Fundamentos de Geometria Computacional

Resende, R. J., Stolfi, J.

IX Escola de Computação, Recife, 1994

Capítulo 2 pp 25-76

Page 4: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 4/42

Rotação em 2D

Rotação de 90 graus anti-horária

=′

−=′

−=

xy

yxT

01

10

Exemplo

−=

111

243P

−−=

−=′

243

111

111

243

01

10P

Nova rotação, resulta rotação de 180 graus

PPP

−=

−=

−−

−=′′

10

01

01

10

01

10

243

111

01

10

Page 5: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 5/42

Forma Geral da Rotação (em torno da origem)

−=

+=′

−=′

+=′

−=′

+=+

−=+

+=′

+=′

=

=

y

x

y

x

yxy

yxx

rry

rrx

ry

rx

ry

rx

θθ

θθ

θθ

θθ

θφθφ

θφθφ

θφθφθφ

θφθφθφ

θφ

θφ

φ

φ

cossin

sincos

cossin

sincos

cossinsincos

sinsincoscos

cossinsincos)sin(

sinsincoscos)cos(

)sin(

)cos(

sin

cos

x

y

r

x’

y’

φ

Page 6: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 6/42

Propriedades da rotação

−=

θθ

θθ

cossin

sincosT

rotação por θ no sentido anti-horário em torno da origem

Determinante 1sincosdet 22 =+= θθT

Inversa: rotação por -θ

( ) ( ) θθθθ sinsin,coscos −=−=−

−=−

θθ

θθ

cossin

sincos1

T

=

++−

+−+=−

10

01

sincossincossincos

sincossincossincos22

22

1

θθθθθθ

θθθθθθTT

Notar que 1−= TT

T, propriedade de matriz ortogonal

Page 7: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 7/42

Reflexo

−=

10

01T

reflexo sobre o eixo x.

−=

10

01T

reflexo sobre o eixo y.

=

01

10T

reflexo sobre a reta x=y.

Exemplo

−−−=

− 231

678

231

678

10

01

Propriedades: Determinante é -1. Dois reflexos sobre retas passando pela origem compõem uma rotação. A matriz do reflexo é ortogonal.

Page 8: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 8/42

Escala

=

20

02T

uniforme

=

30

02/1T

não-uniforme

=

d

aT

0

0

forma geral da escala, a>1 amplia ou expande, a<1 reduz ou comprime

Se a=d, então escala é uniforme.

Page 9: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 9/42

Composição de Transformações

Multiplicação de matrizes é associativa

K,, 012122011

01234

PTTPTPPTP

PTTTTPF

===

=

Então

0TPPF = , onde 1234 TTTTT =

Page 10: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 10/42

Transformação do Quadrado Unitário

+

+=

dcdc

baba

dc

ba

0

0

1100

1010

Área do paralelogramo

dc

baTbcadA ==−= det

1

1

0

(b,d)

(a,c)

(a+b,c+d)

Page 11: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 11/42

Transformação de corpo rígido

Que transformações levam retas perpendiculares em retas perpendiculares?

Sejam os vetores

=

=

2

2

2

1

1

1y

xve

y

xv

.

Seu produto escalar é )( 212121 yyxxvvT

+= e o vetorial )( 212121 xyyxvv −=× .

+

+=′

+

+=′

22

22

2

11

11

1dycx

byaxve

dycx

byaxv

Produto escalar deve ser o mesmo

))(())(())(( 212121

22

21

22

21 xyyxcdabyydbxxcavvT

++++++=′′

Produto vetorial deve ser o mesmo

))(( 212121 xyyxcbadvv −−=′×′

Page 12: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 12/42

Condições para preservar a magnitude dos vetores e seus ângulos

0

1

1

22

22

=+

=+

=+

cdab

db

ca

vetores (a,c) e (b,d) unitários e ortogonais

Condição do produto vetorial

1=− cbad

Condição de que 1det =T

Page 13: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42

Geometria Projetiva

Coordenadas cartesianas

Função que biunivocamente mapeia um par de números reais nos pontos do plano.

Desvantagens do uso de coordenadas cartesianas

• Não suportam o conceito de pontos no infinito, o que gera muitos casos particulares (por exemplo, para encontrar a intersecção de duas retas deve-se considerar se são concorrentes, coincidentes ou paralelas).

• Não representam dualidade entre pontos e retas.

• Representação inconveniente para transformações geométricas.

Page 14: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 14/42

Coordenadas homogêneas

Se

Y

X

são coordenadas em 2 então

w

y

x

tais que w

xX =

e w

yY =

com o peso

0>w são as coordenadas homogêneas do ponto representado.

Há múltiplas representações possíveis para um ponto em 2 da forma

0, >

w

w

wY

wX

(qualquer múltiplo representa o mesmo ponto)

Questão: o que acontece com [ ]Twyx se x e y permanecem constantes e w tende a zero? E se w tende ao infinito?

Page 15: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 15/42

Pontos no infinito

w

y

x

com x e y constantes e w tendendo a zero, o ponto se afasta infinitamente da

origem na direção do vetor (x,y).

0

y

x

(e seus múltiplos) representa o ponto infinito na direção do vetor (x,y)

Page 16: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 16/42

0

y

x

representa o ponto no infinito “antípoda” do ponto

0

y

x

A tripla

0

0

0

é considerada inválida.

Page 17: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 17/42

Pontos do outro lado do plano

O valor de w negativo pode ser interpretado como um ponto que atravessou o infinito (está além do infinito).

w

y

x

corresponde ao ponto cartesiano

wy

wx

/

/

se estiver na frente do plano (aquém),

isto é, se w>0, ou no seu verso se w<0 (além).

Dois pontos que diferem no sinal de w não são coincidentes, mas antípodas

=

¬

=

¬

00

y

x

y

x

w

y

x

w

y

x

Page 18: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 18/42

Retas

No plano cartesiano a reta é definida por três coeficientes A, B e C tais que, somente

se um ponto

=

Y

XP

pertence à reta, então 0=++ CBYAX

(equação cartesiana da reta)

Reparar que múltiplos de (A,B,C) representam a mesma reta.

Escrevendo P em coordenadas homogêneas:

0, =+

+

= Cw

yB

w

xA

w

y

x

P, multiplicando por w...

0=++ CwByAx (equação homogênea da reta)

Page 19: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 19/42

Uma reta é definida por 3 coeficientes homogêneos <X,Y,W> sendo que o ponto

genérico [ ]TwyxP = está na reta se e só se

0=++ WwYyXx

Exemplo

A reta <2,3,1> passa pelos pontos tais que

032 =++ wyx , ou seja, 0132 =++ YX em coordenadas cartesianas.

Exercícios

• Qual a equação cartesiana da reta com coeficientes <3,5,2>?

• Quais os coeficientes homogêneos da reta 3X-2Y=6 (eq cartesiana)?

• Quais os coeficientes homogêneos dos eixos X e Y?

• Em que condições a reta é horizontal? Vertical? Passa pela origem?

• Quais as coordenadas homogêneas da origem do plano cartesiano?

Page 20: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 20/42

Pontos no infinito de uma reta

0=++ WwYyXx é satisfeita pelos pontos infinitos

0

X

Y

e

0

X

Y

.

Toda reta paralela a um vetor

y

x

contém os pontos infinitos

0

y

x

e

0

y

x

.

Duas retas de 2 são paralelas entre si se e somente se as retas correspondentes de 2 (o plano projetivo orientado) passam pelos mesmos pontos no infinito.

Se uma reta passa por um ponto P , também passa por seu antípoda P¬ .

Page 21: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 21/42

Uma reta de 2 é representada por duas retas euclidianas superpostas, uma no aquém e outa no além, com os mesmos coeficientes cartesianos, mais dois pontos infinitos, nas direções paralelas às retas.

A reta divide o plano 2 em duas metades (os lados da reta) o lado positivo e o lado

negativo de acordo com o sinal da expressão WwYyXx ++ . Se um ponto está do lado positivo da reta, seu antípoda estará no lado negativo.

aquém alémpontosinfinitos

Page 22: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 22/42

Teste de ponto contra reta

De que lado da reta está um ponto? Verificar o sinal do produto escalar.

( )WwYyXxpr ++= sgn

-1 do lado negativo, +1 do lado positivo ou 0 se sobre a reta.

Se multiplicarmos os coeficientes de r por um número negativo, o valor de pr fica negado (os lados positivos e negativos da reta se invertem).

As retas WYXr ,,= e WYXr −−−=′ ,, são coincidentes, mas não são iguais: diferem na sua orientação.

Page 23: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 23/42

Reta no infinito

0=++ CwByAx com A=B=0.

Esta equação não é aceita por nenhum ponto de R2 (ou por todos se C=0).

Triplas da forma

W

0

0

correspondem a uma das retas opostas que contém todos os

pontos infinitos:

==++ 00100 wwyx a reta contém todos os pontos da forma

0

y

x

Page 24: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 24/42

A reta no infinito (com aquém positivo) é denominada Ω.

=Ω¬

1

0

0

1

0

0

e

Duas retas não-coincidentes se interceptam em dois pontos antipodais.

Dois pontos não-coincidentes determinam exatamente duas retas opostas entre si.

Essas regras funcionam para qualquer tipo de ponto (finito ou infinito) e reta (paralelas ou não, finita ou infinita).

Page 25: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 25/42

Colinearidade de 3 pontos

0

1

1

1

22

11

00

=

yx

yx

yx

convertido em coord homogêneas 0

1//

1//

1//

2222

1111

0000

=

wywx

wywx

wywx

Multiplicando-se as linhas por 210 ,, www respectivamente, multiplica-se o

determinante por 210 www . Assim:

0

222

111

000

=

wyx

wyx

wyx

válida para quais quer pontos (finitos ou infinitos).

Page 26: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 26/42

Reta por 2 pontos

0011

00

11

00

11

00

111

000

=+−= wyx

yxy

wx

wxx

wy

wy

wyx

wyx

wyx

Reta que passa por 0p e 1p é

+−

=∨

0110

0110

0110

10

yxyx

wxwx

wywy

pp (join – produto vetorial)

(vale para qualquer pontos não coincidentes, não antipodais)

Exercício: Determinar a reta que passa pela origem e por (X,Y).

Page 27: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 27/42

Ponto determinado por duas retas

11110000 ,,,, WYXreWYXr ==

10 rrp ∧= (meet) é a intersecção das retas. (X,Y) em coordenadas cartesianas.

−=+

−=+

111

000

WYYXX

WYYXX

, pela regra de Cramer:

11

00

11

00

11

00

11

00

YX

YX

WX

WX

Ye

YX

YX

YW

YW

X

=

=

Fazendo W=1 e multiplicando X, Y e W pelo denominador comum, obtemos as coordenadas homogêneas do ponto.

Page 28: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 28/42

+−

=∧=

0110

0110

0100

10

YXYX

XWXW

YWYW

rrp (meet – produto vetorial)

Se as duas retas forem paralelas, a solução será um ponto infinito.

Dualidade da Geometria Projetiva

O princípio da dualidade permite traduzir mecanicamente muitas fórmulas geométricas que envolvem pontos em outras fórmulas que envolvem retas e vice-versa. O mesmo vale para teoremas, algoritmos e estruturas de dados.

Page 29: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 29/42

Segmentos e triângulos

A combinação convexa em coordenadas homogêneas não necessita limitar a soma

dos pesos em 1. A combinação é convexa para cada iα positivo, e pelo menos um deles não nulo.

Um segmento é definido como a combinação convexa de dois pontos.

Um triângulo é definido como a combinação convexa de 3 pontos, o que inclui os segmentos de reta que formam os lados do triângulo.

Segmento:

+

+

+

1100

1100

1100

ww

yy

xx

αα

αα

αα

. Triângulo

++

++

++

221100

221100

221100

www

yyy

xxx

ααα

ααα

ααα

.

Não se aconselha interpretar o ponto correspondente a cada tupla de iα independentemente, mas o conjunto das possíveis tuplas.

Page 30: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 30/42

Orientação de 3 pontos

222

111

000

210 sgn),,(

wyx

wyx

wyx

ppp =∆

Orientação positiva ou negativa.

Se for zero, os pontos são colineares.

Page 31: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 31/42

Projetividades

(ou Transformações Projetivas)

São transformações do plano T2 ao plano T2.

Preserva a colinearidade de pontos.

Projetividades são transformações lineares inversíveis sobre coordenadas homogêneas.

No plano podem ser representadas por matrizes 3x3 de determinante não-nulo.

=

wwwywx

ywyyyx

xwxyxx

fff

fff

fff

F

Page 32: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 32/42

Formam-se duas classes de projetividades:

As de determinante positivo (ou projetividades positivas), que preservam a orientação dos triângulos.

As de determinante negativo (negativas), que invertem a orientação dos triângulos.

Multiplicando-se a matriz F por um escalar positivo, continuamos representando a

mesma transformação. ( pFpF ⋅=⋅ α em coordenadas homogêneas).

Page 33: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 33/42

Translações

Transformações da forma

),(),(),(),( 0000 YXYXYYXXYX +=++a

Preservam distâncias, direções e ângulos.

Translação que leva a origem para o ponto [ ]Twyx 000

=

+

+

w

y

x

w

yw

xw

ww

wyyw

wxxw

w

y

x

0

00

00

0

00

00

00

0

0

a

Exercício: Aplicar translação a um ponto infinito.

Exercício: Escrever a matriz que mapeia ),( 00 YX em ),( 11 YX .

Page 34: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 34/42

Propriedades das transformações já vistas

Translações não podem ser representadas como transformações lineares no plano cartesiano (só em coordenadas homogêneas). São transformações afins em coordenadas cartesianas.

Rotações preservam ângulos e distâncias.

Escalas uniformes preservam ângulos e direções.

Escalas não-uniformes preservam direções verticais e horizontais.

Reflexos preservam distâncias, invertem ângulos

Page 35: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 35/42

Cisalhamentos

),(),( YYXYX α+a

w

y

x

w

y

x

100

010

01 α

a

(cisalhamento horizontal – preserva coordenada Y,

paralelismo e áreas)

w

y

x

w

y

x

100

01

001

βa

(cisalhamento vertical)

Page 36: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 36/42

Mais classes de transformações

Isometrias ou transformações isométricas: rotações, translações e reflexos. Modelam movimentos rígidos no plano, preservam distâncias e ângulos.

Similaridades ou transformações euclidianas: incluem as isometrias e escalas uniformes, preservam ângulos e razões entre distâncias.

Transformações unitárias: incluem as isometrias e os cisalhamentos, preservam áreas e paralelismo.

Transformações afins inversíveis: preservam o paralelismo e (consequentemente) mapeiam pontos do infinito no infinito e pontos finitos em pontos finitos.

Todas essas classes de transformações são fechadas quanto à inversão e à composição.

Propriedade: ( ) 111 −−−⋅=⋅ FGGF

Page 37: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 37/42

As similaridades têm a forma

00,

100

≠≠

bouamenospelo

w

y

x

yab

xba

d

d

As transformações afins têm a forma

+

=++++

f

e

Y

X

dc

bafdYcXebYaXYX ),(),( a

Ou

w

y

x

fdc

eba

100

Page 38: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 38/42

Aplicação de Projetividades em Retas

0=++ WwYyXx

0=prT

01 =−FpFr

T

,

Mas pFp ′= .

Se 0=′′ prT

, então 1−=′ Frr

TT

Assim, transpondo ambos os lados:

rFrT−=′

Page 39: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 39/42

Exemplo

Rotação em torno de um ponto arbitrário.

Rotação por ângulo θ em torno do ponto ),( nm

• Translação de (m,n) à origem.

• Rotação por θ .

• Translação da origem à (m,n)

1

1321

100

10

01

100

0cossin

0sincos

100

10

01−

=

=

=

= Tn

m

TTn

m

T θθ

θθ

Page 40: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 40/42

Exemplo: Rotação de 90 graus em torno de (4,3)

1

1321

100

310

401

100

001

010

100

310

401−

=

=

=

= TTTT

=

==

100

101

710

100

310

401

100

301

410

123 TTTT

Page 41: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 41/42

Exemplo:

Reflexo sobre uma reta arbitrária.

kxy += θtan

• Transladar para que a reta passe pela origem

• Rotação para que a reta coincida com o eixo x

• Reflexo sobre eixo x

• Rotação inversa para corrigir a direção

• Translação inversa para corrigir a posição

=

−=

−=

100

010

001

100

0cossin

0sincos

100

10

001

11 MRkT θθ

θθ

Page 42: CCI-36 – Computação Gráfica ... - comp.ita.brforster/CCI-36-2018/03-Transf-2D-Geometria... · CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 13/42 Geometria

CCI-36 – Computação Gráfica – ITA – IEC Transformações 2D - 42/42

==

+=−−

100

0cossin

0sincos

100

10

001

1

1

1

1

1 θθ

θθT

RRkT

A seqüência de transformações é dada por

11

1

1

1

1 TMRRTT−−

=

Exemplo: Reta )4(

2

1+= xy

, Pontos

111

664

242