See proposal.pdf and report.pdf for more details on implementation and theory.
To verify the correctness of my objective function, I also mostly implemented it in Mathematica. See calculations.pdf.
python main.py examples/cube.stl orient
python main.py examples/cube.stl plot
> python main.py examples/cut cylinder.stl orientplot
`File "examples/cut cylinder.stl" oriented with angles [-2.62 -0. ] and value 0.12231975793838501 in 586 ms`
> python main.py examples/cut cylinder.stl plot
Plotting function value for examples/cut cylinder.stl
Minimum value of 1.2497923374176025 found