position based dynamics
play

Position Based Dynamics A fast yet physically plausible method for - PowerPoint PPT Presentation

Position Based Dynamics A fast yet physically plausible method for deformable body simulation Tiantian Liu GAMES Webinar 03/28/2019 Position Based Dynamics A fast yet physically plausible method for deformable body simulation Tiantian Liu


  1. Position Based Dynamics A fast yet physically plausible method for deformable body simulation Tiantian Liu GAMES Webinar 03/28/2019

  2. Position Based Dynamics A fast yet physically plausible method for deformable body simulation Tiantian Liu GAMES Webinar 03/28/2019

  3. Intended Takeaway from this Talk… • For Rookies… • Basic idea of a deformable body simulation pipeline • What is Position Based Dynamics (PBD) • How to implement the basic building blocks of PBD • For Veterans… • A physically correct understanding of PBD • Insights and potential improvements of PBD 3

  4. Major References of this Talk [Müller et al. 2007] [Macklin et al. 2016] [Goldenthal et al. 2007] [Tournier et al. 2015] 4

  5. Computer Graphics (Past and Now) 1986 2017 5

  6. Deformable Body Simulation Game Movie/Animation AR/VR 6

  7. Deformable Body Simulation Game Movie/Animation AR/VR 7

  8. Deformable Body Simulation Game Movie/Animation AR/VR 8

  9. Rigid Body v.s. Deformable Body 9

  10. Deformable Body Simulation [Liu et al. 2017] 10

  11. Spatial Discretization 11

  12. Representation of a Deformable Body 𝑌 1 𝑌 2 𝑦 2 𝑦 1 𝑚 0 𝐹 𝒚 1 , 𝒚 2 = 1 𝒚 1 − 𝒚 2 − 𝑚 0 2 2 𝑙 12

  13. Representation of a Deformable Body 2 + 1 2 𝜇𝑢𝑠 2 (𝛝(𝐆)) Ψ 𝐆(𝒚) = 𝜈 𝛝(𝐆) 𝐺 Energy Density Deformation Strain Tensor Gradient 13

  14. Elastic Energy 𝐹 𝒚 ↓ Deformed Pose Rest Pose 𝐹 𝒚 > 0 𝐹 𝒚 = 0 14

  15. Temporal Discretization 𝑦 𝑜 𝑦 𝑜+1 𝑦 0 ℎ 15

  16. Newton’s 2 nd Law of Motion t 𝑜 +ℎ 𝑤 𝑢 𝑒𝑢 • 𝑦 𝑜+1 = 𝑦 𝑜 + ׬ t 𝑜 t 𝑜 +ℎ 𝑁 −1 𝑔 • 𝑤 𝑜+1 = 𝑤 𝑜 + ׬ 𝑗𝑜𝑢 𝑦 𝑢 + 𝑔 𝑓𝑦𝑢 𝑒𝑢 t 𝑜 𝑏(𝑢) 16

  17. Time integration: Implicit Euler • 𝑦 𝑜+1 = 𝑦 𝑜 + ℎ𝑤 𝑜+1 • 𝑤 𝑜+1 = 𝑤 𝑜 + ℎ𝑁 −1 𝑔 𝑗𝑜𝑢 𝑦 𝑜+1 + 𝑔 𝑓𝑦𝑢 • 𝑦 𝑜+1 = 𝑦 𝑜 + ℎ𝑤 𝑜 + ℎ 2 𝑁 −1 𝑔 𝑓𝑦𝑢 + ℎ 2 𝑁 −1 𝑔 𝑗𝑜𝑢 (𝑦 𝑜+1 ) 𝑧 17

  18. Variational Implicit Euler 1 • 𝑦 𝑜+1 = 𝑏𝑠𝑕𝑛𝑗𝑜 𝑦 2ℎ 2 𝑦 − 𝑧 𝑁 + 𝐹(𝑦) inertia elasticity • Pick your favorite optimization tool to solve • Gradient Descent / Newton / Quasi-Newton etc … 18

  19. Deformable Body Simulation [Liu et al. 2017] 19

  20. State-of-the-Art Real-time Simulators NVIDIA FleX [Video courtesy of NVIDIA] 20

  21. State-of-the-Art Real-time Simulators Maya nDynamics [Video courtesy of Pixclue Studios] 21

  22. Position Based Dynamics 22

  23. Position Based Dynamics 𝑌 1 𝑌 2 𝑦 2 𝑦 1 𝑚 0 𝑦 1 − 𝑦 2 𝑑 𝒚 1 , 𝒚 2 = − 1 𝑚 0 Goal: 𝑑 𝒚 1 , 𝒚 2 = 0 23

  24. PBD: Pipeline Init: 𝑦 𝑜+1 = 𝑦 𝑜 + ℎ𝑤 𝑜 + ℎ 2 𝑁 −1 𝑔 𝑓𝑦𝑢 Project: Move 𝑦 𝑜+1 to satisfy each constraint 24

  25. PBD: Pipeline (Illustrated version) Projection 𝑦 𝑜 𝑦 𝑜+1 = 𝑧 𝑦 𝑜+1 25

  26. PBD: Projection • Find a projection direction 𝜀𝑦 to: • Satisfy 𝑑 𝑦 + 𝜀𝑦 ≈ 𝑑(𝑦) + 𝛼𝑑 𝑦 𝜀𝑦 = 0 • Conserve linear momentum: Σ𝑛 𝑗 𝜀𝑦 𝑗 = 0 • Conserve angular momentum: Σ𝑛 𝑗 𝑦 𝑗 × 𝜀𝑦 𝑗 = 0 26

  27. PBD: Projection (Cont’d) • Construct 𝜀𝑦 𝑘 for the j-th constraint as: −1 ∇𝑑 −1 ∇𝑑 𝑈 𝜀𝜇 𝑘 𝑈 𝜀𝜇 𝑘 • 𝜀𝑦 𝑘 = −𝑁 𝜀𝑦 𝑘 = −𝑁 𝑘 𝑘 𝑘 𝑘 • Compute the step size 𝜀𝜇 𝑘 using 𝑑 𝑘 𝑦 + 𝛼𝑑 𝑘 𝜀𝑦 𝑘 = 0 𝑑 𝑘 • 𝜀𝜇 𝑘 = −1 𝛼𝑑 𝑘 𝑈 𝛼𝑑 𝑘 𝑁 𝑘 27

  28. PBD Projection Example 𝜀𝑦 1 𝜀𝑦 2 𝑦 1 𝑦 2 𝑚 0 𝑦 1 − 𝑦 2 𝑈 𝑦 1 − 𝑦 2 𝑈 ∇𝑑 = 1 , − 1 𝑦 1 − 𝑦 2 𝐍 = 𝑛 1 0 𝑑 = − 1 𝑛 2 ⨂𝐉 0 𝑚 0 𝑦 1 − 𝑦 2 𝑚 0 𝑦 1 − 𝑦 2 𝑚 0 𝑑 𝑚 0 𝜀𝜇 = ∇𝑑𝐍 −1 𝛼𝑑 = −1 ( 𝑦 1 − 𝑦 2 − 𝑚 0 ) −1 + 𝑛 2 𝑛 1 28

  29. PBD Projection Example 𝜀𝑦 1 𝜀𝑦 2 𝑦 1 𝑦 2 𝑚 0 𝜀𝑦 = −𝐍 −1 ∇𝑑 𝑈 𝜀𝜇 −1 𝑚 0 𝑛 1 𝑦 1 − 𝑦 2 𝜀𝑦 1 = − 𝑦 1 − 𝑦 2 − 𝑚 0 −1 + 𝑛 2 −1 𝑚 0 𝑦 1 − 𝑦 2 𝑛 1 −1 𝑚 0 𝑛 2 − 𝑦 1 − 𝑦 2 𝜀𝑦 2 = − 𝑦 1 − 𝑦 2 − 𝑚 0 −1 + 𝑛 2 −1 𝑚 0 𝑦 1 − 𝑦 2 𝑛 1 29

  30. PBD Projection Example 𝜀𝑦 1 𝜀𝑦 2 𝑦 1 𝑦 2 𝑚 0 −1 𝑛 1 𝑦 1 − 𝑦 2 𝜀𝑦 1 = − 𝑦 1 − 𝑦 2 − 𝑚 0 −1 + 𝑛 2 −1 𝑦 1 − 𝑦 2 𝑛 1 −1 𝑛 2 𝑦 1 − 𝑦 2 𝜀𝑦 2 = + 𝑦 1 − 𝑦 2 − 𝑚 0 −1 + 𝑛 2 −1 𝑦 1 − 𝑦 2 𝑛 1 30

  31. PBD: Pipeline Project: Move 𝑦 𝑜+1 to satisfy each constraint 31

  32. Iteration Strategy: Gauss-Seidel v.s. Jacobi 32

  33. Gauss-Seidel 33

  34. Gauss-Seidel 34

  35. Gauss-Seidel 35

  36. Gauss-Seidel 36

  37. Gauss-Seidel 37

  38. Jacobi 38

  39. Gauss-Seidel v.s. Jacobi • Gauss-Seidel + Converges faster - Hard to parallelize <-- Colored GS [Fratarcangeli et al. 2016] - May break the symmetry <-- Symmetric GS • Jacobi + Easy to parallelize - Converges slower <-- Chebyshev Acceleration [Wang 2015] - Less stable <-- Under Relaxation 39

  40. Problems [Liu et al. 2013] 40

  41. Conclusion • Position Based Dynamics is: • Fast • Simple to implement • Stable (for most cases) • It was also considered: • Non-physically-based (stiffness related to iteration count) • Hard to control 41

  42. Variational Implicit Euler 1 • 𝑦 𝑜+1 = 𝑏𝑠𝑕𝑛𝑗𝑜 𝑦 2ℎ 2 𝑦 − 𝑧 𝑁 + 𝐹(𝑦) inertia elasticity • What if 𝐹(𝑦) is (almost) infinitely stiff? 42

  43. Constraint-based Variational Implicit Euler 2 𝑡. 𝑢. 𝑑 𝑦 = 0 1 • min 2ℎ 2 𝑦 − 𝑧 𝑁 𝑦 𝑌 1 𝑌 2 𝑦 2 𝑦 1 𝑚 0 𝑦 1 − 𝑦 2 𝑑 𝑦 1 , 𝑦 2 = − 1 = 0 𝑚 0 43

  44. Constraint-based Variational Implicit Euler 2 𝑡. 𝑢. 𝑑 𝑦 = 0 1 • min 2ℎ 2 𝑦 − 𝑧 𝑁 𝑦 • Optimality Condition: 𝑁 • 𝑦 𝑑 𝑦 𝑈 𝜇 = 0 ℎ 2 𝑦 − 𝑧 + 𝛼 • 𝑑 𝑦 = 0 44

  45. Compliant Constraints • Re-define energy using constraints: = 1 • 𝐹 𝑦 = Σ 𝑓 𝑗 𝜈 𝑗 𝑑 𝑗 𝑦 2 = 1 2 𝑑 𝑦 𝑈 𝐋𝑑(𝑦) 2 𝑑 𝑦 𝑈 𝜷 −𝟐 𝑑(𝑦) 𝐋 = 𝜷 −1 Stiffness Matrix Compliance Matrix 45

  46. Variational Implicit Euler with compliant constraints 1 2 + 1 2 𝑑 𝑦 𝑈 𝜷 −𝟐 𝑑(𝑦) • min 2ℎ 2 𝑦 − 𝑧 𝑁 𝑦 • Optimality Condition 𝑁 𝑦 𝑑 𝑦 𝑈 𝜷 −1 𝑑 𝑦 = 0 • ℎ 2 𝑦 − 𝑧 + 𝛼 • Optimality Condition with 𝜇 = 𝜷 −1 𝑑 𝑦 𝑁 • 𝑦 𝑑 𝑦 𝑈 𝜇 = 0 ℎ 2 𝑦 − 𝑧 + 𝛼 • 𝑑 𝑦 − 𝜷𝜇 = 0 46

  47. Numerical Solutions 𝑁 𝑦 𝑑 𝑦 𝑈 𝜇 = 0 ℎ 2 𝑦 − 𝑧 + 𝛼 𝑑 𝑦 − 𝜷𝜇 = 0 • To achieve the exact solution • Newton-Raphson • To achieve an approximated solution • Step-and-Project [Goldenthal et al. 2007] • Semi-Implicit Euler [Tournier et al. 2015] • Position Based Dynamics [Müller et al. 2007, Macklin et al. 2016] 47

  48. Newton-Raphson method 𝑁 𝑦 𝑑 𝑦 𝑈 𝜇 = 0 ℎ 2 𝑦 − 𝑧 + 𝛼 𝑑 𝑦 − 𝜷𝜇 = 0 • For a given state 𝑦 (𝑙) and 𝜇 (𝑙) • Compute Newton-Raphson direction 𝜀𝑦 and 𝜀𝜇 using: 𝑛 𝑁 𝑁 ℎ 2 𝑦 (𝑙) − 𝑧 + 𝛼 (𝑙) 𝛼 2 𝑑 𝑦 𝑑 𝑈 𝜇 (𝑙) 𝛼𝑑 𝑈 ℎ 2 + ෍ 𝜇 𝑘 𝜀𝑦 𝑘 𝜀𝜇 = − 𝑘=1 𝑑 𝑦 𝑙 − 𝜷𝜇 𝑙 𝛼𝑑 −𝜷 48

  49. Hard Constraints 𝑁 𝑦 𝑑 𝑦 𝑈 𝜇 = 0 ℎ 2 𝑦 − 𝑧 + 𝛼 𝑑 𝑦 − 𝜷𝜇 = 0 • 𝜷 = 𝟏 1 𝑁 2 𝑦 𝑑 𝑦 𝑈 𝜇 = 0 min 2ℎ 2 𝑦 − 𝑧 𝑁 ℎ 2 𝑦 − 𝑧 + 𝛼 𝑦 𝑡. 𝑢. 𝑑 𝑦 = 0 𝑑 𝑦 = 0 49

  50. Hard Constraints: Geometric Interpretation 𝑧 𝑦 ∗ 1 2 min 2ℎ 2 𝑦 − 𝑧 𝑁 𝑦 𝑡. 𝑢. 𝑑 𝑦 = 0 𝑑 𝑦 = 0 50

  51. Step and Project (SAP) [Goldenthal et al. 2007] 𝑧 𝑧 𝑦 (2) 𝑦 (3) 𝑦 ∗ 𝑑 𝑦 = 0 𝑑 𝑦 = 0 51

  52. Step and Project (SAP) [Goldenthal et al. 2007] 𝑧 𝑧 𝑑 𝑦 = 0 𝑑 𝑦 = 0 1 1 2 2 2ℎ 2 𝑦 − 𝑦 (𝑙) min 2ℎ 2 𝑦 − 𝑧 𝑁 𝑦 𝑙+1 = min 𝑁 𝑦 𝑦 𝑡. 𝑢. 𝑑 𝑦 (𝑙) + 𝛼 𝑦 𝑑(𝑦 𝑙 )(𝑦 − 𝑦 (𝑙) ) = 0 𝑡. 𝑢. 𝑑 𝑦 = 0 52

  53. SAP: Update 𝑁 𝑦 𝑑 𝑦 (𝑙) 𝑈 𝜇 = 0 ℎ 2 𝑦 − 𝑦 (𝑙) + 𝛼 Initialize 𝑦 (𝑙+1) and 𝜇 (𝑙+1) with 𝑦 (𝑙) and 0 𝑑 𝑦 (𝑙) + 𝛼 𝑦 𝑑(𝑦 𝑙 )(𝑦 − 𝑦 (𝑙) ) = 0 0 𝑁/ℎ 2 𝛼𝑑 𝑈 𝜀𝑦 𝜀𝜇 = − 𝑑(𝑦 𝑙 ) 𝛼𝑑 0 Schur Complement of 0 : −𝛼𝑑 (𝑁/ℎ 2 ) −1 𝛼𝑑 𝑈 [−𝛼𝑑 𝑁/ℎ 2 ) −1 𝛼𝑑 𝑈 𝜀𝜇 = −𝑑(𝑦 𝑙 ) 53

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend