• Nenhum resultado encontrado

Matemá'ca para Jogos. Aula 8 Mark Joselli

N/A
N/A
Protected

Academic year: 2021

Share "Matemá'ca para Jogos. Aula 8 Mark Joselli"

Copied!
42
0
0

Texto

(1)

Matemá'ca  para  Jogos  

Aula  8  

(2)

Apresentação  

(3)

Obje'vos  

• 

Entender  o  que  são  transformações  lineares;  

• 

Entender  os  diversos  'pos  de  transformações  

2D.  

• 

Entender  como  elas  se  combinam.  

 

(4)

Transformações   são   as   operações   aplicadas   a  

descrições  geométricas  de  um  objeto  para  alterar  

a   sua   posição,   orientação   ou   tamanho.   Esses  

'pos   de   transformações   são   chamados   de  

transformações  geométricas”.  

 

(5)

Transformações  lineares  

• 

Uma  transformação  de  um  conjunto  não-­‐vazio  

U  em  um  conjunto  não-­‐vazio  V  é  uma  

correspondencia  T  que,  a  cada  elemento  x  de  

U,  associa  um  unico  elemento  y  =  T(x)  de  V,  

denominando-­‐se  f:U  -­‐>  V.  

(6)

6

2D  Transforma'ons  

x y x y x y

(7)

Aplicações  de  transformações  2D  

• 

Transformações  2D  

• 

Animações  

• 

Image  warping  

(8)

8

Transformações  2D  

• 

Dado  um  objeto  2D,  uma  transformação  é  a  

mudança  da:

 

–  Posição  (translação)  

–  Tamanho(escala)  

–  Orientação(rotação)  

–  Formato  (shear)  

(9)

Transformações  em  2D  

• 

Em  um  modelo  de  aplicação:  

– 

Uma  descrição  do  objeto  (ver'ces)  

– 

Uma  transformação  a  aplicar  

• 

Cada  ver'ce  (ou  ponto)  é  modificado:  

•  x

 =  f(x,y)  

(10)

10

Translação  

• 

Reposiciona  um  ponto  ao  longo  de  uma  reta  

• 

Dado  um  ponto  (x,y),  e  a  distancia  de  translação  

(tx,ty)  

O Novo ponto: (x’, y’) x’ = x + tx y’ = y + ty (x,y) (x’,y’) Ou P’ = P + T onde P’ = x’ p = x T = tx y’ y ty tx ty

(11)

Translação  

• 

Como  transladar  um  objeto  com  mul'plos  

ver'ces?    

Transladar os vertices separadamente

(12)

Exercicio  

• 

Monte  a  matriz  2D  (T)  para  mover  objetos  3D  

50  pixels  para  a  direita  e  100  pixels  para  baixo  

na  tela  do  computador.  

• 

Com  essa  matriz,  mova  um  triangulo  com  os  

ver'ces:  A(20,30),  B(0,200),  e  C(300,400)  

(13)

3x3  2D  Matrix  de  translação  

x’ = x + tx y’ y ty Use um vetor 3 x 1 x’ 1 0 tx x y’ = 0 1 ty * y 1 0 0 1 1

(14)

Exercicio  

• 

Monte  a  matriz  2D  para  mover  objetos  2D  10  

pixels  para  a  direita  e  20  pixels  para  baixo  na  

tela  do  computador.  

• 

Com  essa  matriz,  mova  um  triangulo,  usando  

mul'plicação  de  matrizes,  com  os  ver'ces:  

A(10,15),  B(0,20),  e  C(20,100)  

(15)

Escala  2D  

Escala: alterar o tamanho de um objeto de acordo com um

fator de escala (Sx, Sy); Factor de escala:

>1 aumenta o objecto <1 reduz o objecto

(16)

16

Escala  2D  

Escala: alterar o tamanho de um objeto de acordo com um

fator de escala (Sx, Sy), i.e. x’ = x . Sx y’ = y . Sy x’ Sx 0 x y’ 0 Sy y = (1,1) (2,2) Sx = 2, Sy = 2 (2,2) (4,4)

(17)

Escala  2D  

(1,1)

(2,2) Sx = 2, Sy = 2

(2,2)

(4,4)

§  Não somente o tamanho é modificado… mas tb a posição

(18)

18

3x3  2D  Matrix  de  Escala  

x’ Sx 0 x

y’ 0 Sy y =

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

(19)

EXERCICIOS  

• 

Contrua  a  matriz  que  escale  os  objetos  para  

metade,  e  use-­‐a  para  escalar  o  triangulo  A(–

50,20),  B(–10,20),  e  C(–30,40).    

• 

Contrua  a  matriz  que  escale  os  objetos  ¼  na  

direção  x  e  3  vezes  na  direção  y,  e  use-­‐a  para  

escalar  o  triangulo  com  pontos  A(–50,20),  B(–

10,20),  e  C(–30,40).  

(20)

20

Rotação  2D  

• 

Centro  de  origem  padrão:  Origem  (0,0)  

θ

θ > 0 : Rotação no sentido anti-horario

θ < 0 : Rotação no sentido horario θ

(21)

(x,y) (x’,y’)

θ

(x,y) -> Rotacionar θ da origem (x’, y’)

Como calcular (x’, y’) ? φ

r

(22)

22

(x,y) (x’,y’)

θ

(x,y) -> Rotacionar θ da origem (x’, y’)

Como calcular (x’, y’) ? φ

x = r cos (φ) y = r sin (φ)

r

x’ = r cos (φ + θ) y’ = r sin (φ + θ)

(23)

Rotação  2D  

(x,y) (x’,y’) θ φ r x = r cos (φ) y = r sin (φ) x’ = r cos (φ + θ) y = r sin (φ + θ) x’ = r cos (φ + θ)

= r cos(φ) cos(θ) – r sin(φ) sin(θ)

= x cos(θ) – y sin(θ)

y’ = r sin (φ + θ)

(24)

24

Rotação  2D  

(x,y) (x’,y’) θ φ r x’ = x cos(θ) – y sin(θ)

(25)

Rotação  2D  

(x,y) (x’,y’) θ φ r x’ = x cos(θ) – y sin(θ)

y’ = y cos(θ) + x sin(θ) Matrix form?

x’ cos(θ) -sin(θ) x

(26)

26

3x3  2D  Matrix  de  Rotação  

x’ cos(θ) -sin(θ) x

y’ sin(θ) cos(θ) y =

(x,y) (x’,y’) θ φ r x’ cos(θ) -sin(θ) 0 x y’ sin(θ) cos(θ) 0 y 1 0 0 1 1

(27)

n 

Como  rotacionar  objetos  com  mul'plos  

pontos?    

Rotacione θ

(28)

• 

Construa  a  matrix  para  rotacionar  objetos  2D  

30°,  e  use-­‐a  para  rotacionar  o  triangulo  com  

pontos  A(–10,50),  B(80,0),  e  C(–50,100).    

• 

Construa  a  matrix  para  rotacionar  objetos  2D  

45°,  e  use-­‐a  para  rotacionar  o  triangulo  com  

pontos  A(–10,50),  B(80,0),  e  C(–50,100).    

(29)

Resumindo  

•  Translação:     •  Rotação:   •  Escala:   y x t t y x y x + = ʹ′ ʹ′ y x t t y x ⋅ − = ʹ′ ʹ′ θ θ θ θ cos sin sin cos x x t s xʹ′ 0

(30)

30

Ou,  3x3  Matrix  

•  Translação:     •  Rotação:     •  Escala:     x’ 1 0 tx x y’ = 0 1 ty * y 1 0 0 1 1 x’ cos(θ) -sin(θ) 0 x y’ sin(θ) cos(θ) 0 * y 1 0 0 1 1

=

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

(31)

Porque  3x3  Matriz?  

•  De  forma  que  possamos  calcular  todas  as  transformações  

usando  matrizes  

•  Isso  nos  permite  precomputar  matrizes  

•  O  ponto  (x,y)  precisa  ser  representado  como  (x,y,1)    -­‐>  

isso  é  chamado  de  coordenadas  homogeneas!  

(32)

32

Affine  Transforma'on  

•  Translação,  rotação  e  escala  são  todas  transformações  

(33)

Affine  Transforma'on  

•  Translação,  rotação  e  escala  são  todas  transformações  

afins;  

•  Transformação  Afim  o  ponto  transformado  P’  (x’,y’)  é  

uma  combinação  linear  do  ponto  P  (x,y),  i.e.                                                 13 12 11 y x m m m m m m y x ⋅ = ʹ′ ʹ′

(34)

34

Composição  de  transformações  

•  Composição  de  transformações  –  é  o  processo  de  aplicar  

diversas  transformações  em  successão  de  forma  a  criar   uma  transformação  unica;  

•  Se  aplicarmos  em  um  ponto  P  usando  a  matrix  M1,  e  

depois  transformar  com  a  matriz  M2  e  depois  a  M3,   temos:  

(35)
(36)

36

Composição  de  transformações  

•  Composição  de  transformações  –  é  o  processo  de  aplicar  

diversas  transformações  em  successão  de  forma  a  criar   uma  transformação  unica;  

•  Se  aplicarmos  em  um  ponto  P  usando  a  matrix  M1,  e  

depois  transformar  com  a  matriz  M2  e  depois  a  M3,   temos:  

       (M3    x    (M2      x      (M1    x  P  )))    =  M3  x  M2  x  M1  x  P  

M

(pre-multiply)

(37)

Composição  de  transformações  

•  A  mul'plicações  de  matrizes  é  associa'va  

         M3  x  M2  x  M1  =  (M3  x  M2)  x  M1  =  M3  x  (M2  x  M1)  

•  Mas  não  é  comuta'va!!!  A  x  B    !=  B  x  A         •  Mas  existe  casos  onde  A  x  B  =  B  x  A    

(38)

38

A  Ordem  é  importante!  

•  Rotação  e  translação  não  é  comuta'va!  

Transladar (5,0) e depois rotacionar 60 graus OU

(39)

EXERCICIO  

• 

Qual  é  a  seqüência  de  operações  que  mapeia  

o  objeto  da      figura  A  para  o  objeto  da  Figura  

B.  Qual  é  a  composição  das  matrizes  que  gera  

a  matriz  composta      de      transformação?    

(40)
(41)

Exercicio  

• 

Dado  o  objeto  na  figura  A,  forneça  a  matriz  da  

composição      de  transformações  em  

coordenadas  homogêneas,  para  o      objeto  

figura  B.  

(42)

Exercicio  

• 

Dado  o  objeto  na  figura  A,  forneça  a  matriz  da  

composição      de  transformações  em  

coordenadas  homogêneas,  para  o      objeto  

figura  C.  

Referências

Documentos relacionados

vegetais reduzem a altura da planta e o aumento das doses dos reguladores reduziu os valores dos componentes da produção e da produtividade de grãos; o etil-trinexapac foi o

As Informações Trimestrais foram preparadas de acordo com as práticas contábeis adotadas no Brasil, que compreendem aquelas previstas na legislação societária brasileira e nos

O Projeto: Aprender brincar para ensinar”, foi elaborado e desenvolvido com as acadêmicas do quarto semestre do Curso de Pedagogia, da Faculdade Dom Bosco de Goioerê, no período de

Em Foucault (2008), a biopolítica representa uma forma de governo baseada no controle da população, que no neoliberalismo se define a partir de uma auto-limitação do

The results of the 5 strains were compared when possible with the HAP31 and RAPH2 positive control strains that were previously studied at the host laboratory by Edgar

BISAVÔ: HOLLYLANE RENAISSENCE (I.A.) 3° MÃE: ECRL “ANI” CASCALHO BRIAR MASTER... DEBORA ZABELINA ULISSES

1. O Prémio ou fracção inicial é devido na data da celebração do contrato, dependendo a eficácia deste do respetivo pagamento. Sem prejuízo do disposto no n.º 6 do presente

O SECRETÁRIO EXECUTIVO DE GESTÃO INTERNA, no uso de suas atribuições legais, RESOLVE conceder férias de 30 (trinta dias), referente ao período aquisitivo de 2019, a servidora