24
Sistema de Coordenadas & Coordenadas Homogêneas Prof. MSc. João Ricardo Bittencourt Processamento Gráfico Desenvolvimento de Jogos & Entretenimento Digital UNISINOS Update: 4 Set. 2007 [email protected]

Sistema de Coordenadas & Coordenadas Homogêneasprofessor.unisinos.br/ltonietto/jed/pgr/004a_Coord.pdf · Sistemas de Coordenadas Usados para descrever objetos em um sistema 2D/3D

  • Upload
    others

  • View
    72

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sistema de Coordenadas & Coordenadas Homogêneasprofessor.unisinos.br/ltonietto/jed/pgr/004a_Coord.pdf · Sistemas de Coordenadas Usados para descrever objetos em um sistema 2D/3D

Sistema de Coordenadas & Coordenadas Homogêneas

Prof. MSc. João Ricardo Bittencourt

Processamento Gráfico

Desenvolvimento de Jogos & Entretenimento Digital

UNISINOS

Update: 4 Set. 2007

[email protected]

Page 2: Sistema de Coordenadas & Coordenadas Homogêneasprofessor.unisinos.br/ltonietto/jed/pgr/004a_Coord.pdf · Sistemas de Coordenadas Usados para descrever objetos em um sistema 2D/3D

Sumário

1. Sistemas de coordenadas2. Matrizes3. Princípios de Transformações 2D4. Coordenadas Homogêneas5. Combinação de transformações

Page 3: Sistema de Coordenadas & Coordenadas Homogêneasprofessor.unisinos.br/ltonietto/jed/pgr/004a_Coord.pdf · Sistemas de Coordenadas Usados para descrever objetos em um sistema 2D/3D

Sistemas de Coordenadas Usados para descrever objetos em um sistema

2D/3D – posição e tamanho Sistema de Referência de Coordenadas

Unidade de referência – mm,cm,m,km,pol Limites (máximo e mínimo)

Sistemas de Coordenadas: Cartesiano Sistema de Referência do Universo (SRU) Sistema de Referência do Objeto (SRO) Sistema de Referência Normalizado (SRN) Sistema de Referência do Dispositivo (SRD)

Page 4: Sistema de Coordenadas & Coordenadas Homogêneasprofessor.unisinos.br/ltonietto/jed/pgr/004a_Coord.pdf · Sistemas de Coordenadas Usados para descrever objetos em um sistema 2D/3D

Sistemas de Coordenadas Plano Cartesiano

y

x

(x',y')

(x'',y'')

y'

y''

x' x''(0,0)

Page 5: Sistema de Coordenadas & Coordenadas Homogêneasprofessor.unisinos.br/ltonietto/jed/pgr/004a_Coord.pdf · Sistemas de Coordenadas Usados para descrever objetos em um sistema 2D/3D

Sistemas de Coordenadas Sistema de Referência do Universo (SRU)

Domínio da modelagem Cada domínio tem seu SRU Define-se uma escala e os limites

• 1:50mm• 1:100cm

(40,15)

(40,30)

(80,15)

(80,30)

250m (limite)

Page 6: Sistema de Coordenadas & Coordenadas Homogêneasprofessor.unisinos.br/ltonietto/jed/pgr/004a_Coord.pdf · Sistemas de Coordenadas Usados para descrever objetos em um sistema 2D/3D

Sistemas de Coordenadas Sistema de Referência do Objeto (SRO)

Cada objeto tem seu próprio sistema de coordenadas em relação a um ponto extremo

(0,0)

(0,15)

(40,0)

(40,15)

Page 7: Sistema de Coordenadas & Coordenadas Homogêneasprofessor.unisinos.br/ltonietto/jed/pgr/004a_Coord.pdf · Sistemas de Coordenadas Usados para descrever objetos em um sistema 2D/3D

Sistemas de Coordenadas Sistema de Referência Normalizado (SRN)

(0 >= x <=1) & (0>= y <= 1) Tornar a geração de imagens independente de

dispositivo SRU -> SRN SRN -> SRD

(0.16,0.06)

(0.16,0.12)

(0.32,0.06)

(0.32,0.12)

Page 8: Sistema de Coordenadas & Coordenadas Homogêneasprofessor.unisinos.br/ltonietto/jed/pgr/004a_Coord.pdf · Sistemas de Coordenadas Usados para descrever objetos em um sistema 2D/3D

Sistemas de Coordenadas Sistema de Referência do Dispositivo (SRD)

Resolução de vídeo• 1024x768• 800x600

A origem posiciona-se no canto superior esquerdo

(96,563)

(96,527)

(192,563)

(192,527)

800x600

Page 9: Sistema de Coordenadas & Coordenadas Homogêneasprofessor.unisinos.br/ltonietto/jed/pgr/004a_Coord.pdf · Sistemas de Coordenadas Usados para descrever objetos em um sistema 2D/3D

Matrizes Conceito geral

Na CG interessa a operação de multiplicação N.Colunas da Matriz 1 = N.Linhas da Matriz 2 Gera: (N.Linhas da Matriz 1,N.Colunas da Matriz 2) Lembrando que a multiplicação não é comutativa

B=1 2 34 5 67 8 9 2ª linha

3ª colunab2,3=6

Page 10: Sistema de Coordenadas & Coordenadas Homogêneasprofessor.unisinos.br/ltonietto/jed/pgr/004a_Coord.pdf · Sistemas de Coordenadas Usados para descrever objetos em um sistema 2D/3D

Matrizes Matriz Identidade

Todos os elementos são zeros, exceto os elementos da diagonal principal que são zeros

Matrizes quadradas (N.Linhas=N.Colunas) M.I=M

I=1 0 00 1 00 0 1

Page 11: Sistema de Coordenadas & Coordenadas Homogêneasprofessor.unisinos.br/ltonietto/jed/pgr/004a_Coord.pdf · Sistemas de Coordenadas Usados para descrever objetos em um sistema 2D/3D

Translação Deslocar um P para P' adicionando 'n' unidades

no eixo x e 'm' unidades no eixo y Dx unidades deslocadas no eixo x Dy unidades deslocadas no eixo y

P(5,2)

Page 12: Sistema de Coordenadas & Coordenadas Homogêneasprofessor.unisinos.br/ltonietto/jed/pgr/004a_Coord.pdf · Sistemas de Coordenadas Usados para descrever objetos em um sistema 2D/3D

Translação Deslocar um P para P' adicionando 'n' unidades

no eixo x e 'm' unidades no eixo y Dx unidades deslocadas no eixo x Dy unidades deslocadas no eixo y

P(5,2)

P(25,15)

Dx = 20

Dy = 13

Page 13: Sistema de Coordenadas & Coordenadas Homogêneasprofessor.unisinos.br/ltonietto/jed/pgr/004a_Coord.pdf · Sistemas de Coordenadas Usados para descrever objetos em um sistema 2D/3D

Translação (x' y') = (x y) + (Dx Dy) P' = P + T

Page 14: Sistema de Coordenadas & Coordenadas Homogêneasprofessor.unisinos.br/ltonietto/jed/pgr/004a_Coord.pdf · Sistemas de Coordenadas Usados para descrever objetos em um sistema 2D/3D

Escala Comprimir/esticar em relação ao eixo x e/ou eixo y

P1(10,5)

P4(10,10)

P2(50,5)

P3(50,10)Dy = 5

Page 15: Sistema de Coordenadas & Coordenadas Homogêneasprofessor.unisinos.br/ltonietto/jed/pgr/004a_Coord.pdf · Sistemas de Coordenadas Usados para descrever objetos em um sistema 2D/3D

Escala Comprimir/esticar em relação ao eixo x e/ou eixo y

P1(10,10)

P4(10,20)

P2(50,10)

P3(50,20)

Dy = 10 (ou seja, é o DOBRO)

Page 16: Sistema de Coordenadas & Coordenadas Homogêneasprofessor.unisinos.br/ltonietto/jed/pgr/004a_Coord.pdf · Sistemas de Coordenadas Usados para descrever objetos em um sistema 2D/3D

Escala P' = P . S

Sendo Sx é o fator de escala no eixo x (largura) Sy é o fator de escala no eixo y (altura)

x ' y ' = x y ⋅Sx 00 Sy

Page 17: Sistema de Coordenadas & Coordenadas Homogêneasprofessor.unisinos.br/ltonietto/jed/pgr/004a_Coord.pdf · Sistemas de Coordenadas Usados para descrever objetos em um sistema 2D/3D

Rotação Rotacionar um polígono em 'n' graus em relação

à origem

P1(10,5)

P4(10,10)

P2(50,5)

P3(50,10)

Page 18: Sistema de Coordenadas & Coordenadas Homogêneasprofessor.unisinos.br/ltonietto/jed/pgr/004a_Coord.pdf · Sistemas de Coordenadas Usados para descrever objetos em um sistema 2D/3D

Rotação Rotacionar um polígono em 'n' graus em relação

à origem Maiores detalhes veja no Foley (demonstração

matemática)

Page 19: Sistema de Coordenadas & Coordenadas Homogêneasprofessor.unisinos.br/ltonietto/jed/pgr/004a_Coord.pdf · Sistemas de Coordenadas Usados para descrever objetos em um sistema 2D/3D

Rotação P' = P . R Anti-horário (ângulos positivos)

Horário (ângulos negativos)

x ' y ' = x y ⋅ cos sin −sin cos

x ' y ' =x y ⋅cos − sin sin − cos −

Page 20: Sistema de Coordenadas & Coordenadas Homogêneasprofessor.unisinos.br/ltonietto/jed/pgr/004a_Coord.pdf · Sistemas de Coordenadas Usados para descrever objetos em um sistema 2D/3D

Coordenadas Homogêneas Tratar as transformações de forma uniforme

(problema com a translação) Passa a ser considerado um fator w. P(x,y) – P(w.x,w.y,w) Se for dado (x,y,w) converte-se para o plano

cartesiano: x = x/w e y=y/w

Para resolver o problema da translação adota-se as coordenadas homogêneas com fator 1: P(x,y,1)

Page 21: Sistema de Coordenadas & Coordenadas Homogêneasprofessor.unisinos.br/ltonietto/jed/pgr/004a_Coord.pdf · Sistemas de Coordenadas Usados para descrever objetos em um sistema 2D/3D

Coordenadas Homogêneas Translação P' = P.T(Dx,Dy)

x ' y ' 1= x y 1⋅ 1 0 00 1 0

Dx Dy 1

Page 22: Sistema de Coordenadas & Coordenadas Homogêneasprofessor.unisinos.br/ltonietto/jed/pgr/004a_Coord.pdf · Sistemas de Coordenadas Usados para descrever objetos em um sistema 2D/3D

Coordenadas Homogêneas Escala P' = P.S(Sx,Sy)

x ' y ' 1=x y 1⋅Sx 0 00 Sy 00 0 1

Page 23: Sistema de Coordenadas & Coordenadas Homogêneasprofessor.unisinos.br/ltonietto/jed/pgr/004a_Coord.pdf · Sistemas de Coordenadas Usados para descrever objetos em um sistema 2D/3D

Coordenadas Homogêneas Rotação P' = P.R(φ)

x ' y ' 1= x y 1⋅ cos sin 0−sin cos 0

0 0 1

Page 24: Sistema de Coordenadas & Coordenadas Homogêneasprofessor.unisinos.br/ltonietto/jed/pgr/004a_Coord.pdf · Sistemas de Coordenadas Usados para descrever objetos em um sistema 2D/3D

Combinação Desta forma é possível combinar transformações Extremamente otimizado do ponto de vista

computacional A ordem das matrizes influencia o resultado Através da multiplicação das matrizes usando

coordenadas homogêneas Transladar 30 unidades em X Rotacionar 30º em X Transladar 15 unidades em Y Redimensionar para 1.5 vezes a altura da

figura