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.
Search Mode: The program can be used to list periodic billiard paths in a given convex polygon with vertices whose coordinates are rational. The program lists all periodic billiard paths up to a given combinatorial length.
The following line will search for all periodic billiard paths of combinatorial length less than 20 in the convex quadrilateral with rational vertices (0,0), (1,0), (1,1), and (-1/3, 1/2):
The output should be similar to:
These sequences of numbers represent the orbit type of a periodic billiard path, i.e. the sequence of edges hit by the billiard path. The numbers of edges are assigned increase by one as you move in the counterclockwise around the shape. The edge with label "0" is the edge joining the first two vertices listed on the command line.
Stable Search Mode: This mode is similar to the previous search mode, except that in this mode only orbit types of stable periodic billiard paths are listed. A periodic billiard path in an n-gon P is stable if there is an open set U of polygons containing P so that every polygon in U has a periodic billiard path with the same orbit type. This search should be faster than the standard search mode.
The directions for running in this mode are identical, except that we replace "Search" with "StableSearch" in the command line:
The output should be:
Unfolding Mode: In this mode, the program opens a window and displays an unfolding of a periodic billiard path. The command is called like this:
The source code is contained in the following zip file: mcb2-src.zip. The code is licensed under the GPL version 2 or any later version.
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.
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.