Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador...
Transcript of Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador...
![Page 1: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/1.jpg)
Alberto Raposo – PUC-Rio
INF 1366 – Computação Gráfica Interativa
Animação por Computador
Alberto B. Raposo
http://www.tecgraf.puc-rio.br/~abraposo/INF1366
![Page 2: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/2.jpg)
Alberto Raposo – PUC-Rio
Animação ?Animação ?
Modificação no tempo de parâmetros, de tal forma que possamos perceber este “movimento” de forma natural.
• Movimento de objetos• Metamorfose• Variação da cor• Variação da intensidade da luz
![Page 3: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/3.jpg)
Alberto Raposo – PUC-Rio
Exemplo – Tecgraf / Petrobras
![Page 4: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/4.jpg)
Alberto Raposo – PUC-Rio
TRADICIONAL
Sistemas de Pintura
Editores Gráficos
Sistemas de Interpolação
Controle de Câmera, etc.
AUXILIADA (2D)
KEYFRAMING
CINEMÁTICA
DINÂMICA
Máquinas de Estado
Campos Potenciais
Inteligência Artificial
Biológico, etc.
Outros Modelos
PROCEDIMENTAL(Local / Global)
MODELADA (3D)
POR COMPUTADOR
ANIMAÇÃO
![Page 5: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/5.jpg)
Alberto Raposo – PUC-Rio
Animação Tradicional
• Desenha-se cada quadro da animação– Grande controle– Trabalhoso
• Animação por células (cel animation)– Camadas, keyframe,
inbetween…
![Page 6: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/6.jpg)
Alberto Raposo – PUC-Rio
Animação Auxiliada por Computador
• Parte da renderização, do cálculo das interpolações, etc. é feita no computador.
![Page 7: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/7.jpg)
Alberto Raposo – PUC-Rio
Animação Modelada por Computador
• Keyframing• Procedural
– Baseada em física• Cinemática (direta e inversa)• Dinâmica (direta e inversa)
– Motion Capture
• Comportamental• Outras técnicas
![Page 8: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/8.jpg)
Alberto Raposo – PUC-Rio
Keyframing
• Animação gerada a partir da interpolação de quadros-chave– Automatiza o “inbetweening”– Bom controle– Menos trabalhosa que tradicional– Ainda requer muito “talento” dos animadores
![Page 9: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/9.jpg)
Alberto Raposo – PUC-Rio
Keyframing
•Descrição dos movimentos dos objetos como função no tempo de um conjunto de posições-chave.
•Em resumo: computar os quadros intermediários
ACM © 1987 “Principles of traditional animation applied to 3D computer animation”
( )s t
MIT EECS 6.837, Durand and Cutler
![Page 10: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/10.jpg)
Alberto Raposo – PUC-Rio
Keyframing
• Usa-se interpolação linearou então a interpolação dealguma curva para a geração do movimento
x t
t t t
8-degree polynomial
spline spline vs. polynomial
0 0 0( , , )x y t
1 1 1( , , )x y t
2 2 2( , , )x y t
MIT EECS 6.837, Durand and Cutler
![Page 11: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/11.jpg)
Alberto Raposo – PUC-Rio
Interpolação de Key Frames
• A interpolação (porsplines, por ex.) podegerar interpenetraçõesindesejadas– “Talento” do animador
precisa corrigir esses eoutros problemas dainterpolação de quadros
ACM © 1987 “Principles of traditional animation applied to 3D computer animation”
![Page 12: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/12.jpg)
Alberto Raposo – PUC-Rio
VRML – Animação por Interpolação
usuário clicasobre um objeto
TouchSensor TimeSensor
starta cada
pulso derelógio
PositionInterpolator
novaposição
calculafunçãode interpolação
Nógeométrico
move
![Page 13: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/13.jpg)
Alberto Raposo – PUC-Rio
VRML - Tipos de Parâmetros e Roteamento de Eventos
• Cada nó VRML define um nome, um tipo e um valor default para seus parâmetros.
• Parâmetros são os reponsáveis pela diferenciação de um nó de outro do mesmo tipo.
– Exemplogeometry Sphere { radius 2 }
geometry Sphere { radius 3 }
![Page 14: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/14.jpg)
Alberto Raposo – PUC-Rio
VRML - Tipos de Parâmetros e Roteamento de Eventos (2)
• Há dois tipos de parâmetros: campos (fields) e eventos (events)
• Campos podem ser modificáveis (exposedFields) ou não (fields)
exposedField = eventIn + field + eventOut
![Page 15: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/15.jpg)
Alberto Raposo – PUC-Rio
VRML - Tipos de Parâmetros e Roteamento de Eventos (3)
• Eventos sinalizam mudanças causadas por “estímulos externos” e podem ser propagados entre os nós do ambiente através de roteamentos que conectam um EventOut a um EventIn do mesmo tipo
EventOut
EventOut
Nó 1
EventOut
EventIn
EventIn
Nó 2
Nó 3
EventIn
Nó 4
![Page 16: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/16.jpg)
Alberto Raposo – PUC-Rio
VRML - Tipos de Parâmetros e Roteamento de Eventos (4)
• Eventos gerados por sensores e interpoladores, roteados para nós geométricos, de iluminação ou de agrupamento, podem definir comportamentos dinâmicos para os elementos do ambiente
usuário clicasobre um objeto
TouchSensor TimeSensor
starta cada
pulso derelógio
PositionInterpolator
novaposição
calculafunçãode interpolação
Nógeométrico
move
![Page 17: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/17.jpg)
Alberto Raposo – PUC-Rio
VRML/X3D - Interpoladores
• Interpolam LINEARMENTE valores para geração de animação
• Ex: <ScalarInterpolator key=“0 0.2 0.4 0.6 0.8 1” keyValue=“0 5 8 9 4 0” />
![Page 18: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/18.jpg)
Alberto Raposo – PUC-Rio
VRML/X3D - Interpoladores
<ScalarInterpolator key=“0 0.25, 0.25 0.5, 0.5 1” keyValue=“1 1, 2 2, 3 4” />
<ColorInterpolator key=“0, 0.33333, 0.666666, 1” keyValue=“1 0 0, 0 1 0, 0 0 1, 1 0 0” />
![Page 19: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/19.jpg)
Alberto Raposo – PUC-Rio
VRML/X3D - Interpoladores
• ScalarInterpolator
• ColorInterpolator
• PositionInterpolator
• OrientationInterpolator
![Page 20: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/20.jpg)
Alberto Raposo – PUC-Rio
VRML/X3D - Interpoladores
• NormalInterpolator
• CoordinateInterpolator
• PositionInterpolator2D
• CoordinateInterpolator2D
![Page 21: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/21.jpg)
Alberto Raposo – PUC-Rio
X3D Interpoladores - Exemplos
![Page 22: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/22.jpg)
Alberto Raposo – PUC-Rio
VRML - Sensores (1)
• Geram eventos baseados nas ações do usuário• Exemplos
• ProximitySensor detecta quando o usuário está navegando em uma região próxima ao objeto de interesse
• VisibilitySensor detecta quando certa parte do mundo (área ou objeto específico) torna-se visível ao usuário.
![Page 23: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/23.jpg)
Alberto Raposo – PUC-Rio
VRML - Sensores (2)
• Exemplos (cont.)
• TimeSensor gera eventos como passos de tempo e em conjunto com interpoladores pode produzir animações
TimeSensor {
cycleInterval 1
enabled TRUE
loop FALSE
startTime 0
stopTime 0
}
![Page 24: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/24.jpg)
Alberto Raposo – PUC-Rio
VRML - Sensores (3)
• Exemplos (cont.)
• TouchSensor detecta quando um objeto do grupo do seu pai é ativado (clique do mouse, por exemplo). Esse sensor gera um evento de saída chamado touchTime que pode disparar um timeSensor, iniciando uma animação.
TouchSensor {
enabled TRUE
}
![Page 25: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/25.jpg)
Alberto Raposo – PUC-Rio
Exemplo TouchSensor
isActive (button-down) touchTime (button-up)
![Page 26: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/26.jpg)
Alberto Raposo – PUC-Rio
PlaneSensor
• Converte movimento de “select-and-drag” do ponteiro em translação 2D no plano z=0.– Quando usado “roteado” no
campo translation de um Transform, pode ser usado para “carregar” objetos filhos do Transform.
PlaneSensor
![Page 27: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/27.jpg)
Alberto Raposo – PUC-Rio
CylinderSensor
• Converte movimento de “select-and-drag” do ponteiro em rotação em torno do eixo y.– Quando usado “roteado” no
campo rotation de um Transform, pode ser usado para “girar” objetos filhos do Transform.
CylinderSensor
![Page 28: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/28.jpg)
Alberto Raposo – PUC-Rio
SphereSensor
• Converte movimento de “select-and-drag” do ponteiro em rotação 3D em torno da origem.– Quando usado “roteado” no campo
rotation de um Transform, pode ser usado para “girar” objetos filhos do Transform.
![Page 29: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/29.jpg)
Alberto Raposo – PUC-Rio
Outros sensores
• KeySensor– Detecta eventos de teclas
• StringSensor– Pega strings (todos os caracteres até o usuário
dar “Enter”)
![Page 30: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/30.jpg)
Alberto Raposo – PUC-Rio
VRML – Exemplo 1 (1)
#VRML V2.0 utf8# Quando a bola for tocada (mouse) o texto
# irá mover-se na horizontal e quando a caixa for tocada o # texto irá mover-se na vertical
Viewpoint { position 0 0 50 } # observador
Group {
children [
Transform {
translation -4 8 0
children [
Shape { # bola
geometry Sphere { radius 1.5 }
appearance Appearance {
material Material {
diffuseColor .73 .56 .56 }
}
}
# Sensor da bola
DEF STOUCH TouchSensor { } ] }
Transform {
translation 4 8 0
children [
Shape {
geometry Box { size 2 2 2 } # caixa
appearance Appearance {
material Material { diffuseColor 0 1 0 }
}
}
# Sensor da caixa
DEF BTOUCH TouchSensor { }
]
}
# Sensores de Tempo
DEF XTIMERH TimeSensor { cycleInterval 2 }
DEF XTIMERV TimeSensor { cycleInterval 2 }
![Page 31: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/31.jpg)
Alberto Raposo – PUC-Rio
VRML – Exemplo 1 (2)
# Interpoladores
# Horizontal
DEF ANIMAH PositionInterpolator { key [ 0, .25, .5, .75, 1] keyValue [ 0 0 0, 8 0 0, 16 0 0, -8 0 0, 0 0
0 ] }
# Vertical
DEF ANIMAV PositionInterpolator { (…) }
# Texto
DEF SFORM Transform { children Shape { geometry Text { string [ “Virtual” ] fontStyle FontStyle { style “BOLD” justify “MIDDLE” }
length [7]
maxExtent 20
} } } ] }
# Bola
ROUTE STOUCH.touchTime TO XTIMERH.set_startTime
ROUTE XTIMERH.fraction_changed TO ANIMAH.set_fraction
ROUTE ANIMAH.value_changed TO
SFORM.set_translation
# Caixa
ROUTE BTOUCH.touchTime TO XTIMERV.set_startTime
ROUTE XTIMERV.fraction_changed TO ANIMAV.set_fraction
ROUTE ANIMAV.value_changed TO
SFORM.set_translation
![Page 32: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/32.jpg)
Alberto Raposo – PUC-Rio
VRML – Exemplo 1 (3)
touchTime
TouchSensor(esfera)
TimeSensor(XTIMERH)
startTime
fraction_changed
PositionInterpolator(ANIMAH)
value_changed
set_fractionTexto
translation
touchTime
TouchSensor(caixa)
TimeSensor(XTIMERV)
startTime
fraction_changed
PositionInterpolator(ANIMAV)
value_changed
set_fraction
![Page 33: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/33.jpg)
Alberto Raposo – PUC-Rio
VRML – Exemplo 1 (4)
![Page 34: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/34.jpg)
Alberto Raposo – PUC-Rio
Princípios da Animação Tradicional
•Artigo clássico de John Lasseter (presidente da Pixar e diretor de Toy Story, Vida de Inseto, Monstros S.A…):
– "Principles of Traditional Animation Applied to 3D Computer Graphics,“ SIGGRAPH'87, pp. 35-44.
![Page 35: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/35.jpg)
Alberto Raposo – PUC-Rio
Squash e stretch
• Squash: achatar objeto ou personagem com seu próprio peso
• Stretch: aumenta senso de velocidade e enfatiza squash por contraste
![Page 36: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/36.jpg)
Alberto Raposo – PUC-Rio
Timing•Timing é afetado pelo peso:
– Objeto leve move rápido
– Objeto mais pesado move mais lentamente
• Linha de escala de tempo paracontrolar o desenho dos quadrosintermediários.
![Page 37: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/37.jpg)
Alberto Raposo – PUC-Rio
Animação Procedimental
• Animação descrita por algoritmo– Animação como função de um número de
parâmetros
• Ex: bouncing ball• Abs(sin(t+0))*e-kt
MIT EECS 6.837, Durand and Cutler
![Page 38: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/38.jpg)
Alberto Raposo – PUC-Rio
CINEMÁTICA:Descrição de um movimento através de equações do tipo:
deslocamento = f (tempo)
sen, cos, ...
A discretização no tempo associará o deslocamentoa um determinado instante (quadro) da animação.
![Page 39: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/39.jpg)
Alberto Raposo – PUC-Rio
Ex. de Animação Cinemática: Pêndulo Simples
Na figura:
: ângulo entre o pêndulo e a normal
l : comprimento do fio que sustenta a esfera de massa qualquerg : valor da gravidade
O fio que sustenta a esfera é inextensível e de massa desprezível.
![Page 40: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/40.jpg)
Alberto Raposo – PUC-Rio
A equação que descreve o modelo do pêndulo simples é:
Trata-se de uma equação diferencial não linear !
Para simplificar a solução, adotar (para pequenas amplitudes):
sen( )
d
dt
g
l
2
2
sen( )
![Page 41: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/41.jpg)
Alberto Raposo – PUC-Rio
Solução:
onde:
= (g / l) 1 / 2
k = amplitude inicial do movimento (constante)
= fase inicial do movimento (constante)
k tcos( )
![Page 42: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/42.jpg)
Alberto Raposo – PUC-Rio
DINÂMICA:Descrição de um movimento através de equações do tipo:
deslocamento = f (tempo, forças, torque)
A discretização no tempo associará o deslocamentoa um determinado instante (quadro) da animação.
![Page 43: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/43.jpg)
Alberto Raposo – PUC-Rio
Um modelo dinâmico pode ser aplicado a uma animação de forma a termos uma simulação visual.
Vantagens:• Maior “grau de realismo” do movimento.• Possibilidade de simulação de um grande número de fenômenos físicos.
Desvantagens:• Modelo mais complexo.• Maior no. de variáveis com as quais o usuário terá de interagir.• O “animador” deve dominar alguns conhecimentos de Mecânica.• O resultado visual nem sempre compensa o alto custo dosmodelos dinâmicos.
![Page 44: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/44.jpg)
Alberto Raposo – PUC-Rio
Exemplo: Amortecedor
O modelo abaixo representa, simplificadamente o amortecedor:
Fmola
Fatrito
Fexterna
Fresultante = Fexterna + Fmola + Fatrito
![Page 45: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/45.jpg)
Alberto Raposo – PUC-Rio
Fresultante = Fexterna + Fmola + Fatrito
md x
dtF k x b
dx
dtexterna 2
2
x é a posição do objeto em movimento,m é a massa do objeto em movimento,k é a constante de elasticidade da mola,b é o coeficiente de atrito viscoso do pistão do amortecedor eFexterna é a força externa aplicada ao conjunto
![Page 46: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/46.jpg)
Alberto Raposo – PUC-Rio
O modelo descrito pode ser discretizado na forma:
dx
dtx
x x
t
d x
dt
x x
t
x x x
t
ii i
i i i i i
1
2
21 1 2
2
2
( )
onde t equivale ao intervalo de amostragem.
![Page 47: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/47.jpg)
Alberto Raposo – PUC-Rio
Logo:
Finalmente:
mx x x
t
F k x bx x
t
i i i
ext ii i
2 1 22
1
xt F b t m x m x
m k t b tiext i i
21 2
2
2( )
![Page 48: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/48.jpg)
Alberto Raposo – PUC-Rio
Modelos Articulados•Modelos Articulados:
– Partes rígidas
– Conectadas por juntas
•Podem ser animados especificando-se os ângulos das juntas como função do tempo.
t1 t2
qi q ti ( )
t1 t2
MIT EECS 6.837, Durand and Cutler
![Page 49: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/49.jpg)
Alberto Raposo – PUC-Rio
Cinemática Direta
•Descreve as posições das partes do corpo em função dos ângulos das juntas.
1 DOF: joelho1 DOF: joelho 2 DOF: punho2 DOF: punho 3 DOF: braço3 DOF: braço
MIT EECS 6.837, Durand and Cutler
![Page 50: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/50.jpg)
Alberto Raposo – PUC-Rio
DOF: Degree of Freedom (Graus de Liberdade)
MIT EECS 6.837, Durand and Cutler
![Page 51: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/51.jpg)
Alberto Raposo – PUC-Rio
Cinemática Direta
![Page 52: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/52.jpg)
Alberto Raposo – PUC-Rio
Cinemática Inversa
• Dada a posição da extremidade e uma posição final desejada, como mudar os parâmetros das juntas?
– Cálculo mais difícil que o da cinemática direta– Mais de uma solução
sS p v
vsvs
, , , , ,h h h h h hx y z q f s
, ,t t tq f s
cq
,ffq fwv
MIT EECS 6.837, Durand and Cutler
![Page 53: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/53.jpg)
Alberto Raposo – PUC-Rio
Cinemática Inversa
Resultado nem sempreé único
![Page 54: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/54.jpg)
Alberto Raposo – PUC-Rio
Cinemática Inversa
![Page 55: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/55.jpg)
Alberto Raposo – PUC-Rio
Dinâmica Inversa
• Dinâmica direta: usa forças para criar o movimento
• Dinâmica inversa: calculas as forças necessárias para realizar um movimento
http://www.squiresoftgames.com/invdyn/
![Page 56: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/56.jpg)
Alberto Raposo – PUC-Rio
Outras formas de animação em VRML
• EAI
• Script Node
usuário clicasobre um objeto
TouchSensor TimeSensor
starta cada
pulso derelógio
Script
novaposiçãot
Nógeométrico
move
f(t) (qualquer)
Programa externo
![Page 57: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/57.jpg)
Alberto Raposo – PUC-Rio
Animação no POVRAY
• Possui um relógio, usado como timer da animação• Pode-se usar valor do clock nas transformações
(rotação, translação, etc.)• Gera-se sequência de imagens BMPs numeradas,
que podem ser “montadas” em um AVI, MPEG, GIF, etc. com outro programa
• Manual do POVRAY, seção 2.3.8
![Page 58: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/58.jpg)
Alberto Raposo – PUC-Rio
Captura de Movimentos
• Maior realismo: nuances, movimentos súbtos, estilo...
• Observar algum movimento.
MIT EECS 6.837, Durand and Cutler
![Page 59: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/59.jpg)
Alberto Raposo – PUC-Rio
Animação Comportamental
• Personagens autônomos determinam suas próprias ações, pelo menos até certo ponto.
http://accad.osu.edu/~mlewis/Class/behavior.html
![Page 60: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/60.jpg)
Alberto Raposo – PUC-Rio
Animação de Partículas [Reeves, 1983]
Start Trek, The Wrath of Kahn
![Page 61: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/61.jpg)
Alberto Raposo – PUC-Rio
Objetos Deformáveis
• Formas se deformam com o contato• Problema precisa ser discretizado
Debunne et al. 2001
![Page 62: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/62.jpg)
Alberto Raposo – PUC-Rio
Animação de Roupas
•Discretização
•Equações físicas
•Integração
•Detecção de colisão
Meyer et al. 2001
![Page 63: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/63.jpg)
Alberto Raposo – PUC-Rio
Animação de roupas
http://www.cs.caltech.edu/~mmeyer/Research/Cloth/
![Page 64: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/64.jpg)
Alberto Raposo – PUC-Rio
Simulação de Fluidos
•Discretização do volume do fluido•Equações de Navier Stokes•Integração numérica•Desafios:
– Integração robusta, estabilidade– Velocidade– Superfícies realísticas
Fedkiw et al. 2001
Enright et al. 2002MIT EECS 6.837, Durand and Cutler
![Page 65: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/65.jpg)
Alberto Raposo – PUC-Rio
Animação de Cabelos
http://www-faculty.cs.uiuc.edu/~yyz/research/hair/
![Page 66: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/66.jpg)
Alberto Raposo – PUC-Rio
Como são feitos os filmes?
•A maior parte em keyframing
•Figuras articuladas com cinemática inversa
•Skinning – Pele deformável, músculos
•Controles hierárquicos– Olhos piscando, etc.
•Grande parte do tempo gasto com modelagem 3D, os esqueletos e seus controles
•Simulação física para movimentos secundários– Cabelos, roupas, líquidos, sistemas de partículas
Maya tutorial
MIT EECS 6.837, Durand and Cutler
![Page 67: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/67.jpg)
Alberto Raposo – PUC-Rio
Stuart Little
• Modelagem
![Page 68: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/68.jpg)
Alberto Raposo – PUC-Rio
Stuart Little
• Fluido
![Page 69: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/69.jpg)
Alberto Raposo – PUC-Rio
Stuart Little
• Sistemas dePartículas
![Page 70: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/70.jpg)
Alberto Raposo – PUC-Rio
Stuart Little
• Animação Facial
![Page 71: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/71.jpg)
Alberto Raposo – PUC-Rio
Stuart Little
• Pelos
![Page 72: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/72.jpg)
Alberto Raposo – PUC-Rio
Stuart Little
• Roupas
![Page 73: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/73.jpg)
Alberto Raposo – PUC-Rio
Números – Final Fantasy
http://www.arstechnica.com/wankerdesk/01q3/ff-interview/ff-interview-2.html
![Page 74: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/74.jpg)
Alberto Raposo – PUC-Rio
Números – Final Fantasy
• Personagens principais > 300.000 polys• 3.000.000 renders (se cada quadro fosse
renderiazado apenas 1 vez)– Normalmente, foram 5 revisões de renderizações– Tempo de renderização de 1 quadro = 90 min
• 934.162 dias de render em 1 CPU– Usaram 1200 CPUs = 778 dias de renderização
![Page 75: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/75.jpg)
Alberto Raposo – PUC-Rio
Final Fantasy
• Software de renderização: Renderman (Pixar)
• Modelagem: Maya
• Cabelos– Modelados como splines
![Page 76: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/76.jpg)
Alberto Raposo – PUC-Rio
Exemplo – Paul Debevec
http://www.debevec.org
![Page 77: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc10b497959413d8c2775/html5/thumbnails/77.jpg)
Alberto Raposo – PUC-Rio
Bibliografia Adicional
• A. Watt, M. Watt. “Advanced Animation and Rendering Techniques”. Addison-Wesley, 1992
• N. M. Thalmann. “Computer animation: Theory and Practice”. Springer, 1990
• M. Giambruno. “3D Graphics & Animation”.New Riders, 2002