100 Degree Theorem

This window illustrates Rich's theorem that a triangle has a periodic billiard provided that all its angles are at most 100 degrees. Here we will give a rough summary of the features of the window. You can get more specific documentation by following this procedure: Basic Definitions: Here are a few definitions which are basic to this window, and to all of McBilliards. A word is a finite string in the digits 1,2,3. The shortest word of interest to us is 123123. A periodic billiard path in a triangle gives rise to an infinite repeating word in the following way: We label the sides of the triangle by the digits 1,2,3, and then simply record which sides are hit as the path goes about its business. In describing such infinite periodic words, we list a single period. W is called the combinatorial type of the billiard path. Each point in this window represents a triangle. Specifically, the point (x,y) represents the triangle, two of whose angles are 90x and 90y. Given a word W, the orbit tile O(W) is defined as the set of points (x,y) which correspond to triangle having a periodic billiard path of combinatorial type W.

Covering the Strip Let S denote the strip in parameter space corresponding to triangles whose obtuse angle is at most 100 degrees. Our plan of proof is simply to cover S with orbit tiles. The tricky business is that we need to use infinitely many orbit tiles. First of all we prove rigorously in our paper that some small (but tricky) portion of S is covered by the union of 4 infinite families of orbit tiles. This window does not explain these arguments, but it does allow you to see how the families sit in parameter space. (Also, the reader can analyze these tiles to his or her heart's content using the main features of McBilliards.) The main point of this window is to illustrate the covering of S by orbit tiles and to let the reader trace through the calculations which show that the portion of S not covered by the infinite families is still covered by about 200 sporadic orbit tiles.

Polygonal Approximation For each relevant W we select a polygonal approximation P(W) which is contained in O(W). We call P(W) a rational approximation, because its vertices are rational. To prove our theorem we show that S is covered by the union of the sets P(W).

Data Boxes Each little square on the left side is what we call a data box. Each data box B(W) contains a word W and the coordinates for P(W). When you click on B(W) you see a combinatorial representation W. You also see the coordinates of the vertices of P(W) listed on the right. By setting the plot mode appropriately you see P(W) plotted on the main McBilliards window. The data boxes are divided into two types. The cyan ones are computational and the magenta ones are analytic . If you set the verify mode appropriately and you click on a computational data box B(W) you can plot a finite covering of P(W) by dyadic rational squares, each of which is guaranteed to lie in O(W). This gives a proof, modulo roundoff error, that P(W) is contained in O(W). The analytic boxes correspond to words in our infinite families. As we mentioned above, these are treated rigorously and analytically in Rich's papers.

Roundoff Error We said above that our computations give a proof, up to roundoff error, that S is covered by the sets P(W). To give our rigorous computer-aided proof, we use the BigInteger class in java, which lets us do arbitrary precision arithmetic. You can do the computations in this window, either with or without the arbitrary precision. In the latter case, the computations are much slower but give just about the same result.

Sanity Checks In this window we perform 3 sanity checks to help check that we have progremmed everything correctly. For instance, one of the sanity checks verifies that the low and high precision routines give just about the same answer on random evaluations. As we mentioned above, one can use the main part of McBilliards to plot O(W) for any word on the list and see that it contains P(W). One can then open up auxilliary windows, such as the Unfolding window to visually check that the plotted version of O(W) is accurate. This is perhaps the strongest check of all that we have programmed things correctly. Once you select a data box, McBilliards knows about the word and you can manipulate it just as you would manipulate a word you get from a search.

This ends our rough tour of the window. Once again, you can get more detailed information as you click various parts of the window. To use this feature, you should turn the documentation button on, and keep this window open.