Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de...
Transcript of Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de...
![Page 1: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/1.jpg)
Animação por Computador
Capítulo 4Animação baseada
em Interpolação
CRAb – Grupo de Computação Gráfica
Departamento de ComputaçãoUFC
![Page 2: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/2.jpg)
2
Sumário do Capítulo 4
4. Introdução4.1 Sistema de key-frames4.2 Linguagens de animação4.3 Deformando objetos4.4 Interpolando formas
tridimensionais4.5 Morphing (2D)
![Page 3: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/3.jpg)
3
4. Introdução
• Metodos para especificar o movimento de objetos
• TécnicasBaixo nível vs. Alto nível
Esse capítulo Capítulos mais a frente
![Page 4: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/4.jpg)
4.1 Sistema de key-frames
![Page 5: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/5.jpg)
5
4.1 Sistema de key-frames
• Sistemas antigos: – Versão computadorizada da animação
em key-frame (por desenhistas)• Key-frame (generalização)
– Variável cujo valor é definido em um key-frame •Variáveis de articulação (avars )
• Exemplos de sistemas 3D: – TWIXT– BBOP
![Page 6: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/6.jpg)
6
4.1 Sistema de key-frames
• Usuário pode manipular as curvas:
![Page 7: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/7.jpg)
7
4.1 Sistema de key-frames
• Interpolação: – Curva → Curva– Correspondência ponto-a-ponto em
cada par de key-frame•Porém nem tem o resultado desejado
![Page 8: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/8.jpg)
8
4.1 Sistema de key-frames
![Page 9: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/9.jpg)
9
4.1 Sistema de key-frames
• Interpolação: – Curva → Curva– Correspondência curva-a-curva
•Complicado
![Page 10: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/10.jpg)
10
4.1 Sistema de key-frames
• Interpolação: – Curva → Curva– Exemplo simples
![Page 11: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/11.jpg)
11
4.1 Sistema de key-frames
• Interpolação: – Exemplo simples
•Assume-se– Uma única curva– Continua– Aberta
•Todas as propriedades devem permanecer nos frames intermediários
•Bijeção – P(0) deve ser interpolado com Q(0)– O mesmo com o ponto final e todo o
intermediário
![Page 12: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/12.jpg)
12
4.1 Sistema de key-frames
• Interpolação: – Exemplo simples
•Se fossem curvas geradas com o mesmo tipo de informação de interpolação
– Se fossem curvas de Bezier» Interpolar os pontos de controle
– Gerar as curvas com o mesmo número de pontos
» Usar interpolação ponto a ponto» Pode não dar controle suficiente para o
usuário
![Page 13: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/13.jpg)
13
4.1 Sistema de key-frames
• Interpolação: – Exemplo simples
•Restrições de ponto em movimento (moving point constraints)
– Usuário pode especificar informações» Correspondência entre os pontos» Velocidade
![Page 14: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/14.jpg)
14
4.1 Sistema de key-frames
![Page 15: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/15.jpg)
4.2 Linguagens de animação
![Page 16: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/16.jpg)
16
4.2 Linguagens de animação
• São constituídas de comandos estruturados para produzir uma animação
• A maioria é baseada em script– É composta de instruções textuais
• Algumas aceitavam inputs do usuário
![Page 17: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/17.jpg)
17
4.2 Linguagens de animação
• As primeiras linguagens de animação– Usavam linguagens “puras”
•Ex: Fortran•Não tinham suporte para animação
– Em cada animação nova era necessário» Refazer as primitivas» Estrutura de dados» Transformações» Renderizador
![Page 18: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/18.jpg)
18
4.2 Linguagens de animação
• Provêm suporte à animação– Implementam API
•OpenGL•SDL• Java APIs...•Ou alguma especializada para animação
![Page 19: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/19.jpg)
19
4.2 Linguagens de animação
• Características típicas– Input/Output de objetos gráficos– Estrutura de dados para representar os
objetos– Composição hierárquica dos objetos– Variavel de tempo– Funções de interpolação– Funções para animar hierarquias– Transformações afins– Parâmetros para especificar renderização– Especificar câmera– Habilidade de renderizar, visualizar e
guardar um ou mais frames de uma animação
![Page 20: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/20.jpg)
20
4.2 Linguagens de animação
• Vantagens em usar uma linguagem de animação– Código
•A animação pode ser refeita a qualquer hora
•Fácil copia e transmissão•Refinado interativamente
– Modificado incrementalmente– Nova animação gerada
– Abordagem algorítmica para controle de movimento
![Page 21: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/21.jpg)
21
4.2 Linguagens de animação
• Desvantagens em usar uma linguagem de animação– É necessário que o animador seja um
programador•Além de ter que entender de artes
![Page 22: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/22.jpg)
22
4.2 Linguagens de animação
• 4.2.1 Orientada a artista– Projetadas para facilitar o trabalho de
artistas não-familiares com programação•Sintaxe simples•Fácil compreensão
– Exemplo•“ANIMA II”
set position <name> <x> <y> <z> at frame <number>set rotation <name> [X,Y,Z] to <angle> at frame <number>change position <name> to <x> <y> <z> from frame <number> to frame
<number>change rotation <name> [X,Y,Z] by <angle> from frame <number> to frame
<number>
![Page 23: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/23.jpg)
23
4.2 Linguagens de animação
• 4.2.1 Orientada a artista– Têm seu poder reduzido
•Por causa da eliminação das construções de linguagem
– Desenvolvedores começaram a adicionar laços, chamadas de procedimento, suporte a estruturas de dados...•Alternativa:
– Adicionar suporte a objetos gráficos a linguagens como C, C++, Java, Python
![Page 24: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/24.jpg)
24
4.2 Linguagens de animação
• 4.2.2 Com vários recursos– Essencialmente interface de usuário
sobre o script– Intercâmbio entre:
•Comodidade– Através da interface
•Poder – Diretamente através do código
![Page 25: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/25.jpg)
25
4.2 Linguagens de animação
• 4.2.2 Com vários recursos– Exemplo
•“MEL”– Linguagem interpretada– Testes rápidos– Execução lenta– Possui
» Variáveis» Instruções de controle» Procedimentos» Expressões» Acesso à atributos do objeto» Customizar interface com o usuário
![Page 26: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/26.jpg)
26
4.2 Linguagens de animação
• 4.2.2 Com vários recursos– Exemplo
•“MEL”$number_of_cubes = 10;$delta = 10;$i = 0;while($i++ < $number_of_cubes){
polyCube;scale 1 10 1;$dist = $i*$delta;move$dist 0 0;
}
![Page 27: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/27.jpg)
27
4.2 Linguagens de animação
• 4.2.3 Variáveis de articulação– Usada em varias linguagens– Associadas com uma função
•Normalmente do tempo•Pode ser:
– Um procedimento– Calculado interativamente com funções de
interpolação
– Técnica conhecida por vários nomes•Track•Channel•Articulation Variables (avars)
![Page 28: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/28.jpg)
28
4.2 Linguagens de animação
• 4.2.3 Variáveis de articulação– Deixa o sistema interativo– Deixa que funções complexas serem
incorporadas •Associadas a certo avar
![Page 29: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/29.jpg)
29
4.2 Linguagens de animação
• 4.2.4 Linguagens Gráficas– Representam uma animação através
de uma rede dataflow
![Page 30: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/30.jpg)
30
4.2 Linguagens de animação
![Page 31: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/31.jpg)
31
4.2 Linguagens de animação
• 4.2.4 Linguagens Gráficas– Objetos, operações e suas relações
representados por um grafo acíclico•Um nó é uma operação a ser aplicada
sobre os dados recebidos do nó anterior
– Efetivo no desenvolvimento visual e na representação de dependências •Computações•Funções •Valores
![Page 32: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/32.jpg)
32
4.2 Linguagens de animação
• 4.2.5 Baseadas em Atores– Orientação a objetos
•Atores: objetos gráficos associados a geometria, atributos e movimento
– Facilita a identificação de informações que variam no decorrer do tempo
– Pode resultar em ineficiências para simulações, onde cada objeto pode afetar todos os demais
![Page 33: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/33.jpg)
33
4.3 Deformando objetos
![Page 34: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/34.jpg)
34
4.3 Deformando objetos
• Tornar a animação mais próxima da realidade – Noção de maleabilidade e densidade
• Controle preciso da forma do objeto– Não se tem isso em simulações
físicas, além de serem mais caras– Objetos com conectividade em
arestas•Key-frames deformados• Interpolação vértice-a-vértice
![Page 35: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/35.jpg)
35
4.3 Deformando objetos
• Perguntas– O que são formas?– Quando duas formas são diferentes?
• Escala uniforme não muda a forma• Transformadas afins mudam, as vezes,
a forma dos objetos– Modela
• Squash and strech• Movimentação (jiggling)• Cisalhamento
• Transformações não afins – Conseguem deformações mais interessantes
![Page 36: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/36.jpg)
36
4.3 Deformando objetos
• 4.3.1 Selecionando e puxando– Deformar um objeto
•Vértice-a-vértice– Cansativo para um grande número de vértices
•Conjunto de vértices– Mesmo deslocamento– Restritivo
![Page 37: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/37.jpg)
37
4.3 Deformando objetos
• 4.3.1 Selecionando e puxando– Usuário escolhe um ou vários vértices
semente– Há uma propagação do deslocamento
para seus vértices vizinhos•O deslocamento é atenuado ao longo da
malha– Em função da distancia da semente ao vértice
em questão
![Page 38: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/38.jpg)
38
4.3 Deformando objetos
![Page 39: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/39.jpg)
39
4.3 Deformando objetos
• 4.3.1 Selecionando e puxando– Função da distancia
•Trade off da qualidade e complexidade•Tipos:
– Usar o menor número de arestas entre a semente e o vértice
– A menor distância sobre a superfície da semente até o vértice
![Page 40: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/40.jpg)
40
4.3 Deformando objetos
• 4.3.1 Selecionando e puxando– Usuário escolhe uma função de
controle de atenuação•Potência
Onde é o numero de arestas até a semente,
é um fator de escala
• , atenuação linear• , efeito elástico• , efeito rígido
11
11
11
kk
n
i
n
iiS )(
nk
0k0k0k
![Page 41: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/41.jpg)
41
4.3 Deformando objetos
![Page 42: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/42.jpg)
42
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão– Método:
•É definido um sistema em coordenadas locais que englobe a área do objeto a ser distorcida
•É feita a distorção•É recalculado os vértices do objeto em
coordenadas globais
– É uma técnica um pouco mais intuitiva do que manipular vértice por vértice
![Page 43: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/43.jpg)
43
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Grade 2D)– Sistema em coordenadas locais:
•Grade bi-dimensional alinhada com os eixos
![Page 44: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/44.jpg)
44
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Grade 2D)
•Ponto A– Coordenadas globais: ( 25.6 , 14.7 )– Coordenadas locais: ( 5.6 , 2.7 )
![Page 45: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/45.jpg)
45
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Grade 2D)
•Após a distorção da grade é feita uma interpolação bi-linear em relação a célula
![Page 46: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/46.jpg)
46
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Grade 2D)– Interpolação Bi-linear
![Page 47: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/47.jpg)
47
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Grade 2D)– Interpolação Bi-linear
•Novo ponto A11100100
10
11011
10000
1111
1
1
1
uvPPvuvPuPvu
vPPvP
uPPuP
uPPuP
uuuv
u
u
)()())((
)(
)(
)(
1110
0100
70016001706001
7001607060
PP
PPP
)..)(..().)(..(
)..)(.().)(.(
![Page 48: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/48.jpg)
48
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Grade 2D)
•Objeto distorcido:
![Page 49: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/49.jpg)
49
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Distorção por polyline)– Sistema em coordenadas locais:
•Polyline– Linhas de fronteiras
» Em cada junção dos seguimentos de reta é feito uma linha de interseção
» Nos extremos da polyline é feito uma linha perpendicular ao último segmento de reta
» Servem para localizar o segmento de reta mais próximo de cada vértice do objeto
![Page 50: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/50.jpg)
50
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Distorção por polyline)
![Page 51: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/51.jpg)
51
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Distorção por polyline)– Mapeamento
•Cada vértice tem que saber:– A semi-reta mais próxima (L2)– A distância do ponto à semi-reta (d)– A posição relativa (r)
![Page 52: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/52.jpg)
52
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Distorção por polyline)
![Page 53: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/53.jpg)
53
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Distorção por polyline)– Após a deformação da polyline
•Reposicionamento– Uma linha imaginaria é traçada paralela a L2 a
uma distancia d– O novo ponto será colocado nesta linha com a
proporção r
![Page 54: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/54.jpg)
54
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Distorção por polyline)
![Page 55: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/55.jpg)
55
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Deformação global)– Aplica uma matriz 3x3 de
transformação , em função do vértice,
– Objeto inicial:
ppMp )('
MM p
![Page 56: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/56.jpg)
56
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Deformação global)– Afunilar
zzyzsyxzsx
zz
zzzs
zs
zs
z
y
x
ppMp
')(')('
)min()max(
)max()(
)(
)(
'
'
'
)('
:é Isto
:Onde
100
00
00
![Page 57: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/57.jpg)
57
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Deformação global)– Torcer
zz
kzykzxy
kzykzxx
k
'
)cos()sin('
)sin()cos('
torçãodefator
![Page 58: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/58.jpg)
58
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Deformação global)– Curvar
yyR
S
C
zz
zzzz
zy
zz
0
0
constrário caso
se
curvatura de Ângulo
curvatura de Centro
curvatura de Região
sin
cos
:
),(:
),(:
minmax
minmax
min
maxmin
![Page 59: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/59.jpg)
59
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Deformação global)– Curvar
maxmaxmin
maxminmin
min
maxmax
maxmin
min
)()(
)('
)()(
)('
'
zzCzzRSz
zzzRSz
zzz
z
zzSzzRCy
zzzRCy
zzy
y
xx
0
0
:por definida Deformação
![Page 60: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/60.jpg)
60
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Deformação global)– Curvar
maxmaxmin
maxminmin
min
maxmax
maxmin
min
)()(
)('
)()(
)('
'
zzCzzRSz
zzzRSz
zzz
z
zzSzzRCy
zzzRCy
zzy
y
xx
0
0
:por definida Deformação
![Page 61: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/61.jpg)
61
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Deformação global)– Observação
•As funções podem ser diferentes, depende do efeito desejado
![Page 62: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/62.jpg)
62
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Deformação global)– Combinações
![Page 63: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/63.jpg)
63
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Deformação global)– Combinações
![Page 64: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/64.jpg)
64
4.3 Deformando objetos
![Page 65: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/65.jpg)
65
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Free-form Deformation)– Deformar um objeto
•Criar um sistema de coordenadas local•Deformar o sistema local
– Mais fácil e mais intuitivo
•Mapear a deformação para o sistema de coordenadas global
![Page 66: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/66.jpg)
66
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Free-form Deformation)– Extensão da técnica de Deformação
em grade 2D• Interpolação de ordem maior
– Uma grade de pontos de controle é superposto ao objeto
![Page 67: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/67.jpg)
67
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Free-form Deformation)– Passos
•Determinar as coordenadas locais•Determinar as coordenadas de cada
vértice do objeto em relação ao sistema de coordenadas da grade
•Manipular a grade•Mapear os vértices de volta à grade
deformada– Usa interpolação cúbica (Bezier)
![Page 68: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/68.jpg)
68
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Free-form Deformation)– Mapear vértices
•Definir sistema de coordenadas local– Frame de referência: (Po, S, T, U)– (S, T, U) não são necessariamente ortogonais
![Page 69: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/69.jpg)
69
4.3 Deformando objetos
![Page 70: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/70.jpg)
70
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Free-form Deformation)– Mapear vértices
•Encontra as coordenadas do ponto nesse frame
•Coordenadas estarão no intervalo (0,1)•Ponto no espaço global
))(()()(
))(()()(
))(()()(
UTSPPTSu
TSUPPSUt
SUTPPUTx
0
0
0
uUtTsSPP 0
![Page 71: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/71.jpg)
71
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Free-form Deformation)– Novas coordenadas dos vértices do
objeto•Modificar as coordenadas dos vértices dos
objetos
n
kijk
kknm
j
jjmiill
i
Puuk
ntt
j
mss
i
lutsP
000
111),,(
![Page 72: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/72.jpg)
72
4.3 Deformando objetos
![Page 73: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/73.jpg)
73
4.3 Deformando objetos
![Page 74: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/74.jpg)
74
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Free-form Deformation)– Continuidade C¹
•Pode ser o btida entre duas grades de FFD
– Forçar os pontos de controle adjacentes para serem colineares
![Page 75: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/75.jpg)
75
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Free-form Deformation)– Outros tipos de grades
![Page 76: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/76.jpg)
76
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (FFDs Compostos)– Sequênciais
•Quebrar a deformação em pedaços•Mais fácil que criar apenas uma grade
com a deformação final desejada
![Page 77: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/77.jpg)
77
4.3 Deformando objetos
![Page 78: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/78.jpg)
78
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (FFDs Compostos)– Hierárquicos
•Algumas grades podem modificar apenas a posição de alguns vértices
•Permite maior controle em certas partes do objeto sendo deformado
![Page 79: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/79.jpg)
79
4.3 Deformando objetos
![Page 80: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/80.jpg)
80
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (FFDs Animados)– Métodos:
•Objeto atravessar um FFD•Animar os pontos de controle de um FFD
![Page 81: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/81.jpg)
81
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (FFDs Animados)– Ferramentas de deformação
•Composição de uma grade inicial com uma grade final
![Page 82: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/82.jpg)
82
4.3 Deformando objetos
![Page 83: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/83.jpg)
83
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (FFDs Animados)– Movendo a ferramenta
•Move a ferramenta de deformação ao longo do objeto, deformando seus vértices
•Bom para animações que fluem através do objeto
![Page 84: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/84.jpg)
84
4.3 Deformando objetos
![Page 85: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/85.jpg)
85
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (FFDs Animados)– Movendo o objeto
•Objeto atravessa a grade do FFD
![Page 86: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/86.jpg)
86
4.3 Deformando objetos
![Page 87: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/87.jpg)
87
4.3 Deformando objetos
![Page 88: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/88.jpg)
88
4.3 Deformando objetos
![Page 89: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/89.jpg)
89
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Animando os pontos de controle do FFD)– Métodos:
•Animação por key-frame•Baseado em simulação física
![Page 90: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/90.jpg)
90
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Animando os pontos de controle do FFD)– Animando a forma humana
•Técnica 1: artístico – Vértices da grade localizadas em relação a um
esqueleto usado para mover a figura– Os vértices da grade são reposicionados de
acordo com o esqueleto– A pele do humano move-se em função do FFD
![Page 91: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/91.jpg)
91
4.3 Deformando objetos
![Page 92: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/92.jpg)
92
4.3 Deformando objetos
Tirado de: “Fast Volume-Preserving Free Form DeformationUsing Multi-Level Optimization” - ACM Solid Modelling ‘99
![Page 93: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/93.jpg)
93
4.3 Deformando objetos
Tirado de: “Fast Volume-Preserving Free Form DeformationUsing Multi-Level Optimization” - ACM Solid Modelling ‘99
![Page 94: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/94.jpg)
94
4.3 Deformando objetos
Tirado de: “Fast Volume-Preserving Free Form DeformationUsing Multi-Level Optimization” - ACM Solid Modelling ‘99
![Page 95: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/95.jpg)
95
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Animando os pontos de controle do FFD)– Animando a forma humana
•Técnica 2: baseado fisicamente– A grade é modelada com
» Molas» Amortecedores» Pontos de massa
– Assim pode responder sofrer consequências da gravidade e dos movimentos cinemáticos
– O centro da grade é fixa ao esqueleto
![Page 96: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/96.jpg)
96
4.4 Interpolando formas tridimensionais
![Page 97: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/97.jpg)
97
4.4 Interpolando formas tridimensionais
• Interpolação de formas– Modificar um objeto em outro– Efeito muito útil
•Técnicas ainda em desenvolvimento para formas arbitrárias
– Duas categorias•Baseadas em superfície•Baseadas em volume
![Page 98: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/98.jpg)
98
4.4 Interpolando formas tridimensionais
• Interpolação de superfícies– Representação dos contornos dos
objetos– Modificação de um ou dos dois
objetos•Casamento entre as topologias vértice-
aresta
– Interpolação entre os vértices dos objetos
– Restrições nos tipos de objetos manipulados•Número de buracos
![Page 99: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/99.jpg)
99
4.4 Interpolando formas tridimensionais
• Interpolação de volumes– Considera os volumes entre os objetos
•Mistura os dois objetos
– Menos sensitivos a diferentes topologias
– Requer representação do volume•Computacionalmente intensivos
– Conectividade geralmente não considerada• Informações importantes em animações
são perdidas
– Técnicas não discutidas no livro
![Page 100: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/100.jpg)
100
4.4 Interpolando formas tridimensionais
• Termos– Objeto
•Entidade com geometria 3D de superfície
– Forma•Conjunto de pontos que define a
superfície– Espaço de objeto
– Modelo•Qualquer descrição completa da forma de
um objeto– Um objeto pode ter diferentes modelos que
descrevem sua forma
![Page 101: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/101.jpg)
101
4.4 Interpolando formas tridimensionais
• Termos– Topologia
•Dois significados– Distintos pelo contexto
•1º significado: Matemática tradicional– Conectividade da superfície de um objeto
» Número de buracos» Número de corpos separados
![Page 102: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/102.jpg)
102
4.4 Interpolando formas tridimensionais
• Termos– Topologia
•Equivalência topológica (homomorfismo)– Objetos com mesma topologia– Mapeamento entre os pontos das superfícies
» Contínuo, inversível e um para um
•Genus– Número de buracos
» Ou passagens pelo objeto
![Page 103: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/103.jpg)
103
4.4 Interpolando formas tridimensionais
• Termos– Topologia
•Dois significados– Distintos pelo contexto
•2º significado: Computação gráfica– Conectividade vértice/aresta/face
•Equivalência topológica– Objetos iguais exceto pelas coordenadas
» Geometrias diferentes
![Page 104: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/104.jpg)
104
4.4 Interpolando formas tridimensionais
• Transformação de formas– Dois subproblemas
•Problema da correspondência– Mapeamento de um vértice de um objeto para
um vértice de outro objeto» Vértice ou outro elemento geométrico
•Problema da interpolação– Sequência de objetos intermediários
» Representam visualmente a transformação
•Relação entre problemas– Interpolação entre objetos correspondentes
![Page 105: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/105.jpg)
105
4.4 Interpolando formas tridimensionais
• 4.4.1 Adaptando Topologias– Caso mais simples
•Duas formas– Mesma topologia
» Vértice-aresta– Não existe o problema da correspondência
•Problema da interpolação– Interpolação das posições dos vértices
» De um objeto para o outro
•Usado com modificação de formas– Sem modificação na topologia
» Free form deformation
![Page 106: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/106.jpg)
106
4.4 Interpolando formas tridimensionais
• 4.4.2 Poliedro estrelado– Dois poliedros estrelados
•Existe pelo menos um ponto de onde uma linha pode ser criada para qualquer ponto da superfície sem interceptá-la
•Kernel– O conjunto de pontos que enxergam todos os
pontos da superfície
![Page 107: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/107.jpg)
107
4.4 Interpolando formas tridimensionais
• 4.4.2 Poliedro estrelado– Coordenadas polares
• Indução de um mapeamento•Superfícies são amostradas
– A partir de um ponto do kernel– Distribuição regular de raios
•Objeto intermediário– Vértices
» Interseções entre os raios e as superfícies– Triângulos
» Vértices intermediários de raios adjacentes
![Page 108: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/108.jpg)
108
4.4 Interpolando formas tridimensionais
• 4.4.2 Poliedro estrelado– Coordenadas polares
• Indução de um mapeamento•Superfícies são amostradas
– A partir de um ponto do kernel– Distribuição regular de raios
•Objeto intermediário– Vértices
» Interseções entre os raios e as superfícies– Triângulos
» Vértices intermediários de raios adjacentes
![Page 109: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/109.jpg)
109
4.4 Interpolando formas tridimensionais
• 4.4.2 Poliedro estrelado– Coordenadas polares
•Distribuição de raios– Regular (anteriormente)– Entre os vértices das superfícies
![Page 110: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/110.jpg)
110
4.4 Interpolando formas tridimensionais
• 4.4.2 Poliedro estrelado– Coordenadas polares
•Distribuição de raios– Regular (anteriormente)– Entre os vértices das superfícies
![Page 111: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/111.jpg)
111
4.4 Interpolando formas tridimensionais
• 4.4.2 Poliedro estrelado– Extensão para o 3D
•Direta•É necessário a formação das definições da
superfície
![Page 112: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/112.jpg)
112
4.4 Interpolando formas tridimensionais
• 4.4.3 Fatias axiais– Eixo pelo meio do objeto
•Definido pelo usuário
– Criação das fatias (slices)• Intervalos regulares ao longo do eixo
– Fatias perpendiculares ao eixo– Devem ser polígonos estrelados– Fatias correspondentes
» Mesmo parâmetro no eixo
– Vetor de orientação•Definido pelo usuário•Perpendicular ao eixo
![Page 113: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/113.jpg)
113
4.4 Interpolando formas tridimensionais
• 4.4.3 Fatias axiais– Fatias dos objetos
• Interpoladas uma a uma– Raios emanando do eixo e amostrados na
superfície– Intervalos regulares
» Com respeito ao vetor de orientação
![Page 114: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/114.jpg)
114
4.4 Interpolando formas tridimensionais
![Page 115: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/115.jpg)
115
4.4 Interpolando formas tridimensionais
• 4.4.3 Fatias axiais– Fatias dos objetos
• Interpoladas uma a uma– Amostragem mais densa
» Maior precisão– Interpolação
» Entre pontos correspondentes» Linear ou de ordem maior
![Page 116: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/116.jpg)
116
4.4 Interpolando formas tridimensionais
• 4.4.3 Fatias axiais– Fatias dos objetos
![Page 117: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/117.jpg)
117
4.4 Interpolando formas tridimensionais
• 4.4.3 Fatias axiais– Generalização
•Eixo central segmentado– Sequência linear de segmentos de linhas
adjacentes
•Não é possível gerar um eixo– Restrição de criar polígonos estrelados
•Parametrização parecida– Pode variar o segmento do eixo
![Page 118: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/118.jpg)
118
4.4 Interpolando formas tridimensionais
![Page 119: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/119.jpg)
119
4.4 Interpolando formas tridimensionais
• 4.4.4 Mapeamento para esfera– Motivação
•Uso em objetos de genus 0•Natural pela parametrização•Tratamento após mapeamento
![Page 120: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/120.jpg)
120
4.4 Interpolando formas tridimensionais
• 4.4.4 Mapeamento para esfera– Ideia
•Mapear objetos em uma esfera– Métodos específicos– Escolha apropriada
•Construir malha combinada– Superconjunto
» Vértices» Arestas
– Triangularizadas» Originais» Gerada
![Page 121: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/121.jpg)
121
4.4 Interpolando formas tridimensionais
![Page 122: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/122.jpg)
122
4.4 Interpolando formas tridimensionais
• 4.4.4 Mapeamento para esfera– Algoritmo
•Mapear para esfera•Encontrar interseções de arestas•Ordenar interseções•Triangularizar resultado•Posições (novos vértices)
– Coordenadas baricêntricas
![Page 123: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/123.jpg)
123
4.4 Interpolando formas tridimensionais
![Page 124: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/124.jpg)
124
4.4 Interpolando formas tridimensionais
• 4.4.5 Subdivisão recursiva– Motivação
•Reduzir o número de arestas•Aproveitar coincidência de aresta
![Page 125: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/125.jpg)
125
4.4 Interpolando formas tridimensionais
• 4.4.5 Subdivisão recursiva– Ideia
•Partir cada malha•Associar vértices da borda
– Número diferente de vértices» Criar novos vértices
![Page 126: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/126.jpg)
126
4.4 Interpolando formas tridimensionais
• 4.4.5 Subdivisão recursiva– Algoritmo
•Para cada malha– Encontrar um laço– Dividir a malha em duas
•Ajustar número de vértices no contorno•Associar vértices do contorno•Aplicar recursivamente
– Compatibilizar caminhos
![Page 127: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/127.jpg)
127
4.4 Interpolando formas tridimensionais
• 4.4.5 Subdivisão recursiva– Algoritmo
•Método para escolha do contorno– Não crítico– Sugestão: Front Mesh e Back Mesh
•Método para adição de vértices– Não crítico– Influencia na qualidade– Dividir maior aresta do contorno
![Page 128: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/128.jpg)
128
4.4 Interpolando formas tridimensionais
• 4.4.5 Subdivisão recursiva– Algoritmo
•Compatibilizar caminho– Complicado– Manter associação entre vértices– Pode aumentar as malhas
» Vértices» Arestas» Faces
![Page 129: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/129.jpg)
129
4.4 Interpolando formas tridimensionais
![Page 130: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/130.jpg)
130
4.4 Interpolando formas tridimensionais
![Page 131: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/131.jpg)
131
4.4 Interpolando formas tridimensionais
![Page 132: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/132.jpg)
132
4.5 Morphing (2D)
![Page 133: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/133.jpg)
133
4.5 Morphing (2D)
• É uma técnica de posprocessamento de imagens– O usuário deve especificar elementos
correspondentes nas duas imagens• Controlar a transformação
– “Transformação” de uma imagem em outraImagem de
origemImagem de destino
![Page 134: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/134.jpg)
134
4.5 Morphing (2D)
• 4.5.1 Abordagem de Coordenada de Grade– Ideia geral:
•Tratar as imagens como texturas aplicadas sobre grades
– Faz-se, então, interpolação das grades
– Aplica-se a mistura das imagens (interpolação de cores) na grade interpolada
![Page 135: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/135.jpg)
135
4.5 Morphing (2D)
![Page 136: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/136.jpg)
136
4.5 Morphing (2D)
Imagem de origem
Imagem de destino
Interpolando a grade intermediária
para o tempo T
Deformando a imagemde destino para a
grade intermediaria
Deformando a imagem de origem para a
grade intermediaria
Cross-dissolve entre as duas
imagens
![Page 137: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/137.jpg)
137
4.5 Morphing (2D)
• 4.5.1 Abordagem de Coordenada de Grade– Algoritmo:
•Gera-se grades inicial e final de pontos de controle de curvas cúbicas (CatmullRom)
•Para cada passo do morphing:– Gera-se grade interpolada
» Interpolação linear dos pontos de controle» Interpolação de alta ordem pode ser feita
usando grades dos key-frames adjacentes– Gera-se grade auxiliar com seus pontos de
controle tendo X da grade inicial e Y da grade intermediária
– Distorce-se as imagens em X usando a grade auxiliar e, após, em Y usando a grade
![Page 138: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/138.jpg)
138
4.5 Morphing (2D)
![Page 139: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/139.jpg)
139
4.5 Morphing (2D)
– Exemplo de mapeamento de imagem na grade na coordenada X
![Page 140: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/140.jpg)
140
4.5 Morphing (2D)
– Exemplo de mapeamento de imagem na grade na coordenada X
![Page 141: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/141.jpg)
141
4.5 Morphing (2D)
– Exemplo de mapeamento de imagem na grade na coordenada Y
![Page 142: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/142.jpg)
142
4.5 Morphing (2D)
– Exemplo de mapeamento de imagem na grade na coordenada Y
![Page 143: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/143.jpg)
143
4.5 Morphing (2D)
• 4.5.1 Abordagem de Coordenada de Grade– Apos as duas imagens terem sido
deformadas•Cálculo das cores dos pixels da imagem
interpolada:
],[
]][[)(]][[]][[
10 onde
1 21
jiCjiCjiC
![Page 144: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/144.jpg)
144
4.5 Morphing (2D)
• 4.5.2 Morphing Baseado em Características– Linhas de “Características” nas
imagens são demarcadas– Essas linhas são interpoladas durante
o morphing– Para cada linha, um sistema de
coordenadas local é definido para mapeamento dos pixels
– A influência de cada linha em um pixel é ponderada pela sua distância
![Page 145: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/145.jpg)
145
4.5 Morphing (2D)
![Page 146: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/146.jpg)
146
4.5 Morphing (2D)
• 4.5.2 Morphing Baseado em Características– Cálculo das coordenadas locais
Sistema local
Pixel
![Page 147: Animação por Computador Capítulo 4 Animação baseada em Interpolação CRAb – Grupo de Computação Gráfica Departamento de Computação UFC.](https://reader038.fdocument.pub/reader038/viewer/2022110117/552fc143497959413d8dfb72/html5/thumbnails/147.jpg)
147
4.5 Morphing (2D)
• 4.5.2 Morphing Baseado em Características– Peso
•A média ponderada de cada pixel para todas as linhas é calculada para definir a nova posição pixel
dista
QQ 12w