submit c683aa project project.cpp OR submit c683aa lab9 project.cpp
demo Monday or Tuesday, at 1:30 in CL112D
Basically, do something interesting. Here are some (preapproved) ideas. I want everyone to write up a short description of what they are proposing as their project so I can review it and we can agree on what you're doing.
NOTE: Email me the project you're doing (pre-approved or not) by end of Wednesday, December 1.
I will entertain groups of two if students want to work together - with a commensurate increase in project complexity and specification of program responsibilities. Clear it with me first - then email me the description.
Email me a short write-up of your project, choosing one from the list below (pre-approved) or one of your own. A project not on the list below should only be considered as approved when you get an approval email from me.
Suggested projects
Compute collisions between cloth triangles and some underlying geometry such as a box. Let the cloth sheet drop under gravity. Test vertices for collision with a box and zero out their movement along the y-axis when collision is detected. Let other vertices hang over the edge. Compute cloth vertex collision with cloth triangles to prevent the cloth from penetrating itself; zero movement of vertices that is normal to triangle.
Use orientation objectives in the IK formulation. You'll have to balance the orientation versus position objectives. Difference in orientation can be indicated by dot product of coordinates axes of end effector with coordinate axes of goal.
Implement the basic rigid body dynamics with either impulse dynamics from collisions with a groundplane. Use a cubiod or other non-spherical objects so that rotational dynamics is included. Let the object bounce on the ground and slowly come to rest (you don't have to handle the constant contact condition).
Implement a fixed joint attacted to a 2 linkage movable limb that reacts to externally applied forces.
Implement a pedestrian model with sidewalks or a traffic model with city streets using vision modeling and collision avoidance for members to traverse the environment. Use a crowd that is dense enough relative to the environment to show interesting paths that avoid more than one obstacle at a time.
Implement a humanoid walking figure using kinematic control of sinusoidal functions over joint angles. Move the character over a groundplane in such as was so as to avoid 'skating' (foot slippage relative to the ground).