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:
- Set the doc: button to on.
- Click on the off button at the left.
- Click on various parts of this window and
see the new documentation appear.
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.