Project Proposal:

      We will model an explosion and its effects on 3-dimensional objects. The objects will be represented not as polygons, but as 3-dimensional connected voxels. This way instead of having triangles flying around, the debree will behave more realisticly and have volume. The connections between voxels will be randomlly assigned around a certain range to model imperfections in the material and microfractures that would weaken a real structure. In using voxels we can also properly model the collisions between objects, taking into account the varying velocities and momentum.

This project will be an implementation of a paper published at Graphics Interface here: http://www.graphicsinterface.org/proceedings/1999/147

Deliverables:

First For our first deliverable we will write the code to read in a file containing information for our structure and convert that to a connected voxel representation of it. We will also have code to display the voxels once they have been created or moved, code to detect collisions between objects, and the code to update the list of components once the bonds between voxels had been weakened or broken. We will be able to render a frame showing the initial state of our object.
Second In our second deliverable we will have completed most of the work. We will have incorporated the effects of the explosion and have a realistic physics engine. The objects will collide and bounce off each other in realistic manner. By this stage we will have a short animation of a an object being blown up.
Third Our final deliverable will have the completed project. We will have a full animation of an explosion and its effects on a neighboring structure. The strength variables for the buildings and explosion will be tweaked sufficiently to create a realistic animation. Any final eye candy to make the project look better will be added at this stage, possibly texture mapping, some sort of representation of the blast wave, possible some flame or lighting effects.
   

Project Breakdown:

Leo

He will be responsible for the first step of the program. First designing a suitable format for describing a scene, and then writing the code to convert that to a connected voxel representation.

Joanna She will be responsible for first detecting object collisions and then determining the effects and stress of those collisions on the objects. Part of these duties include working with others on the physics engine
Charles Charles will be responsible for modeling the actuall explosion and determining the effects the blast wave has on a particular location in space. Connect this code into the physics engine in determining movement of voxels.
Jesse Responsible for modeling the effects of the explosion on the object, detect if some connections have been broken or weakened, or if entire pieces have broken off. Also repsonsible for writing the code to draw the voxels to the screen, and working on the general physics engine.