Overall the project was a success. Python not being the fastest language in the world is a bottleneck for the algorithm so I plan to refactor into C, add more functionality,and iron out some bugs.
Unit tests are done in PyTest and the project was built with an object oriented design.
Patterns include checkerboard, rings, stripes, and gradients. Shapes include spheres and planes.
Building this project was a fantastic way to get to know the crossroads between math and computer science and has certainly sparked an interest in linear algebra for me.