The premise of my project was to create a program that takes an equation of a surface, the bounds of that surface, a plane, and a point as input values and returns a 3D image of these three objects, as well as the shadow produced as if the point was a light source and the bounded surface created a shadow onto the specified plane. This is a program in Python using OpenGL.
Here are some parametric graphs and their shadows I was able to create using this final program.