SMU Guildhall Graduate Catalog 2022 — Cohort 30 2022 | Page 76

«

Arjun Devappa
Software Development
2D Convex Polygon Softbody Physics System
The goal of this thesis was to simulate a 2D softbody physics system for convex polygons . The convex polygons are made up of mass-spring systems . Collisions between polygons are detected and resolved using the Gilbert-Johnson- Keerthi ( GJK ) algorithm and the Expanding Polytope Algorithm ( EPA ).
This physics system focused on using the Minkowski difference method to do the collision checks and using Gilbert – Johnson – Keerthi ( GJK ) algorithm to determine if two polygons collide with each other . Expanding Polytope Algorithm ( EPA ) is used to calculate penetration vector between two polygons .
The artifact shows softbody-versussoftbody collision detection , collision response , springs with different damping and stiffness constants , different edge cases , and a blob mass object . Different cases can be accessed through console commands .
The project took around six months and thought me how to make a visually viable physics system . It has a lot of overlap with actual engineering concepts but takes some tweaking to make it look as desired and behave as needed in games .
The scene will allow the user to use a mouse to click and drag singular masses that will simulate the nature of the softbody being dragged with it . A User Interface menu is available to create custom softbodies and drop them into the scene .
76 SOFTWARE DEVELOPMENT