Académique Documents
Professionnel Documents
Culture Documents
p1
u = 0.25
p11
p02
p01
p0 p2
Algoritmo de De Casteljau
p1
u = 0.5
p02
p01 p11
p0 p2
Algoritmo de De Casteljau
p1
u = 0.75
p01
p02 p11
p0 p2
Algoritmo de De Casteljau
p1
p0 p2
Algoritmo de De Casteljau
A curva obtida pode ser entendida como a mistura dos
pontos p0, p1 e p2 por intermdio de trs funes
quadrticas:
b02(u) = (1 u) 2
b12(u) = 2 u (1 u)
b22(u) = u2
Aplicando mais uma vez a idia podemos definir uma cbica
por 4 pontos
p02(u) = (1 u) 2 p0 + 2 u (1 u) p1 + u2 p2
p12(u) = (1 u) 2 p1 + 2 u (1 u) p2 + u2 p3
p03(u) = (1 u) p02 (u) + u p12 (u)
= (1 u) 3 p0 + 3 u (1 u)2 p1 + 3 u2 (1 u) p2 + u3 p3
Algoritmo de De Casteljau
p1 p3
p02(u)
p03 p12(u)
p0
u = 0.25
p2
Algoritmo de De Casteljau
p1 p3
p02(u)
p03
p12(u)
p0
u = 0.5
p2
Algoritmo de De Casteljau
p1 p3
p03
p02(u)
p12(u)
p0
u = 0.75
p2
Algoritmo de De Casteljau
p1 p3
p03(u)
p02(u)
p12(u)
p0
p2
Algoritmo de De Casteljau
Novamente temos uma curva dada pela soma de 4
funes de mistura (agora cbicas), cada uma
multiplicada por um dos 4 pontos
b03(u) = (1 u) 3
b13(u) = 3 u (1 u)2
b23(u) = 3 u2 (1 u)
b33(u) = u3
Em geral, uma curva de grau n pode ser construda
desta forma e ser expressa por
n
p 0 n (u ) b j n (u ) p j
j 0
Curvas de Bzier e Polinmios de Bernstein
As curvas construdas pelo algoritmo de De Casteljau so conhecidas
como curvas de Bzier e as funes de mistura so chamadas de base
Bzier ou polinmios de Bernstein
Observamos que os polinmios de Bernstein de grau n tm como
forma geral bi n(u) = ci ui (1 u)ni
Se escrevermos as constantes ci para os diversos polinmios, teremos
1o grau: 1 1
2o grau: 1 2 1
3o grau: 1 3 3 1
4o grau: 1 4 6 4 1
Vemos que o padro de formao corresponde ao Tringulo de
Pascal e portanto, podemos escrever
n i
bi n (u ) u (1 u ) n i
i
Polinmios de Bernstein
Polinmios de Bernstein de grau 3
1
0.9
0.8
0.7
b03(u)
0.6
b13(u)
0.5
b23(u)
0.4
b33(u)
0.3
0.2
0.1
0
0 0.2 0.4 0.6 0.8 1
u
Forma Matricial da Base Bzier
Podemos escrever a equao para uma curva de
Bzier cbica na forma
p 0
p
p(u ) p 03 (u ) [1 u u 2 u 3 ] M B `1
p 2
p 3
onde M B a matriz de coeficientes da base Bzier
1 0 0 0
3 3 0 0
MB
3 6 3 0
1 3 3 1
Propriedades de Curva de Bzier
Continuidade infinita (todas as derivadas so contnuas)
O grau da curva (do polinmio) dado pelo nmero de pontos
do polgono de controle menos 1
A curva de Bzier est contida no fecho convexo do polgono
de controle
Os polinmios de Bernstein somam 1 para qualquer u
A curva interpola o primeiro e ltimo ponto do polgono de
controle
Desenhando Curvas Bzier
Curva normalmente aproximada por uma linha poligonal
Pontos podem ser obtidos avaliando a curva em u = u1, u2 ... uk
Avaliar os polinmios de Bernstein
Usar o algoritmo recursivo de De Casteljau
Quantos pontos?
Mais pontos em regies de alta curvatura
Idia: subdividir recursivamente a curva em trechos at que cada trecho
seja aproximadamente reto
Quanta memria economizamos com Bzier?
Em geral interpolao cbica necessite de 1/10 de sees em relao
interpolao linear.
Para dar mais realismo, aumentamos um pouco mais do que duas
vezes o nmero de amostras.
Um fator de compromisso chega pode ser 0.277
33 Mb tornam-se 9.2Mbytes, j o suficiente para o Wii!
Pablo Picasso
No Unity3D
Inverse Kinematics Unity3D
SetIKPositionWeight,
SetIKRotationWeight,
SetIKPosition,
SetIKRotation,
SetLookAtPosition,
bodyPosition,
bodyRotation
Funes Quaternion mais usadas
Quaternion.LookRotation,
Quaternion.Angle,
Quaternion.Euler,
Quaternion.Slerp,
Quaternion.FromToRotation,
Quaternion.identity
Animao de Avatares
Propriedades do RIG
Detalhes dos nomes dos Bones
Animator Controller & State Machine
Mquina de Estados: Exemplo1
Mquina de Estados: Exemplo 2
ME: Ex3
Blender: Animation Header
Adicionando KeyFrames no Blender
Autokeying: fazendo o Blender inserir
automaticamente KeyFrames
Voc s edita as Splines
Acertar as concordncias e os efeitos
Depois de calculada, pode-se visualizar a
trajetria
Armaduras em Blender
Blender: Visualizao das Armaduras e
Rigidez
Visualizao
Octadrica
x
Palitos
Rigidez
como
bastes
x
Belzier
Estrutura de Armadura Bsica
https://www.youtube.com/watch?v=qC-fdgPJhQ8
Microsoft Kinect: como funciona?
https://www.youtube.com/watch?v=uq9SEJxZiUg
https://www.youtube.com/watch?v=dFLPjVWjmCY
https://www.youtube.com/watch?v=mzWyO838C-0
Referncias
Rabin, S., Introduo ao Desenvolvimento de Games, Vol.2, cap. 5.2, 2012.
Esperana, C. e Cavalcanti, P. R., Introduo Computao Grfica
Curvas, disponvel em: www.lcg.ufrj.br/Cursos/COS-751/curvas-ppt
Learning the Basics of Blender Animation Tools. In: http://blog.digitaltutors.com/basics-of-blender-
animation-tools/, acessado em 01/03/2016.
Understanding automatic key frames insertion. In:
http://blender.stackexchange.com/questions/25931/understanding-automatic-key-frames-insertion,
acessado em 01/03/2016.
Manual Unity3D.
https://unity3d.com/pt/learn/tutorials/modules/beginner/animation/animator-controller?playlist=17099
https://www.blender.org/manual
How the Kinect Depth Sensor Works in 2 Minutes. In: https://www.youtube.com/watch?v=uq9SEJxZiUg
https://developer.microsoft.com/en-us/windows/kinect/hardware
https://jeremykun.com/2013/05/11/bezier-curves-and-picasso/
Prautzsch, H., Boehm, W., and Paluszny, M., Bezier and B-Spline Techniques, Springer, 2002