Home Introduction Schedule People Assignments Texts Resources Project Proposals

CPSC 8170 -- Physically Based Animation

Fall 2018

Follow the Bouncing Ball

Homework Assignment 1

Due: Sunday Sept. 9


For this assignment, the object is to get everyone on a firm footing with the basic notions of physical simulation, and the use of OpenGL and GLUT as an interactive simulation and visualization environment. Build a simulation of a 3D spherical ball bouncing in a box. The box should have all six sides, but at least some of the sides should be invisible so that it is possible to view the ball. For this assignment, you may want to use my matrix and vector routines to make it easier to write the code involving vector mathematics. Note that my bouncing ball example may not be a very good place to start from, since it is done in 2D, and it is intentionally written to slow down the simulation for instruction in class. For this homework, you need to be working in 3D, with a virtual camera. Also, you will probably want the simulation to run as fast as it can, adjusting the time step h to speed up or slow down the simulation speed and display update.

You should write your program in C++ using OpenGL and GLUT to do the graphics and interaction. Remember that it must be compiled and tested on the School of Computing linux system using a Makefile before turning it in. I cannot support grading programs done in an IDE, since I use scripts to prepare your assignments for testing.