Computer Science 102 Short Program 4 Due 6 March 11:59PM Adhere to the following programming standards. Violations will lead to deductions. (1) no function should be longer than 30 lines code + whitespace. (2) the maximum nesting level in any function is ONE (3) code lines should not extend beyond column 72 (4) no more that one statement may be written on a single line (5) use reasonably descriptive names for variables and functions (6) package all functions into a single source code module named camera.c (7) your program should compile without any warnings with gcc -Wall (8) indenting should be consistent with logical nesting (9) diagnostic / debug prints should be disabled/deleted in your submission. In this assignment you will convert mp1 to a hybrid C/C++ program. The class definitions that <> in the sp4 subdirectory. If you are loafing along in the course I strongly encourage you to CONVERT YOUR OWN EXISTING CODE. Even if you do convert your own code you must use the class definitions in the new ray.h. But if you are struggling along, the sp4 directory also contains the core of a fully functional C++ raytracer that will do planes but not spheres. You need to add your own list.cpp module and vector.h (I recommend AGAINST converting the vector library to C++ for now). So if you want to make a fresh start with some reasonably robust code feel free to do that. ALL the remaining projects will build upon the C++ foundation. In that case ALL that you need to do is: (1) add your vector.h to the collection (2) add your list.cpp (2) using plane.cpp as a guide create sphere.cpp