Post on 23-Jan-2020
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
joaorb@unisinos.br
Sumário
1. Sistemas de coordenadas2. Matrizes3. Princípios de Transformações 2D4. Coordenadas Homogêneas5. 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
(x',y')
(x'',y'')
y'
y''
x' x''(0,0)
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)
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)
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)
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
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
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
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
P(5,2)
P(25,15)
Dx = 20
Dy = 13
Translação (x' y') = (x y) + (Dx Dy) P' = P + T
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
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)
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
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)
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)
Horário (ângulos negativos)
x ' y ' = x y ⋅ cos sin −sin cos
x ' y ' =x y ⋅cos − sin 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 y 1⋅ 1 0 00 1 0
Dx Dy 1
Coordenadas Homogêneas Escala P' = P.S(Sx,Sy)
x ' y ' 1=x y 1⋅Sx 0 00 Sy 00 0 1
Coordenadas Homogêneas Rotação P' = P.R(φ)
x ' y ' 1= x y 1⋅ cos sin 0−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