physics based animation
play

Physics-Based Animation Prof. Rahul Narain About me Rahul Narain - PowerPoint PPT Presentation

COL781 guest lecture: Physics-Based Animation Prof. Rahul Narain About me Rahul Narain http://rahul.narain.name/ narain@cse.iitd.ac.in Assistant professor in CS&E Bharti IIA-517 Research interests: computer


  1. COL781 guest lecture: Physics-Based Animation Prof. Rahul Narain

  2. About me • Rahul Narain 
 http://rahul.narain.name/ 
 narain@cse.iitd.ac.in • Assistant professor in CS&E 
 Bharti IIA-517 • Research interests: 
 computer graphics, physics-based animation, 
 numerical methods

  3. Turbulent fluids and 
 granular materials Crowd 
 simulation Cloth 
 Parallel algorithms for 
 modeling interactive simulation

  4. Basic types of animation • Manual • e.g. keyframing 
 • Recorded • e.g. motion capture 
 • Algorithmic • e.g. physics-based

  5. Physics-based animation (a.k.a. simulation)

  6. Basic types of animation • Manual • e.g. keyframing 
 less artistic control more automation • Recorded • e.g. motion capture 
 • Algorithmic • e.g. physics-based

  7. Physics-based animation (a.k.a. simulation)

  8. Today’s agenda • Basic principles of physics-based animation • Mass-spring systems • Preview of other techniques

  9. Discretization How to represent the continuous motion of an object? v ( x , t ) x ( t ) x (0) Motion of a particle: Flow field of a fluid: x : ℝ → ℝ 3 v : ℝ 3 × ℝ → ℝ 3

  10. Discretization Discretization of space particles grids meshes Discretization of time • Time stepping

  11. Discretization Objects represented as collections of particles • i th particle has mass m i , position x i , velocity v i Time divided into discrete time steps • Usually t 0 , t 1 = t 0 + ∆ t , t 2 = t 0 + 2 ∆ t , … Given positions, velocities at t n , 
 compute positions, velocities at t n +1

  12. <latexit sha1_base64="ncbAlpIVsTErq8DyBcEOzNE4SgM=">ADt3icbZLfatswFMbVuNva7k/T7bI3omGwq+CEQbvBIDAGa6HQwdIW4jSTZckRlWRPkrMY4yfa0+xy28tMTjOqyD0g8fn8vmNJhxPnGkThr+3OsH2o8dPdnb3nj57/mK/e/DyUmeFwmSM56p6xhpwpkY8MJ9e5IkjEnFzFtx8bfrUgSrNMfjVlTqYCpZJRhpGxqVn3U0QVwlUkJkrAZOb4UrGFC5nrL7Pm5thDT9Ax20tLEIu826vbAfrgK2xWAtemAdF7ODziRKMlwIg3mSOvJIMzNtELKMxJvRcVmuQI36KUTKyUSBA9rVbvreFrm0kgzZRd0sBV1q2okNC6FLF1NjfVPmuSD7FJYejJtGIyLwyR+O4gWnBoMtg0DyZMEWx4aQXCitm7QjxHtiXGtnjFCxixdK52XhJFQv7rYgkP3AmBJFSV1d/luoXxf2zbjRvsQulA2a5VDlZ+7dKBSx+WDizbP14eOHXUgdSH6YOTH146sBTH5458MyH5w48r5txHPjD1xbjYf9dP/zytjcaredyBxyCI/AGDMAxGIHP4AKMAQY/wS/wB/wN3gfAhrM76ydrXNK7ARwfd/TWpDrw=</latexit> <latexit sha1_base64="ncbAlpIVsTErq8DyBcEOzNE4SgM=">ADt3icbZLfatswFMbVuNva7k/T7bI3omGwq+CEQbvBIDAGa6HQwdIW4jSTZckRlWRPkrMY4yfa0+xy28tMTjOqyD0g8fn8vmNJhxPnGkThr+3OsH2o8dPdnb3nj57/mK/e/DyUmeFwmSM56p6xhpwpkY8MJ9e5IkjEnFzFtx8bfrUgSrNMfjVlTqYCpZJRhpGxqVn3U0QVwlUkJkrAZOb4UrGFC5nrL7Pm5thDT9Ax20tLEIu826vbAfrgK2xWAtemAdF7ODziRKMlwIg3mSOvJIMzNtELKMxJvRcVmuQI36KUTKyUSBA9rVbvreFrm0kgzZRd0sBV1q2okNC6FLF1NjfVPmuSD7FJYejJtGIyLwyR+O4gWnBoMtg0DyZMEWx4aQXCitm7QjxHtiXGtnjFCxixdK52XhJFQv7rYgkP3AmBJFSV1d/luoXxf2zbjRvsQulA2a5VDlZ+7dKBSx+WDizbP14eOHXUgdSH6YOTH146sBTH5458MyH5w48r5txHPjD1xbjYf9dP/zytjcaredyBxyCI/AGDMAxGIHP4AKMAQY/wS/wB/wN3gfAhrM76ydrXNK7ARwfd/TWpDrw=</latexit> <latexit sha1_base64="ncbAlpIVsTErq8DyBcEOzNE4SgM=">ADt3icbZLfatswFMbVuNva7k/T7bI3omGwq+CEQbvBIDAGa6HQwdIW4jSTZckRlWRPkrMY4yfa0+xy28tMTjOqyD0g8fn8vmNJhxPnGkThr+3OsH2o8dPdnb3nj57/mK/e/DyUmeFwmSM56p6xhpwpkY8MJ9e5IkjEnFzFtx8bfrUgSrNMfjVlTqYCpZJRhpGxqVn3U0QVwlUkJkrAZOb4UrGFC5nrL7Pm5thDT9Ax20tLEIu826vbAfrgK2xWAtemAdF7ODziRKMlwIg3mSOvJIMzNtELKMxJvRcVmuQI36KUTKyUSBA9rVbvreFrm0kgzZRd0sBV1q2okNC6FLF1NjfVPmuSD7FJYejJtGIyLwyR+O4gWnBoMtg0DyZMEWx4aQXCitm7QjxHtiXGtnjFCxixdK52XhJFQv7rYgkP3AmBJFSV1d/luoXxf2zbjRvsQulA2a5VDlZ+7dKBSx+WDizbP14eOHXUgdSH6YOTH146sBTH5458MyH5w48r5txHPjD1xbjYf9dP/zytjcaredyBxyCI/AGDMAxGIHP4AKMAQY/wS/wB/wN3gfAhrM76ydrXNK7ARwfd/TWpDrw=</latexit> Equations of motion Newton’s second law: f = m a Or, for each particle: d 2 x i d t 2 = f i m i f i = total force on particle i 
 (including forces from environment and from other particles) Two questions: • How to define f i ? • How to solve d 2 x i /d t 2 = …?

  13. Recap: Single-particle dynamics Consider a point mass attached to a fixed point via a spring • Total force = m g − k s ( ‖ x ‖ − ℓ 0 ) e − k d ( v · e ) e + f user • Call this f ( x ( t ), v ( t )) f spring d v /d t = f / m d x /d t = v . m g Simplest time stepping scheme ( forward Euler ): v new = v + f ( x , v )/ m ∆ t x new = x + v ∆ t .

  14. Recap: Single-particle dynamics What you covered in an earlier class is slightly di fg erent: v new = v + f ( x , v )/ m ∆ t x new = x + v new ∆ t . This is sometimes called semi-implicit Euler or symplectic Euler , actually much better than forward Euler.

Recommend


More recommend