Write a program that uses the routines in the previous three exercises to display a threedimensional cube using a one-, two-, or threepoint perspective projection according to input taken from the keyboard, which should be used to switch between propections. The program should also allow the user to rotate the cube in the $x z$ plane around its center. Examine the visual differences of the three different types of projections.