Aula 3
–
–
Transformações Geométricas
Sistemas de Coordenadas
Prof. Leandro Taddeo
Transformações Geométricas
Introdução
2

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
T
10 unidades
Transformações Geométricas
Matrizes
3

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
Transformações Geométricas
Representações
4

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
y
 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
(2,1)
1
x
2
Transformações Geométricas
Representações
5

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)
y
2
A  2,1   
1
A
(2,1)
1
x
2
Vetor linha
Vetor coluna
Transformações Geométricas
Representações
6

O par pode servir para representar tanto o ponto
quanto o vetor em si
y
2
A  2,1   
1
A
(2,1)
1
x
2
Vetor linha
Vetor coluna
Transformações Geométricas
Operações
7

Diversas operações podem ser efetuadas entre
pontos e vetores:
1.
Soma e subtração de vetores
t=v+u
t = v + (- u)
y
y
u
v
v
x
-u
x
Transformações Geométricas
Operações
8

Diversas operações podem ser efetuadas entre
pontos e vetores:
1.
Soma e subtração de vetores
t=v+u
Seja u=[1,3] e v=[2,1],
y
o vetor resultante t=v+u
será igual a:
u
t=[1+2,3+1] =[3,4]
v
x
Obs: os vetores precisam ter
as mesmas dimensões
Transformações Geométricas
Operações
9

Diversas operações podem ser efetuadas entre
pontos e vetores:
2.
Multiplicação de um vetor por um escalar (constante)
u = 2v
Seja v=[2,1],
y
o vetor resultante u=2v
será igual a:
v
u=[2*2,2*1] =[4,2]
v
x
Transformações Geométricas
Operações
10

Diversas operações podem ser efetuadas entre
pontos e vetores:
3.
Soma de um ponto com um vetor
Q = P+v
Seja P=[2,3] e v=[2,-1],
y
P
v
o ponto resultante
Q=P+v será igual a:
Q
Q=[2+2,3-1] =[4,2]
x
Obs: os vetores e os pontos
precisam ter as mesmas dimensões
Transformações Geométricas
Operações
11

Diversas operações podem ser efetuadas entre
pontos e vetores:
4.
Transposto de um vetor
v
t
Seja v=[3,1],
y
o vetor transposto
resultante vt será igual a:
vt
vt=[1,3]
v
x
Transformações Geométricas
Operações em Matrizes
12

Algumas operações são também aplicadas a
matrizes
Multiplicação de matriz por escalar
Soma de matrizes
1 2 9 8 1  9 2  8 10 10
3 4  7 6  3  7 4  6  10 10

 
 
 

Transposta de uma matriz
t
1 2 1 3
3 4  2 4

 

1 2  2 1 2  2 2 4
2 
  2  3 2  4  6 8
3
4

 
 

Multiplicação de matrizes
1 2 9 8 1 9  2  7 1 8  2  6  23 20
3 4  7 6  3  9  4  7 3  7  4  6  55 45

 
 
 

Obs: Algumas operações são limitadas pelo tamanho das matrizes
Sistemas de Coordenadas
Introdução
13

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
Sistemas de Coordenadas
Introdução
14

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)

Sistemas de Coordenadas
Sistemas com denominação especial
15
Sistemas de Coordenadas
Sistema de Referência do Universo (SRU)
16

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:
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
 Sistemas
Sistemas de Coordenadas
Sistema de Referência do Objeto (SRO)
17

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ô
Sistemas de Coordenadas
Sistema de Referência do Normalizado (SRN)
18

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
Sistemas de Coordenadas
Sistema de Referência do Dispositivo (SRD)
19

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
Sistemas de Coordenadas
Exemplos
20
Sistemas de Coordenadas
Exemplos
21
Sistemas de Coordenadas
Exemplos
22
Transformações Geométricas
Aplicação
23

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
Transformações Geométricas
Translação
24

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
Transformações Geométricas
Translação – Exemplo
25
Transformações Geométricas
Translação – Formalização
26

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 como
x’ = x + Tx
y’ = y + Ty
ou
P’ = P + T
[x’ y’] = [x y] + [Tx Ty]
Representação na forma de vetores
(soma de dois vetores)
Transformações Geométricas
Translação – Formalização
27

Também é possível representar a translação em um
espaço 3D:
x’ = x + Tx
y’ = y + Ty
z’ = z + Tz
ou
P’ = P + T
[x’ y’ z’] = [x y z] + [Tx Ty Tz]
Lembre-se que esta transformação deve
ser aplicada a cada um dos pontos (P) que
formam um objeto
Transformações Geométricas
Escala
28

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
Transformações Geométricas
Escala – Exemplo
29
Transformações Geométricas
Escala – Formalização
30

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
x’ = x * Sx
y’ = y * Sy
ou
x '
y '  x
S x
y 
0
0
S y 
Representação matricial
(multiplicação de vetor e matriz)
Transformações Geométricas
Escala – Formalização
31

Também é possível representar a escala em um
espaço 3D:
x’ = x * Sx
y’ = y * Sy
z’ = z * Sz
ou
x '
y ' z '  x
y
S x
z  0

 0
0
Sy
0
0
0

S z 
Transformações Geométricas
Escala – Observações
32

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
Transformações Geométricas
Rotação
33


Rotacionar significa
girar
Ao lado é mostrado o
exemplo de rotação
de um único ponto
O
ponto P é
rotacionado rumo ao
ponto P’
Transformações Geométricas
Rotação – Exemplo
34
90º
Transformações Geométricas
Rotação
35

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:
x’ = r . cos(θ + φ) = r * cos φ * cos θ – r * sen φ * sen θ
y’ = r . sen(θ + φ) = r * sen φ * cos θ + r * cos φ * sen θ
Que equivale a:
x’ = x * cos θ – y * sen θ
y’ = y * cos θ + x * sen θ
Transformações Geométricas
Rotação – Formalização
36

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
x’ = x * cos θ – y * sen θ
y’ = y * cos θ + x * sen θ
ou
x '
y '  x
 cos
y 
 sen
sen 
cos 
Transformações Geométricas
Rotação – Observações
37

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
Transformações Geométricas
Rotação em Torno de um Ponto
38

Como rotacionar um objeto em torno de um dado
ponto?
1.
2.
3.
Transladar este ponto para a origem dos eixos
Efetuar a rotação
Transladar o ponto para sua posição original
Obs: a mesma idéia é aplicada à escala
Transformações Geométricas
Rotação 3D
39

É possível aplicar a rotação em qualquer plano (xy,
yz, xz)
y
y
p'
y
p
p
x
z
x
p'
z
x
p'
z
p
Transformações Geométricas
Composição de Transformações Geométricas
40

Pode-se criar uma transformação geométrica
através da composição de várias outras
Exercício
41

Aplique transformações geométricas para que o
objeto fique como especificado
y
y
x
x
Download

Aula 04 - Transformações Geométricas