Constrained Particle System

Jon Ko and Harlan Hile

Here's project 1, the constrained particle system. We implemented it in java, and took some effort to make it java 1.1 compatible so it could easily be run as an applet. A choice box lets you change modes between the standard constraints, an f=mv version of them, and a spring penalty system. Gravity and drift correction can be turned off, particles can be tugged on with the mouse, and the system can be easily reset if it becomes unstable.

Click on an image below to try out a particle setup:

one

two

three

four

We included the standard distance and circle constraints, which may have time varying parameters. We also added an additional line constraint. We considered point and angle constraints, but they didn't seem to fit into the framework. We implemented the conjugate gradient method and sparse matrix multiplication in order to solve for the constraints.

Source, class files, and scene files are available as a whole package (23K). To run (as an application), use 'java Simulation <file>.scn'.