1 / 186

Animação por Computador Capítulo 7 Animação Fisicamente Baseada

Animação por Computador Capítulo 7 Animação Fisicamente Baseada. CRAb – Grupo de Computação Gráfica Departamento de Computação UFC. Sumário do Capítulo 7. 7. Introdução 7.1 Física básica - Revisão 7.2 Spring Mesh 7.3 Sistema de partículas 7.4 Simulação de corpo rígido

star
Download Presentation

Animação por Computador Capítulo 7 Animação Fisicamente Baseada

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 7Animação Fisicamente Baseada CRAb – Grupo de Computação Gráfica Departamento de Computação UFC

  2. Sumário do Capítulo 7 7. Introdução 7.1 Física básica - Revisão 7.2 Spring Mesh 7.3 Sistema de partículas 7.4 Simulação de corpo rígido 7.5 Forçando restrições flexíveis e rígidas

  3. 7. Introdução • Animadores normalmente se preocupam mais com a qualidade geral do movimento do que com a posição e orientação de cada objeto • Em animação fisicamente baseada, as forças mantêm a relação entre os objetos geométricos • As forças nem sempre são precisas, mas a preocupação está no realismo • Algumas forças não são relacionadas a física • Restrições dadas pelo animador

  4. 7. Introdução • Como escolher o tipo de abordagem? • Exemplo: Dobras de uma roupa • Modelando a mão • Pode ser modelado na tentativa de caracterizar as dobras em locais que normalmente se encontram • Computacionalmente mais barato • Mais fácil de programar • Sem flexibilidade • Modelando a física • A física dos fios do tecido podem ser modelada em detalhe suficiente para que as dobras surgirem naturalmente • Computacionalmente muito caro • Flexível • O animador deve escolher o mais barato possível, que consiga dar o efeito necessário

  5. 7. Introdução • Vantagens de usar física • Os animadores só precisam se preocupar com especificações de alto nível • Usando o exemplo da roupa • Não precisa especificar onde as dobras ficam • Especifica os parâmetros do material

  6. 7.1 Física básica - Revisão

  7. 7.1 Física básica - Revisão • Física baseada nas Leis de Newton • Relação entre força, aceleração e massa • O animador deve especificar todas as forças que podem acontecer no ambiente • Deve-se determinar todas as forças agindo em cada objeto • Aceleração dele será calculada

  8. 7.1 Física básica - Revisão • Com a velocidade corrente, e a nova aceleração: • A nova posição: Onde: força, aceleração, velocidade e posição podem ser vetores

  9. 7.1 Física básica - Revisão • Várias forças devem ser levadas em consideração • Gravidade entre dois corpos • Se a terra for um dos objetos

  10. 7.1 Física básica - Revisão • Molas • São usadas para: • Modelar objetos flexíveis • Manter dois objetos a uma distância precisa • Quando fixadas a um objeto transmite uma força dependendo da sua localização relativa ao outro objeto ligado a mola • A constante da mola determina o quanto uma mola reage para mudar seu comprimento • Rigidez

  11. 7.1 Física básica - Revisão • Amortecedor • É ligado também a dois objetos • Trabalha contra a velocidade relativa entre eles • Viscosidade • Similar ao amortecedor • Resistência a velocidade do objeto • Momento linear • Em um sistema fechado, é conservado

  12. 7.1 Física básica - Revisão • Torque • Equivalente a força em rotações • Existe velocidade angular e aceleração angular • A massa do objeto é uma medida de sua resistência ao movimento • O momento de inércia mede a resistência do objeto a mudar sua orientação • Matriz 3x3 que descreve a distribuição da massa em volta do centro de massa

  13. 7.1 Física básica - Revisão • 7.1.1 Simulando um sistema massa-mola-amortecedor • Equação simples • É necessário • Ter um passo de tempo apropriado • Dar valor as constantes da mola e de amortecimento • Definir a massa do objeto

  14. 7.1 Física básica - Revisão • 7.1.1 Simulando um sistema massa-mola-amortecedor • Exemplo: • Definições • Pequeno passo de tempo • Grande massa • Alta constante de amortecimento • Baixa constante da mola • Resultado • Sistema que move-se lentamente para um ponto fixo, indo cada vez mais devagar

  15. 7.1 Física básica - Revisão • 7.1.1 Simulando um sistema massa-mola-amortecedor • Exemplo: • Definições • Grande passo de tempo • Pouca massa • Baixa constante de amortecimento • Alta constante da mola • Resultado • Sistema que move-se muito. • A massa oscila em um ponto fixo indo cada vez mais longe dele

  16. 7.2 Spring Mesh

  17. 7.2 Spring Mesh • 7.2.1 Objetos flexíveis • Foram propostas várias abordagens para tratar: • Comportamentos elásticos • Comportamentos inelásticos • Viscoelasticidade • Plasticidade • Fraturas • Flexibilidade

  18. 7.2 Spring Mesh • 7.2.1 Objetos flexíveis (modelados por massa-mola-amortecedor) • Modelagem • Cada vértice do objeto é um ponto de massa • Distribuída igualmente pelo objeto levando em consideração o seu formato • Cada aresta é uma mola • O tamanho de repouso é igual ao tamanho original da aresta • As constantes são arbitrárias • Normalmente uniformes por todo o objeto

  19. 7.2 Spring Mesh • 7.2.1 Objetos flexíveis (modelados por massa-mola-amortecedor) • Forças externas são aplicadas aos vértices • Devido a: • Colisão • Gravidade • Vento • Forças definidas explicitamente • Causando ‘ondas’ de deformação

  20. 7.2 Spring Mesh • 7.2.1 Objetos flexíveis (modelados por massa-mola-amortecedor) • Desvantagem • As características do objeto influenciam na sua reação

  21. 7.2 Spring Mesh • 7.2.1 Objetos flexíveis (modelados por massa-mola-amortecedor) • Exemplo bidimensional • A força é aplicada somente em um passo de tempo

  22. 7.2 Spring Mesh • 7.2.1 Objetos flexíveis (modelados por massa-mola-amortecedor) • Exemplo bidimensional • A força aplicada entre os vértices é baseada na Lei de Hooke • Dependendo do tamanho das forças, constante da mola e do passo de tempo a simulação pode divergir numericamente • Controlar usando: • Um passo de tempo menor • Constante de mola menor • Massas maiores • Introdução de amortecimento

  23. 7.2 Spring Mesh • 7.2.1 Objetos flexíveis (amortecedores) • Amortecedores de molas fazem força oposta e proporcional as velocidades relativas dos pontos-finais • Ajuda a controlar quando a mola aumenta demais seu tamanho

  24. 7.2 Spring Mesh • 7.2.1 Objetos flexíveis (amortecedores) • Modelando-se objeto com amortecedores de molas nas arestas • Existe mais de uma configuração estável • Exemplo: Cubo modelado somente com molas • Pode virar do avesso • A inclusão de amortecedores pode ajudar a estabilizar • Pode haver inclusão de molas dentro do cubo • Cisalhamento • Modelar o material interno do sólido

  25. 7.2 Spring Mesh • 7.2.1 Objetos flexíveis (amortecedores) • Se um ângulo especifico entre duas faces (ângulos diedro) é requerido, pode-se usar uma mola (e amortecedor) angular • A mola resiste a distorção do ângulo de repouso e transmite um torque • Amortecedor limita o movimento • Exemplo: • Também poderia colocar uma mola entre os pontos

  26. 7.2 Spring Mesh • 7.2.2 Molas virtuais • Introduzem forças no sistema que não modela diretamente elementos físicos • Usado para controlar o movimento do objeto • Exemplos: • Uma mola de cumprimento de repouso igual a zero • Restringe um objeto a ficar na superfície de outro • Sem ser zero • Faz com que dois objetos mantenham uma certa distância

  27. 7.2 Spring Mesh • 7.2.2 Molas virtuais • Controle proporcional derivativo (proportional derivative controllers - PDCs) • São um tipo de molas virtuais • Usado para controlar variáveis e suas derivadas • Exemplo: Manter o angulo e velocidade de uma junta perto dos valores desejados

  28. 7.2 Spring Mesh • 7.2.2 Molas virtuais • Desvantagem do uso de molas, amortecedores e PDCs • É difícil para o usuário escolher boas constantes • Desvantagem do uso de spring mesh • O efeito da força passa por toda a malha

  29. 7.3 Sistema de partículas

  30. 7.3 Sistema de partículas • Coleção de uma grande quantidade de elementos parecidos com ponto • São feitas simplificações nas suposições • Não sofrem auto-colisão • Não causam sombra • Exceto em conjunto • Somente no ambiente • Não refletem luz • São pontos de luz • Modeladas com um tempo curto de vida • Aleatoriedade

  31. 7.3 Sistema de partículas • Algoritmo em alto nível para cada frame • Cria novas partículas durante um frame • São dados atributos às partículas • As partículas que gastaram todo o tempo de vida atribuído são extintas • Partículas ativas são animadas e seus parâmetros de sombreamento são mudados de acordo com o processo • As partículas são renderizadas

  32. 7.3 Sistema de partículas

  33. 7.3 Sistema de partículas • 7.3.1 Geração de partículas • Tipicamente controlado por um processo estocástico • Para cada frame é gerado um número aleatório de partículas • Centrado em uma média dada pelo usuário • Distribuição é feita de acordo com o usuário • Uniforme • Gaussiana • Formulas Onde n é a média de partículas, r modifica a variação, A a área da tela, Rand() função aleatória que retorna entre -1 e 1

  34. 7.3 Sistema de partículas • 7.3.2 Atributos das partículas • Indica o estado da partícula • Exemplos • Atualizado com o movimento • Posição • Velocidade • Controlam a aparência • Parâmetros de forma • Cor • Transparência • Tempo de vida • Inicializados na criação • Valores aleatórios (controlados)

  35. 7.3 Sistema de partículas • 7.3.3 Extinção das partículas • O tempo de vida é diminuído a cada frame • Quando chegar a zero, a partícula é removida do sistema • Usado para manter o número de partículas ativas dentro de um certo valor

  36. 7.3 Sistema de partículas • 7.3.4 Animação das partículas • Todos os seus atributos podem ser alterados • É considerado as forças atuantes, a aceleração resultante é calculada • Atualização da velocidade e posição • Forças • Gravidade • Campo de forças globais • Ex: Vento • Campo de forças locais • Ex: Vórtice • Colisão

  37. 7.3 Sistema de partículas • 7.3.4 Animação das partículas • Cor e transparência podem ser funções do tempo • Formato pode ser função da velocidade tempo velocidade

  38. 7.3 Sistema de partículas • 7.3.5 Renderização das partículas • Simplificação • Cada partícula é um ponto de luz • A densidade de partículas entre uma posição do espaço e uma fonte de luz é usado para estimar o sombreamento

  39. 7.3 Sistema de partículas • 7.3.6 Sistema de representação de partículas • Partícula • x: posição • v: velocidade • f: força acumulada • m: massa • Idade, caso necessário

  40. 7.3 Sistema de partículas • 7.3.6 Sistema de representação de partículas • O estado da partícula, , será atualizado resolvendo ODE (equações diferenciais ordinárias), usando • Pode ser usado qualquer método • Caixa preta

  41. 7.3 Sistema de partículas • 7.3.6 Sistema de representação de partículas • Sistema • P: lista de partículas • n: número de partículas • t: tempo corrente

  42. 7.3 Sistema de partículas • 7.3.6 Sistema de representação de partículas • Atualização • Zera a força (calculada anteriormente) de todas as partículas • Calcula o somatório das forças • Pega o estado anterior das partículas • Calcula o novo estado • Atualiza o estado • Salva o estado • Incrementa o tempo do sistema

  43. 7.3 Sistema de partículas • 7.3.7 Forças nas partículas • Tipos • Unária • Gravidade • Viscosidade • Par de partícula • Mola • Amortecedor • Podem pode ser caro computacionalmente fazer isso para todos os pares • Ambiente • Colisão

  44. 7.3 Sistema de partículas • 7.3.8 Tempo de vida das partículas • Cada partícula tem um tempo de vida • A estrutura de uma partícula extinta pode ser reusada • Podem existir por volta de 10 mil partículas na simulação, porém por volta de mil estarão ativas ao mesmo tempo • Controle para que os valores iniciais sejam pseudo-aleatórios

  45. 7.4 Simulação de corpo rígido

  46. 7.4 Simulação de corpo rígido • Objetivo em CG: • Criar movimentos que pareçam realísticos • Reação às forças baseada em física de corpos rígidos • Modelar movimentos • Animação em kyeframe é tarefa difícil • Solução: • Incorporar equações de movimento para calcular automaticamente as reações

  47. 7.4 Simulação de corpo rígido • Ação das forças relativas a... • Posição relativa do objeto • Gravidade • Colisão • Velocidade • Viscosidade • Posição absoluta • Vento

  48. 7.4 Simulação de corpo rígido • Tais forças induzem acelerações lineares e angulares no objeto • Derivadas da velocidade • Integrar a aceleração em um certo espaço de tempo pra achar a mudança na velocidade • Velocidade • Derivada da posição • Integrar a velocidade em um certo espaço de tempo para achar a mudança na posição • O processo se repete a cada espaço de tempo

  49. 7.4 Simulação de corpo rígido Calculo de forças ventogravidade viscosidade ... Propriedades do objeto posiçãovelocidades angular e linearmomento angular e linearmassa ... Calculo das mudanças posição velocidade Momento ... Calculo das acelerações baseado na massa

  50. 7.4 Simulação de corpo rígido • Objetos em queda livre são simulações de corpo rígido • Se torna complexo com • Colisões • Rolar • Deslizar sobre outro • Problema em modelar algo contínuo em passos de tempo discreto • Trade-off entre a precisão e eficiência computacional

More Related