1 / 147

Animação por Computador Capítulo 4 Animação baseada em Interpolação

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

iren
Download Presentation

Animação por Computador Capítulo 4 Animação baseada em Interpolação

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Animação por ComputadorCapítulo 4Animaçã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

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

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

  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 A

  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)

More Related