For the shapes: have some default "simple" shapes, and then some advanced ones made by inputting algebraic formulae (since that's what the program will be using them to calculate the shapes anyways) With the advanced option you could create any shape you needed, as long as you knew some al...