Skip to content

Slicing Engine

slicing_screen1 slicing_screen2

An interactive demo of my slicing engine constructed for GAM 450 during the Spring 2011 semester at the DigiPen Institute of Technology. This work significantly builds on and extends the previous version of my physics engine. There were many false starts coming up with a suitable re-meshing algorithm; qhull proved to be too slow and prone to error without adopting some kind of fixed-point object-space coordinate scheme. My final version is based on the connectivity of the mesh, avoiding round-off issues entirely (the algorithm is detailed in the paper).

Videos

Paper (draft) – The first part of the paper gives a derivation of the constraint dynamics used in this engine from first principles (specifically D’Alembert’s principle of virtual work). The second part gives a complete description of all the algorithms involved in the slicing/re-meshing process.

Download Demo – See below for requirements.

Features

  • Dynamic real-time re-meshing with inertial/mass recalculation
  • Improved Projected Gauss-Seidel constraint solving (based on the previous version of my physics engine)

Requirements

Instructions

W,A,S,D – Move the camera
Left Mouse – Hold to slice objects
Right Mouse – Hold to pan
Shift + Left Mouse – Pick/drag objects
Space – Shoot a new object