1. A non-transitory program storage device, readable by a programmable control device and comprising instructions stored thereon to cause the programmable control device to: obtain a two-dimensional (2D) image of markings on a retroreflector, the retroreflector being a glass prism having a first face, a second face, a third face, and a fourth face, the first face, the second face, and the third face being mutually perpendicular reflecting surfaces, the fourth face being a front face of the prism, the first surface and second surface intersecting in a first intersection line, the second surface and the third surface intersecting in a second intersection line, the third surface and the first surface intersecting in a third intersection line, the first intersection line having a straight first intersection mark, the second intersection line having a straight second intersection mark, the third intersection line having a straight third intersection mark, the front face having a first surface mark; determine a 2D mathematical representation of the markings on the retroreflector based at least in part on guess values for each of three orientation angles of the retroreflector; extract a first collection of 2D coordinates from the 2D mathematical representation and a corresponding second collection of 2D coordinates from the 2D image of markings; determine a figure of merit based at least in part on the first collection of 2D coordinates and the corresponding second collection of 2D coordinates; and adjust the guess values for the three orientation angles to improve the figure of merit.