Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouSamuel Goncalves Alterado mais de 9 anos atrás
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
2
Sumário do Capítulo 4 4. Introdução 4.1 Sistema de key-frames
4.2 Linguagens de animação 4.3 Deformando objetos 4.4 Interpolando formas tridimensionais 4.5 Morphing (2D)
3
4. Introdução Metodos para especificar o movimento de objetos Técnicas
Baixo nível vs. Alto nível Esse capítulo Capítulos mais a frente 3
4
4.1 Sistema de key-frames
5
4.1 Sistema de key-frames Sistemas antigos: Key-frame (generalização)
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 5
6
4.1 Sistema de key-frames Usuário pode manipular as curvas: 6
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 7
8
4.1 Sistema de key-frames 8
9
4.1 Sistema de key-frames Interpolação: Curva → Curva
Correspondência curva-a-curva Complicado 9
10
4.1 Sistema de key-frames Interpolação: Curva → Curva Exemplo simples
10
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 11
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 12
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 13
14
4.1 Sistema de key-frames 14
15
4.2 Linguagens de animação
15
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 16
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 17
18
4.2 Linguagens de animação
Provêm suporte à animação Implementam API OpenGL SDL Java APIs... Ou alguma especializada para animação 18
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 19
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 20
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 21
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> 22
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 23
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 24
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 25
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 ; $dist = $i*$delta; move$dist 0 0; } 26
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) 27
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 28
29
4.2 Linguagens de animação
4.2.4 Linguagens Gráficas Representam uma animação através de uma rede dataflow 29
30
4.2 Linguagens de animação
30
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 31
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 32
33
4.3 Deformando objetos 33
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 34
35
4.3 Deformando objetos Perguntas Escala uniforme não muda a forma
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 35
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 36
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 37
38
4.3 Deformando objetos 38
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 39
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 40
41
4.3 Deformando objetos 41
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 42
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 43
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 ) 44
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 45
46
4.3 Deformando objetos 4.3.2 Deformando um espaço de imersão (Grade 2D) Interpolação Bi-linear 46
47
4.3 Deformando objetos 4.3.2 Deformando um espaço de imersão (Grade 2D) Interpolação Bi-linear Novo ponto A 47
48
4.3 Deformando objetos 4.3.2 Deformando um espaço de imersão (Grade 2D) Objeto distorcido: 48
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 49
50
4.3 Deformando objetos 4.3.2 Deformando um espaço de imersão (Distorção por polyline) 50
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) 51
52
4.3 Deformando objetos 4.3.2 Deformando um espaço de imersão (Distorção por polyline) 52
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 53
54
4.3 Deformando objetos 4.3.2 Deformando um espaço de imersão (Distorção por polyline) 54
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: 55
56
4.3 Deformando objetos 4.3.2 Deformando um espaço de imersão (Deformação global) Afunilar 56
57
4.3 Deformando objetos 4.3.2 Deformando um espaço de imersão (Deformação global) Torcer 57
58
4.3 Deformando objetos 4.3.2 Deformando um espaço de imersão (Deformação global) Curvar 58
59
4.3 Deformando objetos 4.3.2 Deformando um espaço de imersão (Deformação global) Curvar 59
60
4.3 Deformando objetos 4.3.2 Deformando um espaço de imersão (Deformação global) Curvar 60
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 61
62
4.3 Deformando objetos 4.3.2 Deformando um espaço de imersão (Deformação global) Combinações 62
63
4.3 Deformando objetos 4.3.2 Deformando um espaço de imersão (Deformação global) Combinações 63
64
4.3 Deformando objetos 64
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 65
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 66
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) 67
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 68
69
4.3 Deformando objetos 69
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 70
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 71
72
4.3 Deformando objetos 72
73
4.3 Deformando objetos 73
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 74
75
4.3 Deformando objetos 4.3.2 Deformando um espaço de imersão (Free-form Deformation) Outros tipos de grades 75
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 76
77
4.3 Deformando objetos 77
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 78
79
4.3 Deformando objetos 79
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 80
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 81
82
4.3 Deformando objetos 82
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 83
84
4.3 Deformando objetos 84
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 85
86
4.3 Deformando objetos 86
87
4.3 Deformando objetos 87
88
4.3 Deformando objetos 88
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 89
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 90
91
4.3 Deformando objetos 91
92
4.3 Deformando objetos Tirado de: “Fast Volume-Preserving Free Form Deformation Using Multi-Level Optimization” - ACM Solid Modelling ‘99 92
93
4.3 Deformando objetos Tirado de: “Fast Volume-Preserving Free Form Deformation Using Multi-Level Optimization” - ACM Solid Modelling ‘99 93
94
4.3 Deformando objetos Tirado de: “Fast Volume-Preserving Free Form Deformation Using Multi-Level Optimization” - ACM Solid Modelling ‘99 94
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 95
96
4.4 Interpolando formas tridimensionais
96
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 97
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 98
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 99
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 100
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 101
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 102
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 103
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 104
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 105
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 106
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 107
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 108
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 109
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 110
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 111
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 Perpendicular ao eixo 112
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 113
114
4.4 Interpolando formas tridimensionais
114
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 115
116
4.4 Interpolando formas tridimensionais
4.4.3 Fatias axiais Fatias dos objetos 116
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 117
118
4.4 Interpolando formas tridimensionais
118
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 119
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 120
121
4.4 Interpolando formas tridimensionais
121
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 122
123
4.4 Interpolando formas tridimensionais
123
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 124
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 125
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 126
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 Influencia na qualidade Dividir maior aresta do contorno 127
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 128
129
4.4 Interpolando formas tridimensionais
129
130
4.4 Interpolando formas tridimensionais
130
131
4.4 Interpolando formas tridimensionais
131
132
4.5 Morphing (2D) 132
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 outra Imagem de origem Imagem de destino 133
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 134
135
4.5 Morphing (2D) 135
136
4.5 Morphing (2D) Deformando a imagem de destino para a grade intermediaria Imagem de destino Interpolando a grade intermediária para o tempo T Cross-dissolve entre as duas imagens Imagem de origem Deformando a imagem de origem para a grade intermediaria 136
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 137
138
4.5 Morphing (2D) 138
139
4.5 Morphing (2D) Exemplo de mapeamento de imagem na grade na coordenada X 139
140
4.5 Morphing (2D) Exemplo de mapeamento de imagem na grade na coordenada X 140
141
4.5 Morphing (2D) Exemplo de mapeamento de imagem na grade na coordenada Y 141
142
4.5 Morphing (2D) Exemplo de mapeamento de imagem na grade na coordenada Y 142
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: 143
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 144
145
4.5 Morphing (2D) 145
146
4.5 Morphing (2D) 4.5.2 Morphing Baseado em Características
Cálculo das coordenadas locais Sistema local Pixel 146
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 147
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.