import java.applet.Applet; import java.awt.*; import java.awt.event.*; import java.applet.*; import java.awt.geom.*; import java.math.*; public class DocumentKey { Manager M; public DocumentKey(Manager MM) { this.M=MM; } public void colorInfo() { String S="color selector"; S=S+"\n\nThis the color selector. You can select colors in two ways. You can either click on the pre-chosen palette, or you can click on the 3 top sliders to specify the amount of red,green,blue in your color. If you click on the 4th slider, the one on the bottom, you control the transparency of the color. In this way, you can plot semi-transparent colors."; S=S+"\n\nAbove the color selector you will see written works such as z:zoom in. These have no active function, but they are present to remind you of the keyboard controls that substitute for the mouse buttons."; M.D.setExplain(S); M.D.repaint(); } public void coordInfo() { String S="coordinate controls"; S=S+"\n\nThis window controls and/or displays the coordinates of the selected points in some of the other windows. Here we explain the features of this window one at a time."; S=S+"\n\nblue bar: The two polyhedron exchange windows at bottom middle and bottom right display a slice of a 3D polyhedron exchange map. Normally (i.e., not in navigator mode) what is shown is a horizontal slice. The blue bar running across the whole window lets you specify the slice. The possibilities range from 0 to 2, as in the paper. The short fat marker, which is what you control by clicking or dragging, shows the slice parameter for the left PE window. The long thin marker, which you do not control, shows the slice parameter for the right window. The right slice parameter is a function of the left one: The right one is the image of the left one under the circle renormalization map R. The blue bar is alternately colored light and dark blue, according to the 5 intervals defining R. There are also finer colorations, indicating the pullback of the initial partition by R. These smaller intervals correspond to the 18 layers of the A renormalization set."; S=S+"\n\nrenorm: this does one step of the circle renormalization map. This has the effect of replacing the slice parameter in the left PE window with the slice parameter in the right PE window."; S=S+"\n\nanimate: this turns on the animation feature, whereby the slices are sampled more or less continuously. When you turn on this option, you get some auxilliary squares which control the speed of the animation. When the animation is on, you can't really do many of the other activities, like plotting in the PE windows. Mainly, this feature is just for fun."; S=S+"\n\nA layers: We've already mentioned that the blue bar is divided into 18 intervals, corresponding to the 18 layers of the A renorm set. These 4 squares pick out canonical points within each layer. The left button picks the left endpoint. The right button picks the right endpoint. The middle two squares pick interior points which are convex averages of the two endpoints. The weighting is by phi^{-1} and phi^{-2}, in each of the two orders. When you push the left or right button repeatedly, you can sample all the layer endpoints in an automatic fashion."; S=S+"\n\nvertex levels: The polyhedra in the PE window have their vertices contained in one of 11 horizontal slices. By clicking on these squares, you can select these special horizintal slices."; S=S+"\n\ninverses: Let t1 be the left PE window slice parameter and let t2 be the right one. Let R be the circle renormalization map. We always have t2=R(t1). However, there are three choice of t1 such that t2=R(t1). When you click on these 3 squares, you keep t2 fixed and sample the 3 possibilities for t1. It is interesting to plot some orbits in the left PE window, switch horizontal levels using these squares, and then plot orbits in the same spot in the new slice. The correlations you see are reflections of the Renormalization Theorem."; S=S+"\n\nbig nimbers: The two big numbers you see above this info box are the integer coding for the interval that contains the left slice parameter. They correspond to how the slice paramter sits with respect to the interval partitions of the blue bar. You can see the correspondence by playing around with the blue bar and watching the numbers change."; S=S+"\n\ncoordinate grabber and sender. If you press grab-A, it graps the current coordinates in the left PE window and stores then on the 3 magenta fields. If you press grab-B, the same thing happens with respect to the right PE window. If you press send-A, you send the coordinates listed in the 3 magenta fields to the left PE window. If you do the combination grab-B then send-A it is the same as pressing the renorm button. You can also enter numbers manually into the magenta fields and then send them. This lets you specify points in the left PE window very precisely. This feature was very useful for debugging."; S=S+"\n\ntolerance/depth controls: All the maps in this program are closely related to the ring Z[phi]. When you click on a point very close to an element in this ring, the program tries to make the best guess as to the element you want. For instance, the vertices of the polygon all have coordinates in Z[phi] and you might want to know the coordinates. The computer searches amongst all ring elements having certain bounds on their size, as controlled by the depth controls. The computer then looks for the first fit within the specified tolerance. The higher the tolerance number, the more stringent the requirements for fitting. This feature was very important in the development of the program because initially we only knew floating point approximations to the true coordinates. At this point, now that we know the coordinates of everything of interest, the feature seems not to be so useful."; S=S+"\n\nrightmost numbers: The numbers at very right are the coordinates of the selected points in the left and right PE windows, respectively. The white number is a floating point number and, when it appears, the yellow number is the program's guess as to the best Z[phi] fit."; S=S+"\n\ntop numbers: The numbers just beneath the outer billiards window are the coordinates of the selected point, subject to the same discussion concerning Z[phi] approximation. The numbers at top right, just beneath the arithmetic graph window, specify the offset associated with the arithmetic graph window. You should press the info button for the arithmetic graph window to learn about the offset value."; M.D.setExplain(S); M.D.repaint(); } }