import java.applet.Applet; import java.awt.event.*; import java.awt.*; import java.awt.geom.*; class TextUse { /**This is a documentation file. It is read by the file reader.**/ public TextUse() {} 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()); return(null); } public static String text0() { String S="HOW TO USE: First, a list of components:\ncentral hub -- lower middle\ncolor selector -- above this window \nplot windows -- top left and right\ndisplay controls -- top middle, blue \njoint controls -- top middle, teal \npolygon exchange windows -- bottom right\nkeyboard shortcut list -- middle right.\nWe'll go through these one at a time."; return(S); } public static String text1() { String S="CENTRAL HUB: (lower middle) This has 3 control panels.\n--The 'explanation' control selects the text unit.\n--The 'polygon exchange' control selects different modes for polygon exchange windows at bottom right. \n--The 'special configurations' control sets the program into certain states, so as to illustrate various points. Some plots are time-consuming, and their display slows the program. If you notice this happening, press the 'reset program' button."; return(S); } public static String text2() { String S="COLOR SELECTOR: (above this window) You select a color either by clicking on the little colored squares or by clicking on the 4 sliders. The top 3 sliders control the red, green, blue values of the color, and the bottom slider controls the transparency. The central rectangle displays the current selected color. "; return(S); } public static String text3() { String S=" Various of the control panels have 2 columns of buttons. The left columns control the colors.\n\nExercise: Press the 'ideal fractal' button on the central hub, select a green color, then click on the left square by '6' on the control panel at the very top that says 'I3'. This changes the right picture from blue to green."; return(S); } public static String text4() { String S="PLOT WINDOWS: (top left and right) These windows show the main plots, we explain below. The plot windows have a scaling system.\n\nButton-1 (or key-z): zoom\nButton-2 (or key-x): reset scale\nButton-3 (or key-c): undo last zoom."; return(S); } public static String text5() { String S="EXERCISE: Press some of the first 5 buttons on the 'special configurations' window and then practice the scaling feature explained on the previous page. The red strip at the right shows the keyboard shortcuts. The last 3 buttons on the 'special configurations' window call up pictures that are scaled in a different way."; return(S); } public static String text6() { String S="DISPLAY CONTROLS: (top middle, blue) The controls 'I3', 'V3', 'G3' for the left plot window run down along the left side of the upper central window, and 'I2', 'V2', G2' do the same for the right. Each control panel has 2 columns of buttons. The left column selects the colors and the right column toggles whether the corresponding object is displayed."; return(S); } public static String text7() { String S="Multiple objects can be displayed simultaneously, but most features work best when just one is. You can select colors on all control panels but you can only use the object display controls on the left. The right object selector is forced to mirror the left one. \n\nExercise: Play with the plot controls until you see how they work."; return(S); } public static String text8() { String S="JOINT CONTROLS: (top middle, teal) These controls jointly modify the plots in both plot windows. After you read more about the math behind the program, you know specifically what each control does. \n\nExercise: Reset the program and then turn on the G3 plot. (The G2 plot also comes on, as discussed above.) Now click repeatedly on the 'which orbit' key and watch the picture change."; return(S); } public static String text9() { String S="EDGE BASED SCALING: (middle) Press one of the last 3 buttons on the 'special configurations' control. The row of squares that appears under the heading 'Edge Based Scaling' gives you another way to scale. The new way focuses attention on a particular portion of the picture. The leftmost square is the 'off position', and the other squares are all different versions of 'on'. When the edge based scaling is on, the ordinary scaling does not work."; return(S); } public static String text10() { String S="EXERCISE: Click on all the 'edge based scaling' squares, left to right, to see what they do. Verify that the original scaling feature only works when the left most scaling square is selected."; return(S); } public static String text11() { String S="POLYGON EXCHANGE: (bottom right) The two windows at bottom right illustrate the polygon exchange map on which this program is based. We defined this map in the introduction, and the 'polygon exchange' text gives more details. The left 'polygon exchange' window serves as the control panel, and the right one is a picture window. You click various quantities in the left window and there might be some consequences in the right window. The right window can be scaled in 'outer billiards' mode."; return(S); } }