McBilliards II

The long awaited sequel to McBilliards has finally arrived!

McBilliards II is a collection of Java programs written to investigate periodic billiard trajectories in polygons.

The comment that the "sequel has arrived" was a joke. The original McBilliards was developed actively for many years by Rich Schwartz and I, while this program was written by me alone in a few weeks. Nonetheless, this program has been used to produce new results about polygonal billiards.

What McBilliards II does:

Currently, the program allows the user to search for periodic billiard paths in arbitrary convex polygons. However, making the program work for non-convex polygons would not require too much effort. It also draws the unfolding of a periodic billiard path.

Running McBilliards II:

Source code:

The source code is contained in the following zip file: The code is licensed under the GPL version 2 or any later version.

Users of this program, and new mathematical results:

This program was actively used by Hai Bin Chang (undergraduate, National University of Singapore) and Yilong Yang (undergraduate, Brown University) during their participation in the SUMMER@ICERM Undergraduate Research Program. I would like to thank them for helpful suggestions which improved this software. Hai Bin and Yilong are currently completing the writing of a research paper "Billiards in near rectangles," which proves that quadrilaterals which are sufficiently close to being rectangles have periodic billiard paths.

Prospects for future development:

The program will be further developed on an as needed basis. The underlying algorithms used can be used to detect closed geodesics on geometric structures on surfaces (or billiard tables) modeled on the plane. Here we could think of a surface as defined by a union of polygons with edges identified by affine maps for instance. The program can be extended to do exact arithmetic in any finite extension of the rationals. So, in principle the program can be used to rigorously find closed geodesics on surfaces with (G,X)-structure, where X is the plane and G=Aff(2,F), the affine group of the plane which preserves F2.

Please feel free to contact me if you would like the program to do more, or would like to assist in further developing the program.

Hooper >>>>> Visual >>>>> McBilliards II
Last modified on September 14, 2012.
[check html] [check css]