prof. leandro taddeo – transformações geométricas – sistemas de coordenadas aula 3
TRANSCRIPT
Prof. Leandro Taddeo
– Transformações Geométricas– Sistemas de Coordenadas
Aula 3
Transformações geométricas são operações que podem ser utilizadas visando a alteração de algumas características como posição, orientação, forma ou tamanho do objeto a ser desenhado Ex: dado um ponto no plano podemos
mudar sua posição através de transformações geométricas
Introdução2
Transformações Geométricas
T
10 unidades
Todas as transformações geométricas podem ser representadas na forma de equações Problema: manipulações de objetos gráficos
normalmente envolvem muitas operações de aritmética simples
Solução: matrizes são mais fáceis de usar e entender do que as equações algébricas
Padrão de coordenadas: Pontos no plano (x,y) Matrizes 2x2 Pontos no espaço tridimensional (x,y,z) Matrizes
3x3 Matriz de transformação: várias transformações
combinadas
Matrizes3
Transformações Geométricas
Dado um sistema de coordenadas, pode-se definir elementos neste sistema através de suas coordenadas Caso o sistema seja 2D
Pontos são definidos por 2 coordenadas Define-se um ponto pela sua distância
em relação ao centro dos eixos (2,1) 2 unidades distante de x=0
1 unidade distante de y=0
Representações4
Transformações Geométricas
x
y
(2,1)
1
2
Convencionalmente, representa-se um ponto na forma de um vetor linha ou vetor coluna Também corresponde à forma mais simples
de representação de uma matriz (linha ou coluna)
Representações5
Transformações Geométricas
1
21,2A
x
y
A(2,1)
1
2
Vetor linha Vetor coluna
O par pode servir para representar tanto o ponto quanto o vetor em si
Representações6
Transformações Geométricas
1
21,2A
x
y
A(2,1)
1
2
Vetor linha Vetor coluna
Diversas operações podem ser efetuadas entre pontos e vetores:1. Soma e subtração de vetores
t = v + u t = v + (- u)
Operações7
Transformações Geométricas
x
y
v
u
t=v+
u
x
y
v
-u
t=v+
(-u)
Diversas operações podem ser efetuadas entre pontos e vetores:1. Soma e subtração de vetores
t = v + u
Operações8
Transformações Geométricas
Seja u=[1,3] e v=[2,1],
o vetor resultante t=v+u será igual a:
t=[1+2,3+1] =[3,4]
Seja u=[1,3] e v=[2,1],
o vetor resultante t=v+u será igual a:
t=[1+2,3+1] =[3,4]x
y
v
u
t=v+
u
Obs: os vetores precisam ter as mesmas dimensões
Diversas operações podem ser efetuadas entre pontos e vetores:2. Multiplicação de um vetor por um escalar
(constante)u = 2v
Operações9
Transformações Geométricas
x
y
v
u=2v
v
Seja v=[2,1],
o vetor resultante u=2v será igual a:
u=[2*2,2*1] =[4,2]
Seja v=[2,1],
o vetor resultante u=2v será igual a:
u=[2*2,2*1] =[4,2]
Diversas operações podem ser efetuadas entre pontos e vetores:3. Soma de um ponto com um vetor
Q = P+v
Operações10
Transformações Geométricas
x
y
v
P
Q
Seja P=[2,3] e v=[2,-1],
o ponto resultante Q=P+v será igual a:
Q=[2+2,3-1] =[4,2]
Seja P=[2,3] e v=[2,-1],
o ponto resultante Q=P+v será igual a:
Q=[2+2,3-1] =[4,2]
Obs: os vetores e os pontosprecisam ter as mesmas dimensões
Diversas operações podem ser efetuadas entre pontos e vetores:4. Transposto de um vetor
v t
Operações11
Transformações Geométricas
x
y
v
Seja v=[3,1],
o vetor transposto resultante vt será igual a:
vt=[1,3]
Seja v=[3,1],
o vetor transposto resultante vt será igual a:
vt=[1,3]
vt
Algumas operações são também aplicadas a matrizes
Operações em Matrizes12
Transformações Geométricas
1010
1010
6473
8291
67
89
43
21
86
42
4232
2212
43
212
42
31
43
21t
Soma de matrizes Multiplicação de matriz por escalar
Transposta de uma matriz Multiplicação de matrizes
4555
2023
64737493
62817291
67
89
43
21
Obs: Algumas operações são limitadas pelo tamanho das matrizes
Podemos utilizar diferentes sistemas de coordenadas para descrever os objetos modelados em um sistema 2D Serve para nos dar uma referência de
tamanho e posição dos objetos
Introdução13
Sistemas de Coordenadas
Sistema de Referência: sistema de coordenadas cartesianas para alguma finalidade específica Deve-se especificar:
Unidade de referência básica Limites extremos dos valores aceitos para descrever os
objetos
Sistemas com denominação especial 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)
Introdução14
Sistemas de Coordenadas
Sistemas com denominação especial15
Sistemas de Coordenadas
Sistema de referência utilizado para descrever os objetos em termos das coordenadas utilizadas pelo usuário em determinada aplicação Também chamado de coordenadas do
universo, ou do mundo Ex:
Sistemas CAD de arquitetura o universo em metros ou centímetros
Sistemas CAD de mecânica de precisão o universo em milímetros ou nanômetros
Sistema de Referência do Universo (SRU)16
Sistemas de Coordenadas
Cada objeto seja (ou possua) um miniuniverso individual Particularidades dos objetos descritas em
função de seu sistema O centro deste sistema costuma coincidir
com o centro de gravidade do objeto Na modelagem de sólidos, este centro é
conhecido como pivô
Sistema de Referência do Objeto (SRO)17
Sistemas de Coordenadas
Trabalha com coordenadas normalizadas Em 2D:
0 ≤ x ≤ 1 0 ≤ y ≤ 1
Funciona como um sistema de referência intermediário entre o SRU e o SRD
Função principal: tornar a geração das imagens independente do dispositivo Coordenadas do universo são convertidas
para um sistema de coordenadas padrão normalizado
Sistema de Referência do Normalizado (SRN)18
Sistemas de Coordenadas
Utiliza coordenadas que podem ser fornecidas diretamente para um dado dispositivo de saída Ex: número de pixels de monitores
640×480, 800×600
Sistema de Referência do Dispositivo (SRD)19
Sistemas de Coordenadas
Exemplos20
Sistemas de Coordenadas
Exemplos21
Sistemas de Coordenadas
Exemplos22
Sistemas de Coordenadas
A habilidade de representar um objeto em várias posições no espaço é fundamental para compreender sua forma A possibilidade de submetê-lo a diversas
transformações é muito importante para aplicações em C.G.
As transformações geométricas podem ser aplicadas em 2D ou 3D e os tipos principais são: Translação, rotação e escala
Aplicação23
Transformações Geométricas
Transladar significa movimentar o objeto, mas como é possível movimentar um objeto completo? Um objeto é formado pelo que?
Pontos Então, para movimentar um objeto, basta
movimentar os pontos que compõem o mesmo Como os pontos de um objeto podem ser
representados em um sistema de coordenadas, basta adicionar quantidades às suas coordenadas
Translação24
Transformações Geométricas
Translação – Exemplo25
Transformações Geométricas
Translação – Formalização26
Transformações Geométricas
Imagine um ponto (x,y) que representa um objeto Pode-se mover este objeto Tx unidades em
relação ao eixo x Pode-se mover este objeto Ty unidades em
relação ao eixo y A nova posição é representada por (x’,y’) e
pode ser escrita comox’ = x + Txy’ = y + Tyx’ = x + Txy’ = y + Ty
P’ = P + T[x’ y’] = [x y] + [Tx Ty]
P’ = P + T[x’ y’] = [x y] + [Tx Ty]
Representação na forma de vetores(soma de dois vetores)
ou
Translação – Formalização27
Transformações Geométricas
Também é possível representar a translação em um espaço 3D:
x’ = x + Txy’ = y + Tyz’ = z + Tz
x’ = x + Txy’ = y + Tyz’ = z + Tz
P’ = P + T[x’ y’ z’] = [x y z] + [Tx Ty Tz]
P’ = P + T[x’ y’ z’] = [x y z] + [Tx Ty Tz]
ou
Lembre-se que esta transformação deve ser aplicada a cada um dos pontos (P) que
formam um objeto
Escalonar significa mudar as dimensões de escala, mas como é possível escalonar um objeto completo? Basta multiplicar os valores de suas
coordenadas por um fator de escala Cada um dos vetores que compõem o
objeto são multiplicados por um mesmo fator de escala
Escala28
Transformações Geométricas
Escala – Exemplo29
Transformações Geométricas
Imagine um ponto (x,y) que representa um objeto Pode-se escalonar um objeto no eixo x
aplicando um fator de escala Sx a este ponto Pode-se escalonar um objeto no eixo y
aplicando um fator de escala Sy a este ponto A novo valor de suas coordenadas é
representado por (x’,y’) e pode ser escrito como
Escala – Formalização30
Transformações Geométricas
x’ = x * Sx
y’ = y * Sy
x’ = x * Sx
y’ = y * Sy
Representação matricial(multiplicação de vetor e matriz)
ou
y
x
S
Syxyx0
0''
Escala – Formalização31
Transformações Geométricas
Também é possível representar a escala em um espaço 3D:
x’ = x * Sx
y’ = y * Sy
z’ = z * Sz
x’ = x * Sx
y’ = y * Sy
z’ = z * Sz
ou
z
y
x
S
S
S
zyxzyx
00
00
00
'''
Para aplicar uma escala em um objeto, é necessário que o objeto esteja na origem dos eixos Caso contrário, essa operação de
multiplicação também fará com que o objeto translade
Escala – Observações32
Transformações Geométricas
Transformações Geométricas
Rotacionar significa girar
Ao lado é mostrado o exemplo de rotação de um único ponto O ponto P é
rotacionado rumo ao ponto P’
33
Rotação
Rotação – Exemplo34
Transformações Geométricas
90º
Se um ponto P, distante r=(x2+y2)1/2 for rotacionado de um ângulo θ em torno da origem, suas coordenadas que antes eram definidas por: x=r*cos(φ), y=r*sen(φ), passam a ser dadas por:
Rotação35
Transformações Geométricas
x’ = r . cos(θ + φ) = r * cos φ * cos θ – r * sen φ * sen θy’ = r . sen(θ + φ) = r * sen φ * cos θ + r * cos φ * sen θ
x’ = x * cos θ – y * sen θy’ = y * cos θ + x * sen θx’ = x * cos θ – y * sen θy’ = y * cos θ + x * sen θ
Que equivale a:
Imagine um ponto (x,y) que representa um objeto Pode-se rotacionar um objeto no plano xy
de um dado ângulo θ utilizando-se as expressões obtidas no slide anterior
A novo valor de suas coordenadas é representado por (x’,y’) e pode ser escrito como
Rotação – Formalização36
Transformações Geométricas
ou
cos
cos''
sen
senyxyx
x’ = x * cos θ – y * sen θy’ = y * cos θ + x * sen θx’ = x * cos θ – y * sen θy’ = y * cos θ + x * sen θ
Para aplicar uma rotação em um objeto, é necessário que o objeto esteja na origem dos eixos Caso contrário, essa operação também fará
com que o objeto translade
Rotação – Observações37
Transformações Geométricas
Como rotacionar um objeto em torno de um dado ponto?1. Transladar este ponto para a origem dos
eixos2. Efetuar a rotação3. Transladar o ponto para sua posição original
Rotação em Torno de um Ponto38
Transformações Geométricas
Obs: a mesma idéia é aplicada à escala
É possível aplicar a rotação em qualquer plano (xy, yz, xz)
Rotação 3D39
Transformações Geométricas
y
x
z
p
p'y
x
z
p
p'
y
x
zp
p'
Pode-se criar uma transformação geométrica através da composição de várias outras
Composição de Transformações Geométricas40
Transformações Geométricas
Aplique transformações geométricas para que o objeto fique como especificado
41
Exercício
y
x
y
x