Position-based Elastic Rods	

Nobuyuki	  Umetani	  Ryan	  Schmidt	  	  Jos	  Stam	  Motivation	
• Rods	  are	  everywhere	  Complexity of Rod’s Behavior	• Rich	  nonlinear	  deforma;on	  arising	  from	  coupling	  of	  bending	  and	  twis;ng	  Goal	• Fast,	  robust,	  simple	  implementa;on	  • Qualita;vely	  good	  results	  • Coupling	  with	  other	  physics	  models	  Posi;on-­‐based	  Dynamics	  (PBD)	

Elastic Rod Simulations	• All	  previous	  works	  are	  not	  posi;on-­‐based	  approach	[Bergou	  et	  al.	  2008]	

[Spillmann	  et	  al.	  2007]	

[Casa;	  et	  al.	  2013]	

[Bergou	  et	  al.	  2010]	

[Bartails	  et	  al.	  2006]	

[Pai	  2002]	

Position-based Dynamics (PBD)	
• Elas;c	  rods	  have	  yet	  not	  been	  solved	  using	  PBD	  [Macklin	  et	  al.	  2014]	

[Müller	  et	  al.	  2011]	

[Stam	  2009]	

[Müller	  et	  al.	  2006]	

[Macklin	  et	  al.	  2013]	

[Müller	  et	  al.	  2005]	

What is PBD ?: Representation	
• Shape	  is	  represented	  in	  posi'ons	  Animate with
Verlet time integration	
pt +Δt = pt + Δt(v t + Δtg) + Δpv t +Δt = (pt +Δt − pt ) /Δt€€

What is PBD ?: Elasticity	• Elas;city	  is	  handled	  as	  constraints	  deforma;on	constraints	

Why Rods are Difficult for PBD? 	
• Twist	  is	  diﬃcult	  to	  represent	  with	  posi;ons	

• What	  is	  the	  constraint,	  coupling	  bend	  and	  twist?	

Contributions	• Twist	  representa;on	  for	  the	  posi;on-­‐based	  rod	  – Darboux	  vector	  to	  represent	  twist	  and	  bending	  – Ghost	  point	  for	  material	  frame	  deﬁni;on	  • Constraints	  for	  twist-­‐bend	  coupling	  - Cossart	  theory	  based	  formula;on	  • Handling	  of	  vector	  type	  constraint	  - Varia;onal	  formula;on	  Outline	Twist	  representa,on	  for	  PDB	  Constraints	  for	  twist	  and	  bending	  Handling	  vector	  type	  constraint	  Result	  Discussion	  Outline	Twist	  representa,on	  for	  PDB	  Constraints	  for	  twist	  and	  bending	  Handling	  vector	  type	  constraint	  Result	  Discussion	  Material Frame on a Rod	• Adap;ve	  frame:	  the	  rod’s	  tangent	  =	  a	  frame	  axis	Material Frame Rotation along Rod’s Axis	
• Frame	  is	  rota;ng	  along	  the	  black	  axis	

Bending & Twisting as the Frame Rotation	
• Coordinate	  rota;on	  axis	  is	  Darboux	  vector	Ω 3 = Ω⋅ d 3 twis;ng	Ω1 = Ω⋅ d1bending	Ω2 = Ω⋅ d2€

Ghost Points for Frame Representation	
• Ghost	  point	  is	  assigned	  at	  the	  center	  of	  edge	Ghost	  Points	  	constant distance	

perpendicular bisector	Frame Rotation in Discrete Edges	
• Constant	  speed	  rota;on	  between	  edges	Outline	
Twist	  representa,on	  for	  PDB	  Constraints	  for	  twist	  and	  bending	  Handling	  vector	  type	  constraint	  Result	  Discussion	  €Continuous Mechanics: Cosserat Theory	• Strain	  energy	  is	  Darboux	  vector	  diﬀerence	33() (E = ∑ ∑ Ωi − Ωi K ij Ω j − Ω j
i=1 j =1

rest	  shape	)

deformed	  shape	Constraints for Twist & Bending	• Constraint:	  Darboux	  vector	  do	  not	  change	rest	  shape	

deformed	  shape	Modification on Discrete Darboux Vector	
modification	

y=2tanș/2y

y=ș

• Good	  approxima;on	  at	   θ << 1• Prevent	  ﬂipping	  at	  	  θ ≈ π10€€/2șModified Discrete Darboux Vector	
• Simple	  formula	  without	  trigonometry	  	Outline	Twist	  representa,on	  for	  PDB	  Constraints	  for	  twist	  and	  bending	  Handling	  vector	  type	  constraint	  Result	  Discussion	  Vector Type Constraint: Naïve Approaches	• One-­‐by-­‐one	  approach	  • Slow	  convergence	  requires	  many	  steps	  L	  • Energy-­‐based	  approach	  • Slow	  convergence	  due	  to	  nonlinearity	  L	  Gauss’s Principle of Least Constraint	
Constrained	  mo;on	  minimize	

Accelera;on	  change	  	  due	  to	  constraint	mass	
[Carl	  Friedrich	  Gauss	  1829]	

gravity	accelera;on	Gauss’s Principle in Discrete Setting	˙˙ i − gZ = ∑ mi p2con;nuous	  representa;on	Constraint update	ipt +Δt = pt + Δt(v t + Δtg) + ΔpVerletintegration	
v t +Δt = (pt +Δt − pt ) /Δt

˙˙ = (v t +Δt − v t ) /Δt = Δp /Δt 2 + gp€€€

Posi;on	  based	  representa;on	Variational Interpretation of Constraint Update	

QP	  problem	  	  linearized	  constraint	

Block Gauss-Seidel 	ﬁnal	  update	  	  formula	Order Dependent Stability	Naïve	  sequen;al	  ordering	 Our	  bidirec;onal	  ordering		
tcafitrAniaGygren
ECoupling with Triangle at End Point	Ω€Coupling Rod and Triangle Mesh	Anisotropic Stiffness Adjustment	
isotropic	

anisotropic	
twist=0Twist	

€Twist	
Ωgoal
= α i Ωi + (1 − α i )Ωii
α i : stiffness
goal ⎞ ⎛⎛
Ω1 ⎞
twist=0.8ʌ Ω1 twist=1.2ʌ⎜ goal ⎟ ⎜ ⎟
C = ⎜Ω2 ⎟ − ⎜Ω2 ⎟ = 0⎟ ⎜Ω ⎟€ ⎜⎝Ωgoal⎠ ⎝ 3 ⎠3Outline	
Twist	  representa,on	  for	  PDB	  Constraints	  for	  twist	  and	  bending	  Handling	  vector	  type	  constraint	  Result	  Discussion	  Result: Stability	Result: Large Twist	Result: Wire Mesh	Result: Koosh Ball	Comparison	• Our	  technique	  • Shape	  matching	  +	  twis;ng	  force	  	  [Rungiratananon	  et	  al.	  2012]	  • Oriented	  par;cles	  [Müller	  et	  al.	  2011]	  • Same	  discre;za;on	  and	  itera;on	  number	  • No	  self-­‐intersec;on	  Our Technique	• Stable	  coupling	  twist	  and	  bending	  Our Technique	• Stable	  coupling	  twist	  and	  bending	  Shape Matching+Twisting Force• No	  convergence	  	  [Rungiratananon	  et	  al.	  2012]	

Shape Matching+Twisting Force• Too	  sol	  and	  unstable	  	  [Rungiratananon	  et	  al.	  2012]	

Oriented Particles	  	  [Müller	  et	  al.	  2011]	

• No	  coupling	  between	  twist	  and	  bending	  Oriented Particles[Müller	  et	  al.	  2011]	

• No	  coupling	  between	  twist	  and	  bending	  Comparison Summary	Twist	  Time	  Stability	 Convergence	 +Bending	   per	  Frame	
Our	  technique	

1.1ms	

Shape	  Matching	  	  +Twis;ng	  Force	

4.9ms	

Oriented	  Par;cle	

5.0ms	

Outline	
Twist	  representa,on	  for	  PDB	  Constraints	  for	  twist	  and	  bending	  Handling	  vector	  type	  constraint	  Result	  Discussion	  Application: Hair Design	Future Work	• Preven;ng	  ﬂipping	  completely	  • Mathema;cal	  proof	  for	  stability	  • Applica;ons	  for	  vector	  type	  constraints	  – Con;nuum	  mechanics	  [Muller	  et	  al	  2014]	  	  • Summary	  – First	  PBD	  approach	  for	  elas;c	  rod	  simula;on	  • Contribu,on	  – Ghost	  points	  for	  deﬁning	  frame	  using	  posi;ons	  – New	  constraints	  formula	  for	  twist	  and	  bending	  – Varia'onal	  Interpreta'on	  for	  vector	  constraint	  enforcement	  • Demo	  is	  available	  – Autodesk	  MAYA	  2015:	  Nucleus	  nHair	  • Bend	  with	  ”twist	  tracking”	  op;on	  Live	  Demo!	
1-3 FPS(include rendering)	

• Paper	  is	  available	  – Symposium	  on	  Computer	  Anima;on	  (SCA	  2014)	  Thanks! Any Questions?	

• Acknowledgements	  – Duncan	  Brinsmead	  – Anonymous	  reviewers	  Variational Interpretation of Constraint
Enforcements 	
Lagrange	  mul;plier	Removing Bias of Gravity on Ghost Points	
No	  gravity	

Gravity	
static hang-down
static hang-downSelec;ve	  	  gravity	
vertical free-fallstatic hang-down
verticalfree-fallvertical free-fa

Sta;c	  Hang	  down	  static hang-down

verticalfree-fall
static hang-down method
verticalfree-fall
statichang-down
free-fall
methodours
methodours verticalmethod
1 method
methodours
method
1 method 2
method 1 1method
2 2 ours
method1 1 method
2 22 ours

Free	  fall	  method 1 method
ours 2 method
method12 method
ours 2 1 method
method21 method
ours 1 method
ours 2
methodoursmethod 1 method 2ours

Putting it All Together	• Edge	  length	  constraint	  • Perpendicular	  bisector	  	  	  	  	  	  	  	  constraint	  • Distance	  constraint	  Vector-type constraints	
• Bending	  &	  twis;ng	  constraint