Sistema de Coordenadas &
Coordenadas Homogêneas
Prof. MSc. João Ricardo Bittencourt
Update: 4 Set. 2007
[email protected]
Processamento Gráfico
Desenvolvimento de Jogos &
Entretenimento Digital
UNISINOS
Sumário
1.
2.
3.
4.
5.
Sistemas de coordenadas
Matrizes
Princípios de Transformações 2D
Coordenadas Homogêneas
Combinação de transformações
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)
Sistemas de Coordenadas

Plano Cartesiano
y
(x'',y'')
y''
y'
(0,0)
(x',y')
x'
x''
x
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,30)
(80,30)
(40,15)
(80,15)
250m (limite)
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,15)
(40,15)
(0,0)
(40,0)
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.12)
(0.32,0.12)
(0.16,0.06)
(0.32,0.06)
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,527)
(192,527)
(96,563)
(192,563)
800x600
Matrizes

Conceito geral
 
1 2 3
B= 4 5 6
7 8 9
2ª linha
3ª coluna
b2,3=6

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
Matrizes

Matriz Identidade
 
1 0 0
I= 0 1 0
0 0 1

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
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)
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
Dy = 13
P(25,15)
P(5,2)
Dx = 20
Translação

(x' y') = (x y) + (Dx Dy)

P' = P + T
Escala

Comprimir/esticar em relação ao eixo x e/ou eixo y
P4(10,10)
P3(50,10)
P1(10,5)
Dy = 5
P2(50,5)
Escala

Comprimir/esticar em relação ao eixo x e/ou eixo y
P4(10,20)
P3(50,20)
Dy = 10 (ou seja, é o DOBRO)
P1(10,10)
P2(50,10)
Escala

P' = P . S
x'

y ' = x

Sx 0
y⋅
0 Sy

Sendo
 Sx é o fator de escala no eixo x (largura)
 Sy é o fator de escala no eixo y (altura)
Rotação

Rotacionar um polígono em 'n' graus em relação
à origem
P4(10,10)
P3(50,10)
P1(10,5)
P2(50,5)
Rotação

Rotacionar um polígono em 'n' graus em relação
à origem

Maiores detalhes veja no Foley (demonstração
matemática)
Rotação

P' = P . R

Anti-horário (ângulos positivos)
x'

y ' = x


cos sin 
y⋅
−sin  cos
Horário (ângulos negativos)
x'
y ' = x

cos− sin 
y⋅
sin − cos−

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)
Coordenadas
Homogêneas

Translação

P' = P.T(Dx,Dy)
x'
y ' 1= x

1
y 1⋅ 0
Dx
0 0
1 0
Dy 1

Coordenadas
Homogêneas

Escala

P' = P.S(Sx,Sy)
x'
y ' 1= x

Sx 0 0
y 1⋅ 0 Sy 0
0 0 1

Coordenadas
Homogêneas

Rotação

P' = P.R(φ)
x'
y ' 1= x

cos sin  0
y 1⋅ −sin  cos 0
0
0
1

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
Download

Sistema de Coordenadas & Coordenadas Homogêneas