CPSC 486 Assignment 3: Virtual Trackball