animação por computador capítulo 4 animação baseada em interpolação crab – grupo de...

Post on 21-Apr-2015

107 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

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

top related