Due date: Thursday, July 21st @ 1:30pm.

Use your best judgment by submitting a proposal which you feel matches our expectations.

Submit the following info to the course staff: cs148.staff@gmail.com.

( Please do not exceed 2 pages maximum )

Title of Your Project

1) Names of group members (atmost 3) including SUID:

Jason Riggs (jriggs), David Hyde (dhyde)

2) A description of the project (~100-200 words).

We are going to create a real-time rigid body simulation! It will feature a few different graphical primitives: rectangular prisms, spheres, and cones, and we’ll be aiming to see how many we can get colliding in real-time while also rendering nicely. We’re planning to lay out a scene with a flat circular table. A “fountain” offstage-top generates new shapes with random velocity/acceleration and “sprays” them down at the table, where the fun happens. The shapes will be rendered in a nice lighting environment using blinn-phong shading. If we have extra time, we’ll either play with more types of shapes, see how many extras we can get going in real-time, or focus on the rendering side to get things looking nice.

3) Why is it technically challenging, i.e. why is this worthy of a final project?

We believe the physical computations of the simulation should be technically challenging enough for this project. On top of that, in order to increase the number of objects colliding, we may have to implement some challenging optimizations (like a kd-tree).

4) If your project was inspired by other material (youtube videos, 3d models, research papers, book material), please describe that inspiration (links are very helpful!).

This was our main inspiration: https://www.youtube.com/watch?v=EtZr1-E6yPw And here’s the technical approach we’ll be using! https://graphics.stanford.edu/papers/rigid_bodies-sig03/rigid_bodies.pdf

5) At least 3 equally-sized milestones to complete the project. We’ll expect you accomplish at least step 1 by the intermediate milestone due on Aug 2nd.

Milestone 1: Code architected, scene laid out, research paper/mathematics fully understood. We’ll have 2-dimensional collisions working between two objects in a plane, including all forces, (rotations, friction, etc.).
Milestone 2: We’ll generalized to 3-dimensions with up to 10 objects colliding real-time.
Milestone 3: All done! Aiming to be optimized for >= 100 simultaneous objects. Rendering polished. Any extra work done as time permits.

6) If you are working with a group, outline the division of labor. Who will do what?

Jason will architect the code, create the scene, and polishing the rendering engine. David will do all the hard work with the physics engine. (Obviously, don’t do this. :) Divide your work evenly!)