geometricopticssimulation