A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

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 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 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

4 4.1 Sistema de key-frames

5 5 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 6 4.1 Sistema de key-frames Usuário pode manipular as curvas:

7 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 8 4.1 Sistema de key-frames

9 9 Interpolação: –Curva → Curva –Correspondência curva-a-curva Complicado

10 Sistema de key-frames Interpolação: –Curva → Curva –Exemplo simples

11 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 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 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 Sistema de key-frames

15 4.2 Linguagens de animação

16 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 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 Linguagens de animação Provêm suporte à animação –Implementam API OpenGL SDL Java APIs... Ou alguma especializada para animação

19 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 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 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 Linguagens de animação 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 at frame set rotation [X,Y,Z] to at frame change position to from frame to frame change rotation [X,Y,Z] by from frame to frame

23 Linguagens de animação 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 Linguagens de animação 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 Linguagens de animação 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 Linguagens de animação 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; }

27 Linguagens de animação 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 Linguagens de animação Variáveis de articulação –Deixa o sistema interativo –Deixa que funções complexas serem incorporadas Associadas a certo avar

29 Linguagens de animação Linguagens Gráficas –Representam uma animação através de uma rede dataflow

30 Linguagens de animação

31 Linguagens de animação 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 Linguagens de animação 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 Deformando objetos

34 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 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 Deformando objetos 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 Deformando objetos 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 Deformando objetos

39 Deformando objetos 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 Deformando objetos 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

41 Deformando objetos

42 Deformando objetos 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 Deformando objetos Deformando um espaço de imersão (Grade 2D) –Sistema em coordenadas locais: Grade bi-dimensional alinhada com os eixos

44 Deformando objetos Deformando um espaço de imersão (Grade 2D) Ponto A –Coordenadas globais: ( 25.6, 14.7 ) –Coordenadas locais: ( 5.6, 2.7 )

45 Deformando objetos 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 Deformando objetos Deformando um espaço de imersão (Grade 2D) –Interpolação Bi-linear

47 Deformando objetos Deformando um espaço de imersão (Grade 2D) –Interpolação Bi-linear Novo ponto A

48 Deformando objetos Deformando um espaço de imersão (Grade 2D) Objeto distorcido:

49 Deformando objetos 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 Deformando objetos Deformando um espaço de imersão ( Distorção por polyline )

51 Deformando objetos 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 Deformando objetos Deformando um espaço de imersão ( Distorção por polyline )

53 Deformando objetos 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 Deformando objetos Deformando um espaço de imersão ( Distorção por polyline )

55 Deformando objetos 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:

56 Deformando objetos Deformando um espaço de imersão ( Deformação global ) –Afunilar

57 Deformando objetos Deformando um espaço de imersão ( Deformação global ) –Torcer

58 Deformando objetos Deformando um espaço de imersão ( Deformação global ) –Curvar

59 Deformando objetos Deformando um espaço de imersão ( Deformação global ) –Curvar

60 Deformando objetos Deformando um espaço de imersão ( Deformação global ) –Curvar

61 Deformando objetos Deformando um espaço de imersão ( Deformação global ) –Observação As funções podem ser diferentes, depende do efeito desejado

62 Deformando objetos Deformando um espaço de imersão ( Deformação global ) –Combinações

63 Deformando objetos Deformando um espaço de imersão ( Deformação global ) –Combinações

64 Deformando objetos

65 Deformando objetos 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 Deformando objetos 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 Deformando objetos 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 Deformando objetos 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 Deformando objetos

70 Deformando objetos 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

71 Deformando objetos 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

72 Deformando objetos

73 Deformando objetos

74 Deformando objetos 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 Deformando objetos Deformando um espaço de imersão ( Free-form Deformation ) –Outros tipos de grades

76 Deformando objetos 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 Deformando objetos

78 Deformando objetos 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 Deformando objetos

80 Deformando objetos Deformando um espaço de imersão ( FFDs Animados ) –Métodos: Objeto atravessar um FFD Animar os pontos de controle de um FFD

81 Deformando objetos Deformando um espaço de imersão ( FFDs Animados ) –Ferramentas de deformação Composição de uma grade inicial com uma grade final

82 Deformando objetos

83 Deformando objetos 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 Deformando objetos

85 Deformando objetos Deformando um espaço de imersão ( FFDs Animados ) –Movendo o objeto Objeto atravessa a grade do FFD

86 Deformando objetos

87 Deformando objetos

88 Deformando objetos

89 Deformando objetos 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 Deformando objetos 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 Deformando objetos

92 Deformando objetos Tirado de: “Fast Volume-Preserving Free Form Deformation Using Multi-Level Optimization” - ACM Solid Modelling ‘99

93 Deformando objetos Tirado de: “Fast Volume-Preserving Free Form Deformation Using Multi-Level Optimization” - ACM Solid Modelling ‘99

94 Deformando objetos Tirado de: “Fast Volume-Preserving Free Form Deformation Using Multi-Level Optimization” - ACM Solid Modelling ‘99

95 Deformando objetos 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 Interpolando formas tridimensionais

97 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 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 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 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 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 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 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 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 Interpolando formas tridimensionais 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 Interpolando formas tridimensionais 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 Interpolando formas tridimensionais 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 Interpolando formas tridimensionais 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 Interpolando formas tridimensionais Poliedro estrelado –Coordenadas polares Distribuição de raios –Regular (anteriormente) –Entre os vértices das superfícies

110 Interpolando formas tridimensionais Poliedro estrelado –Coordenadas polares Distribuição de raios –Regular (anteriormente) –Entre os vértices das superfícies

111 Interpolando formas tridimensionais Poliedro estrelado –Extensão para o 3D Direta É necessário a formação das definições da superfície

112 Interpolando formas tridimensionais 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 Interpolando formas tridimensionais 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 Interpolando formas tridimensionais

115 Interpolando formas tridimensionais 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 Interpolando formas tridimensionais Fatias axiais –Fatias dos objetos

117 Interpolando formas tridimensionais 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 Interpolando formas tridimensionais

119 Interpolando formas tridimensionais Mapeamento para esfera –Motivação Uso em objetos de genus 0 Natural pela parametrização Tratamento após mapeamento

120 Interpolando formas tridimensionais 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 Interpolando formas tridimensionais

122 Interpolando formas tridimensionais 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 Interpolando formas tridimensionais

124 Interpolando formas tridimensionais Subdivisão recursiva –Motivação Reduzir o número de arestas Aproveitar coincidência de aresta

125 Interpolando formas tridimensionais Subdivisão recursiva –Ideia Partir cada malha Associar vértices da borda –Número diferente de vértices »Criar novos vértices

126 Interpolando formas tridimensionais 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 Interpolando formas tridimensionais 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 Interpolando formas tridimensionais Subdivisão recursiva –Algoritmo Compatibilizar caminho –Complicado –Manter associação entre vértices –Pode aumentar as malhas »Vértices »Arestas »Faces

129 Interpolando formas tridimensionais

130 Interpolando formas tridimensionais

131 Interpolando formas tridimensionais

132 Morphing (2D)

133 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

134 Morphing (2D) 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 Morphing (2D)

136 Morphing (2D) Imagem de origem Imagem de destino Interpolando a grade intermediária para o tempo T Deformando a imagem de destino para a grade intermediaria Deformando a imagem de origem para a grade intermediaria Cross-dissolve entre as duas imagens

137 Morphing (2D) 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 Morphing (2D)

139 Morphing (2D) –Exemplo de mapeamento de imagem na grade na coordenada X

140 Morphing (2D) –Exemplo de mapeamento de imagem na grade na coordenada X

141 Morphing (2D) –Exemplo de mapeamento de imagem na grade na coordenada Y

142 Morphing (2D) –Exemplo de mapeamento de imagem na grade na coordenada Y

143 Morphing (2D) Abordagem de Coordenada de Grade –Apos as duas imagens terem sido deformadas Cálculo das cores dos pixels da imagem interpolada:

144 Morphing (2D) 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 Morphing (2D)

146 Morphing (2D) Morphing Baseado em Características –Cálculo das coordenadas locais Sistema local Pixel

147 Morphing (2D) 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


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google