1 / 63

Numerical Integration Methods in Game Development

Learn about Euler's, Verlet, Symplectic, Runge-Kutta, and Implicit methods for numerical integration in game development, their strengths, and limitations. Explore different test cases and their outcomes.

harveyj
Download Presentation

Numerical Integration Methods in Game Development

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. Numerical Integration Jim Van Verth Insomniac Games jim@essentialmath.com

  2. Talk Summary • Going to talk about: • Euler’s method subject to errors • Implicit methods help, but complicated • Verlet methods help, but velocity out of step • Symplectic methods can be good for both

  3. Our Test Case

  4. Our Test Case

  5. Our Test Case x0 xt =?

  6. Constant velocity v x0 xt =?

  7. Constant velocity v x0 xt = x0+vt

  8. Constant acceleration a v0 x0 xt = ?

  9. Constant acceleration a v0 x0 xt = ?

  10. Constant acceleration a v0 x0 xt = x0 + v0t + 1/2at2

  11. Variable acceleration x0 xt = ?

  12. Euler’s method v0 x0

  13. Euler’s method v0 x1 x0

  14. Euler’s method v0 a v0 x1 x0

  15. Euler’s method v0 a v0 v1 x1 x0

  16. Euler’s method v0 v1 x1 x0

  17. Euler’s method v0 v1 x1 x2 x0

  18. Euler’s method v0 v1 v1 x1 a x2 x0

  19. Euler’s method v0 v1 v1 x1 a x2 x0 v2

  20. Euler’s method v0 v1 x1 x2 x0 v2

  21. Euler’s method v0 v1 x1 x2 x0 v2

  22. Euler’s method v0 x0 a0

  23. Euler’s method v0 x0 x1 a0

  24. Euler’s method v0 v0 a0 x1 x0

  25. Euler’s method v0 v0 v1 a0 x1 x0

  26. Euler’s method v0 v1 x1 x0

  27. Euler’s method v0 v1 x1 x0 x2 v2

  28. Euler’s method v0 x0 x1 v1

  29. Euler • Okay for non-oscillating systems • Explodes with oscillating systems • Adds energy! Very bad!

  30. Runge-Kutta methods v0 x0

  31. Runge-Kutta methods v0 x0 v0.5

  32. Runge-Kutta methods x0 v0.5

  33. Runge-Kutta methods x0 v0.5 x1

  34. Runge-Kutta methods v0 x0

  35. Runge-Kutta 4 • Very stable and accurate • Conserves energy well • But expensive: four evaluations of derivative

  36. Implicit methods v0 x0

  37. Implicit methods v0 x0 x1

  38. Implicit methods v0 x0 x1 v1

  39. Implicit methods v0 x0 v1

  40. Implicit methods v0 x0 v1 x1

  41. Implicit methods v0 x0 v1 x1

  42. Implicit methods v0 x0 x1 v1

  43. Implicit methods v0 x0 v1 x1

  44. Backward Euler • Not easy to get implicit values • More expensive than Euler • But tends to converge: better but not ideal

  45. Verlet x0 x-1

  46. Verlet x0 x-1

  47. Verlet x0 at2 x-1

  48. Verlet x0 at2 x-1 x1

  49. Verlet x0 at2 x-1 x1

More Related