Our goal is to extend the 2-dimensional cubic spline into full 3-dimensional space, with user interface elements to rotate and scale the 3D graphic scene. Other tasks include using cylinders to replace the original 2D line segments, with colors and materials.
Your programming tasks include:
Extend the original cubic spline algorithms into 3D. Your mouse will be able to pick and move the control points, moving in x-y plane with mouse pointer, and moving in z-direction with the support of a modifier key
Implement a “rolling-ball” interface to rotate the scene in 3D with mouse. Implement a “zoom-in/out” interface with mouse motion and a modifier key.
Replacing the line segment with cylinders, adding appropriate colors and materials.
When the rolling ball interface receives mouse event with momentum, the rotation will be kept until another mouse click happens.