animação por computador capítulo 4 animação baseada em interpolação crab – grupo de...
TRANSCRIPT
Animação por Computador
Capítulo 4Animação baseada
em Interpolação
CRAb – Grupo de Computação Gráfica
Departamento de ComputaçãoUFC
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)
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
4.1 Sistema de key-frames
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
6
4.1 Sistema de key-frames
• Usuário pode manipular as curvas:
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
8
4.1 Sistema de key-frames
9
4.1 Sistema de key-frames
• Interpolação: – Curva → Curva– Correspondência curva-a-curva
•Complicado
10
4.1 Sistema de key-frames
• Interpolação: – Curva → Curva– Exemplo simples
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
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
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
14
4.1 Sistema de key-frames
4.2 Linguagens de animação
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
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
18
4.2 Linguagens de animação
• Provêm suporte à animação– Implementam API
•OpenGL•SDL• Java APIs...•Ou alguma especializada para animação
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
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
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
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>
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
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
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
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;
}
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)
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
29
4.2 Linguagens de animação
• 4.2.4 Linguagens Gráficas– Representam uma animação através
de uma rede dataflow
30
4.2 Linguagens de animação
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
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
33
4.3 Deformando objetos
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
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
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
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
38
4.3 Deformando objetos
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
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
41
4.3 Deformando objetos
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
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
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 )
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
46
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Grade 2D)– Interpolação Bi-linear
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
)..)(..().)(..(
)..)(.().)(.(
48
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Grade 2D)
•Objeto distorcido:
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
50
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Distorção por polyline)
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)
52
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Distorção por polyline)
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
54
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Distorção por polyline)
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
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
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
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
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
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
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
62
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Deformação global)– Combinações
63
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Deformação global)– Combinações
64
4.3 Deformando objetos
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
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
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)
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
69
4.3 Deformando objetos
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
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),,(
72
4.3 Deformando objetos
73
4.3 Deformando objetos
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
75
4.3 Deformando objetos
• 4.3.2 Deformando um espaço de imersão (Free-form Deformation)– Outros tipos de grades
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
77
4.3 Deformando objetos
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
79
4.3 Deformando objetos
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
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
82
4.3 Deformando objetos
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
84
4.3 Deformando objetos
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
86
4.3 Deformando objetos
87
4.3 Deformando objetos
88
4.3 Deformando objetos
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
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
91
4.3 Deformando objetos
92
4.3 Deformando objetos
Tirado de: “Fast Volume-Preserving Free Form DeformationUsing Multi-Level Optimization” - ACM Solid Modelling ‘99
93
4.3 Deformando objetos
Tirado de: “Fast Volume-Preserving Free Form DeformationUsing Multi-Level Optimization” - ACM Solid Modelling ‘99
94
4.3 Deformando objetos
Tirado de: “Fast Volume-Preserving Free Form DeformationUsing Multi-Level Optimization” - ACM Solid Modelling ‘99
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
96
4.4 Interpolando formas tridimensionais
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
114
4.4 Interpolando formas tridimensionais
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
116
4.4 Interpolando formas tridimensionais
• 4.4.3 Fatias axiais– Fatias dos objetos
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
118
4.4 Interpolando formas tridimensionais
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
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
121
4.4 Interpolando formas tridimensionais
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
123
4.4 Interpolando formas tridimensionais
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
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
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
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
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
129
4.4 Interpolando formas tridimensionais
130
4.4 Interpolando formas tridimensionais
131
4.4 Interpolando formas tridimensionais
132
4.5 Morphing (2D)
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
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
135
4.5 Morphing (2D)
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
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
138
4.5 Morphing (2D)
139
4.5 Morphing (2D)
– Exemplo de mapeamento de imagem na grade na coordenada X
140
4.5 Morphing (2D)
– Exemplo de mapeamento de imagem na grade na coordenada X
141
4.5 Morphing (2D)
– Exemplo de mapeamento de imagem na grade na coordenada Y
142
4.5 Morphing (2D)
– Exemplo de mapeamento de imagem na grade na coordenada Y
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
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
145
4.5 Morphing (2D)
146
4.5 Morphing (2D)
• 4.5.2 Morphing Baseado em Características– Cálculo das coordenadas locais
Sistema local
Pixel
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