import java.applet.Applet; import java.awt.event.*; import java.awt.*; import java.awt.geom.*; class TextTheorem { public String getText(int k) { if(k==0) return(text0()); if(k==1) return(text1()); if(k==2) return(text2()); if(k==3) return(text3()); if(k==4) return(text4()); if(k==5) return(text5()); if(k==6) return(text6()); if(k==7) return(text7()); if(k==8) return(text8()); if(k==9) return(text9()); if(k==10) return(text10()); return(null); } public static String text0( ) { String S="SPECIAL MAPS: Our result holds for general N-gons, but we will set N=7 for ease of exposition. In the introduction, we mentioned that we associated 7 strips maps M0,...,M7 to a 7-gon M0 is associated to the pair (S0,V0) where S0 is the 0th special strip and V0 is the associated vector. And so on. The maps are listed according to the cyclic ordering of the slopes of the strips."; return(S); } public static String text1( ) { String S="THE PINWHEEL MAP: Let X denote the product of the plane with the set Z/7.. So, X is a union of 7 identical copies of the plane. The pinwheel map is a map from X to itself. We define M(p,0)=(M0(p),0) if M0 acts nontrivially on p, and otherwise M(p,0)=(p,1). The action on points with other second coordinates is similar. The 2nd coordinate changes only if the map is trivial on the 1st coordinate. The pinwheel map is almost everywhere defined on X. "; return(S); } public static String text2( ) { String S="LIFT AND PROJECT: Let R2 denote the plane and let P denote our polygon. There is an obvious projection from X to the R2. Just forget the second coordinate. There is a nice 'lift' from R2-P to X. Referring to the 'wedge1' display, a given point p lies in (say) wedge 3. We map p to (p,3). We call '3' the index of p in this case. This lift is almost everywhere defined on R2-P and we will not worry about the points where it is not defined. "; return(S); } public static String text3( ) { String S="PINWHEEL FRAGMENTS: A pinwheel fragment is a finite sequence of points in R2-P, constructed by the following means: Start with p in R2-P, then lift to X, then iterate the pinwheel map K times, then project. The 'lifting data' of the fragment is the pair of integers (n1,n2), where (p,n1) is the lift of p, and n2=n1+K. Here K is some arbitrary non-negative integer. The 'span' of the fragment is K."; return(S); } public static String text4( ) { String S="EXERCISE: Press the 'theorem' button, and then press 'go' to see the animation. You are now watching a point trace out a pinwheel fragment. The initial point of the fragment lies in the red tile and the final point of the fragment lies in the blue tile. Moreover, the final point of the fragment is the image of the initial point under the square outer billiards map. "; return(S); } public static String text5( ) { String S="MAIN THEOREM: Let p1 be any point of R2-P on which the square outer billiards map is defined. Let p1=f(p2) be the image of p1 under the square outer billiards map. Let n1 be the index of p1 and let n2 be the index of p2. Then there is a pinwheel fragment, with lifting data (n1,m2) whose initial point is p1 and whose final point is p2. Moreover, m2 and n2 agree mod 7. (In the general N-gon case, mod 7 is replaced by mod N.)"; return(S); } public static String text6( ) { String S="COLORING: When you click on a region of R2-P, the region of constancy containing your point lights up red. The image of the red tile under the outer billiards map lights up blue. The remaining tiles light up various colors. Each colored tile corresponds to the strip of the same color. There is no strip corresponding to the blue tile. So, the last colored strip is the color of the tile preceding the blue one. We call this last color the penultimate color."; return(S); } public static String text7( ) { String S="GAPS: Here is a subtle point. Sometimes it happens that the highlighted strips, going from red to the penultimate color, are not consecutive. That is, some of the interpolating strips are colored grey. In this case, the action of the pinwheel map on the relevant tile is trivial, except for the fact that it advances the second coordinate (the number 0,1,2...) by 1. So, even in this case, we really are iterating the pinwheel map exactly as defined."; return(S); } public static String text8( ) { String S="EXERCISE: Press 'theorem:gap' on the 'presets' console. This option gives an instance of the theorem where a gap does occur. Press the 'which strip' arrow keys to advance the strips sequentially. The relevant strips run from red to the penultimate color. Let's say that a grey strip appears in the run, and the next color is green. Then the grey strip will contain the green tile. The corresponding application of the pinwheel map is trivial except for the index advancement."; return(S); } public static String text9( ) { String S="ITERATION: A crucial feature of the main theorem is that it is compatible with iteration. Suppose we have an orbit p1,p2,p3 of the square outer billiards map. Then the two pinwheel fragments p1-->p2 and p2-->p3 piece together to give a longer pinwheel fragment p1-->p3. And so on, for more iterates. This allows us to state the Main Theorem in a different way. We will do this in the 'corollaries' text."; return(S); } public static String text10( ) { String S="COROLLARY: Start with a point p in R2-P that has a well defined outer billiards orbit. Let O(p) be this orbit. Let q be the lift of p to X. Then the pinwheel orbit O(q) has the following property: For an infinite syndetic sequence of times, the projection of O(q) agrees with O(p). A sequence of increasing positive integers is syndetic if there is a uniform bound to the sizes of the gaps between successive terms."; return(S); } }