import java.applet.Applet; import java.awt.event.*; import java.awt.*; import java.awt.geom.*; class TextPoly { 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()); if(k==11) return(text11()); if(k==12) return(text12()); return(null); } public static String text0( ) { String S="POLYGON EXCHANGE: This text explains the meaning and workings of the two windows at bottom right. These windows concern the polygon exchange map h: R-->R, described in the introduction, which arises in connection with the first return map for outer billiards on the regular octagon."; return(S); } public static String text1( ) { String S="OUTER BILLIARDS: As we described in the introduction, this mode illustrates how the polygon exchange map h: R-->R is derived from the outer billiards dynamics on the regular octagon. If this doesn't ring a bell, you should, re-read the introduction."; return(S); } public static String text2( ) { String S="BASIC MAP: This mode illustrates the polygon exchange map h. The left and right windows show copies of R. In each window, R has been dissected into polygons. The dissection on the right is a mirror image of the one on the left. The dissections are such that each piece on the left is translation equivalent to at least one piece on the right. h is a piecewise translation. When you click on a region X in the domain, X lights up and also h(X) lights up in the range."; return(S); } public static String text3( ) { String S="EXERCISE: Click on the various regions in the domain and see where h maps them. Observe certain symmetries:\n1.h commutes with a 180 degree rotation of R.\n2.h maps each left-of-center triangle to a right-of-center triangle.\n3. h maps each left-of-center quad or pentagon to a left-of-center quad or pentagon.\n4. Symmetries 2 and 3 also hold with 'left' and 'right' swapped."; return(S); } public static String text4( ) { String S="PERIODIC ORBITS: Any periodic point is contained in a maximal convex polygon consisting entirely of periodic points having the same period. We call this convex polygon a periodic tile. In our case, the periodic tiles are all regular octagons. We think of the dynamics as acting directly on the periodic tiles. We color the orbits of interest to us red and blue, according to their accumulated parity. See next page. "; return(S); } public static String text5( ) { String S="ACCUMULATED PARITY: In the introduction, page 7, we explained the coloring of the domain R in terms of the region swapping properties of the first return map to R1. Let p0,p1,p2... be an h-orbit. The accumulated parity of (say) p5 is defined to be the number of times one of the points from the list p0,p1,p2,p3,p4 lands in a red region in the domain, mod 2. Likewise for the other numbers."; return(S); } public static String text6( ) { String S="PERIODIC STRUCTURE: Let s=sqrt(2)-1. The largest periodic octagons have radius s. The next largest have radius s^2, and so on. Here 'radius' means distance from the center point to a vertex. For any given size, there are two periodic orbits, which we have colored red/blue (one lighter, one lighter) as described above. The periodic tile of radius s^N has period 3^(N-1). "; return(S); } public static String text7( ) { String S="The largest octagons are fixed by the map, the next largest have period 3, the next have period 9, and so on. A variant of of this map has been well studied. There is a nice renormalization scheme that forces this structure. We discuss this renormalization scheme next."; return(S); } public static String text8( ) { String S="RENORMALIZATION: This mode illustrates the renormalization scheme for the polygon exchange map. R is the domain for the map and S is a distinguished subset. Any orbit that starts in S returns to S after 3 iterates. There is an orientation-reversing dilation from S to R that conjugates the 3rd iterate of the map on S to the original map on R. (Both possible maps like this will work, and we pick one.)"; return(S); } public static String text9( ) { String S="In other words, up to scale, the 3rd power of the map acts on S just like the original map acts on R. Moreover, any nontrivial orbit in R actually intersects S. This structure is well known for the variant map.\n\nExercise: Click the 'which iterate' keys to see how the 3rd power of the map on S is (literally) similar to the original map acting on R."; return(S); } public static String text10( ) { String S="PERIODIC CASCADE: The renormalization scheme explains the structure of periodic orbits. By inspection, the largest octagons A1 and B1 have period 1. But then there are octagons A2 and B2 in S which have period 3. The map from S to R carries A2 to A1 and B2 to B1. But then there are octagons A3 and B3 in S which have period 9. The map from S to R carries A3 to A2 and B3 to B2. And so on. This accounts for the periodic orbits one sees in the picture."; return(S); } public static String text11( ) { String S="CLASSIFICATION OF PERIODIC ORBITS: Here is an inductive argument proving that an arbitrary periodic orbit (i.e. p0,p1,p2...) is one of the orbits in the cascade. We first observe the following. If p0 lies in S then p1 and p2 do not. Hence, any periodic orbit that intersects S has period which is a multiple of 3. We have already mentioned that any nontrivial orbit intersects S. Hence, 3 divides the period of any periodic orbit. "; return(S); } public static String text12( ) { String S="Suppose we have a mystery periodic orbit of period 3N. This orbit intersects S. But then we see that the map from S to R carries our mystery periodic orbit to an orbit having smaller period N. By induction, the simpler orbit is in the cascade. But then, by construction, so is the mystery orbit. That is the complete classification of the periodic orbits of the map h: R-->R."; return(S); } }