CS 5643 Assignment #2: Position-based Dynamics

Professor: Doug James
Due dates:

In this second assignment, you will implement a particle system based on position based dynamics. You system will support a similar position-level constraint-based relaxation approach to dynamic modeling. Your animation system will be implemented in two parts: (Part1) the core system supporting cloth simulation, and (Part2) extensions to support additional functionality and an animation extension of your choosing.

Groups: Work on your own, or in a group of at most two people. Additional work is expected from a group submission, such as a more elaborate creative artifact or modeled phenomena. PhD students are encouraged to work alone, and pursue a more challenging creative artifact. 

Starter Code: You may use your code from Assignment #1 Position Based Fluids as starter code for this project. There is additional starter code (available to registered students through CMS) to augment the
cs5643.particles package to represent triangle meshes for cloth modeling, loading of OBJ triangle meshes, and to support OpenGL rendering. You do not need to use the starter code, but may find it helpful. Several triangle mesh examples are provided to help you get started. In this assignment, you will modify this package as needed.
Software Dependencies:  The starter code will compile and run using JDK 1.5 or later. In addition to Java, the starter code also uses two other libraries that you need to install/get: 
Starter code tips:
Do I have to use the starter code? Can I program in C++? etc.: The starter code is provided to make your job easier, however you are not required to use it. Feel free to implement your assignment in any language or programming environment that you want (C++, processing, python, etc.). However you are still expected to implement the assignment steps listed below, and answer the questions. You may not use extensive libraries for particle systems or simulation since you are expected to implement the functionality from scratch (that's the point and the fun of it). However, please feel free to use any third-party graphics or 3D rendering software that you want.

Assignment Steps:  You will implement the assignment and submit materials in two stages:

  >> Part I (due Tues, Mar 17): In this first part you will simulate cloth using PBD and submit some video demonstrations of your progress.

  >> Part II (due Fri, Mar 27): After you get the basic simulator working, next you will (a) first add two additional constraints then (b) try something more personalized.

Start early. Ask questions. Have fun!!! 

On collaboration and academic integrity: You are allowed to collaborate on the assignments to the extent of formulating ideas as a group, and derivation of physical equations. However, you must conduct your programming and write up completely on your own (or with your partner), and understand what you are writing.Please also list the names of everyone that you discussed the assignment with.  (You are expected to maintain the utmost level of academic integrity in the course. Any violation of the code of academic integrity will be penalized severely.)