Animação por Computador
•
•
•
•
•
Sólidos
Transformações lineares
Hierarquia de movimento
Parametrização da orientação
Interpolação da orientação
1
Animação por Computador
• Considera-se sólido como conjunto de
pontos com posições fixas em relação a
um sistema de eixos local (local frame)
Animação por Computador
• Sólidos
• Posição de um ponto sobre um sólido é definida
complemente por:
– Coordenadas no sistema de eixos local
– Transformação linear que especifica a posição do
sistema de eixos coordenados local (local frame) no
sistema de eixos „de referência“ (global)
2
Animação por Computador
• Coordenadas Homogéneas
– Pontos e vectores são especificados através
de 4 valores
– Ponto:
– Vector:
P: (x,y,z,1)
v: (x,y,z,0)
– Matrizes de transformação permitem aplicar
transformações lineares
T(p) = (x,y,z,1)T
Animação por Computador
• Matrizes de transformação
– Permitem juntar rotação translação e escalamento
(scaling) de uma forma sucinta
– Exemplo
• Rotação em torno de eixo k
seguida de
• Translação ao longo de i
3
Animação por Computador
• Combinação de transformações
– A matriz que representa uma transformação
composta é o produto das matrizes das
transformações elementares
Exemplo: rotação em j, escalamento e
translação segundo k
Animação por Computador
• Projecção sobre um sistema de eixos
4
Animação por Computador
• Projecção de sistemas de eixos inversa
Animação por Computador
• Curiosidade:
– Hierarquia de sistemas coordenados
– Sistemas de eixos podem ser definidos
recursivamente
– A composição não é comutativa
5
Animação por Computador
• Matrizes de rotação
– Propriedades
– 9 valores, 6 relações – 3 parâmetros
independentes
Animação por Computador
• Matrizes não se prestam à interpolação
6
Animação por Computador
• Modelização de orientações
– Ângulos de Euler: especificar 3 rotações em
termos de 3 direcções independentes
Animação por Computador
• Ângulos de Euler
– Podem ter 12 combinações diferentes
XYZ, XZY, XZX, ...
• Matriz de rotação no caso XYZ
Rodar em X, a seguir em Y e depois em Z
7
Animação por Computador
• Problemas com ângulos de Euler
– Existência de configurações singulares
• Pode-se perder um grau de liberdade (dof)
– Exemplo com Rx = -Rz:
Animação por Computador
• Problemas com ângulos de Euler
– Não-unicidade
• Ex: R(π,0,0) = R(0, π, π)
• Interpolação separada de ângulos
independentes pode, de vez em quando,
criar resultados inesperados
8
Animação por Computador
• Modelo eixo-ângulo
– Existe sempre uma rotação segundo um dado
eixo que conduz de uma orientação até outra
– Pode-se modelar as orientações como (α,u)
• Usa 3 parâmetros independentes
– Como realizar a interpolação?
Animação por Computador
• Quaternions
– Extensão dos números complexos
– Quaternions unitários
9
Animação por Computador
• Modelização usando quaternions
– Eixo, ângulo de rotação
– Vectores num espaço a 3D
Animação por Computador
• Para realizar rotações
• O produto de 2 quaternions
• Rotação de um vector P
• Matriz-operador
10
Animação por Computador
• Analogias com vectores 3D
– Composição
– Inverso
– Produto com escalar
Animação por Computador
• Analogias com vectores 3D
– Distância
– Interpolação
– Médio
11
Animação por Computador
• Aproximação iterativa a splines
Animação por Computador
• Interpolação gradual de quaternions
– Por analogia com aproximação a splines
consegue-se caminho aproximativo por troços
lineares quase contínuo
12
Animação por Computador
• Utilização dos vários modelos de rotação
– Matrizes
• Projecções são eficientes
– Ângulos de Euler
• Modelização intuitiva
• Controlo independente
– Quaternions
• Boas interpolações
Animação por Computador
• Na prática
• Maioria dos toolkits oferece interfaces (ângulo,
eixo)
• Pode-se simular ângulos de Euler usando uma
hierarquia de sistemas de eixos (por ordem
inversa) e rodando segundo o eixo desejado
• Ex: ângulos Euler XYZ
13
Download

Animação por Computador