How to use the pattern applet: This applet is created to help build ice dance patterns. Each pattern is built up step by step. A pattern is made up of lobes, circular arcs, tangent to each other. The arcs themselves are the "continuous axis" of the pattern. Since steps are made with feet, tracings will generally not be on the continuous axis. Indeed, each step will begin either "inside" the continuous axis (or "pattern") or "outside" it. Note that this is quite different from the normal skating definition of "inside" or "outside." The applet can be used in one of two ways. Either it can be run interactively, using the controls to enter the steps (slow and painful) or it can be run from a script. The scripting language is much more powerful than the controls, but I haven't figured out a way to bypass Java's applet security, so as far as I can tell no one else can use that approach. Since if others get to use it, I might have to maintain this program as more than just a toy, I might not get around to it. :) The Edges applet has the following controls: Clear: Starts the pattern over from scratch. Undo: Removes the last item done. Number Beats: Draws beat numbers inside the pattern. Label Edges: Draws edge numbers and descriptions near the edges Beats per Edge: Edges henceforth will be this long. A beat is an arbitrary length of time defined elsewhen. Beats per Circle: Each edge is an arc, so a four beat edge will go halfway around an 8-beat circle, but only 1/4 around a 16-beat circle. Edge: Draws an edge of the type chosen below. Newlobe: Starts heading in the other direction, either leaning left or right. Edge Types: Centered: draws an edge on the continuous axis Invisible: moves some beats along the continuous axis. Inside-Inside: draws an edge inside the continuous axis Outside-Outside; draws an edge outside the pattern. Inside-Outside: draws an edge starting inside the pattern and ending outside the pattern. Outside-Inside: reverse of the last thing. Inside Mohawk: draws a forward inside Mohawk outside the pattern. (O-O) Outside Mohawk: draws a forward outside Mohawk inside the pattern. (I-I) Two Foot: draws an edge with both feet on the ice. Three: draws a three turn. (I-O) Cross Three: draws a three turn. (O-O) Draw Rink: Draws a 200' x 100' rink around the pattern, sizing and placing it to fit. Lower Left Slider: Zooms in and out Lower Right Slider: Pans right and left Right side slider: Pans up and down Scripting Language: The best way to create patterns is to use the scripting language. I don't know a good way to make extensive text input a useful part of the system while letting the program stay an applet, but here's the syntax anyway. Each line consists of a command and some arguments. Optional arguments are noted in curly braces ({}). The commands are: ! comments begin with exclamation points edge beats {label} draws a centered edge of beats in duration iiedge beats {label} draws an inside to inside (I-I) edge ioedge beats {label} draws an I-O edge oiedge beats {label} draws an O-I edge ooedge beats {label} draws an O-O edge invisible beats {label} draws an invisible edge three beats {label} draws a three turn (I-O) crossthree beats {label} draws a three turn (O-O) insidemohawk beats {label} draws an inside Mohawk (O-O) outsidemohawk beats {label} draws an outside Mohawk (I-I) twofootedge beats {label} draws a two-foot edge circle beatspercircle sets the number of beats for future circles. Default is 16. newlobe Starts a new lobe in the other direction start x y Starts the pattern somewhere other than the center. The coordinate system is (0,0) is the center, with positive Y up and positive X to the right. The closest edge of the application is unit distance from the center. measure beats Tells the program how many beats per measure to draw. Default is 4. phase angle Tells what angle along the first lobe to start the pattern. 0-360 are sensible choices. radius units Tells the program to change the size of the circles used for lobes. The program will do this automatically each time the number of beats per circle is changed. This is to assume that skaters stay at the same speed. If a pattern or program requires speed changes, this can be done by changing the radius of the circle. Default is .2 ifd units Changes the distance between "inside the pattern," "on the pattern," and "outside the pattern." Default is .01 patternturn degrees changes the lobe so that the next edge is not tangent to the previous one. This ought never be used, but I can't figure out how to draw the Cha-cha without it. The patterns in the USFSA handbook make extensive use of patternturns. widestep factor increase the ifd for the next step only by a factor of factor. label text draws a label between the previous edge and the next one. Typical labels are "XB" and "XF". rink x y adds a rink of different aspect ratio than the default one. progressive beats draws a little progressive arrow inside the pattern extending along the next "beats" beats. Labels: Labels have a little syntax of their own. They are: {carriage control character}{optional number }{text} If the first character is one of -\/.',v^ then it is removed and used as carriage control. The effects are: CC Character Effect -- --------- ------ None draw to right ^ draw to right and up one line v draw to right and down one line - draw to left \ draw to left and up one line / draw to left and down one line . draw centered ' draw centered and up one line , draw centered and down one line If the first character is a number (or the second is if the first is a cc character), then the number is removed and drawn in bold face. The rest of the text is drawn normally. Examples: 1 LFO Labels step #1 as _1_ LFO '11a RFO opMo Labels step #11a as an RFO opMo (open Mohawk) with the 11a bolded. The label is drawn centered and raised. An example pattern: ! This is the pre-silver Foxtrot start .45 -.25 phase -25 ifd .007 radius .2 ! Men's steps circle 16 ioedge 1 1 LFO label XB ioedge 1 2 RFI XBCh ioedge 2 3 LFO label XS newlobe circle 12.5217 crossthree 2 4a RFO XR dr3 iiedge 2 4b LBO newlobe circle 16 iiedge 2 5 RBO oiedge 1 6 LFO ooedge 1 7 RFI Pr ioedge 2 8 LFO newlobe label XS crossthree 2 ^9 RFO XR dr3 iiedge 2 10 LBO newlobe circle 8 label SC iiedge 1 11a RBO ooedge 1 11b LBI pr circle 12.5217 iiedge 4 -12 RBO newlobe circle 8 ioedge 2 -13 LFI newlobe circle 16 ooedge 2 -14 RFI ! Lady's Steps circle 16 ioedge 1 -1 LFO label -XB ioedge 1 -2 RFI-XBch ioedge 2 -3 LFO newlobe circle 12.5217 label -XS ooedge 4 -4 RFO-XR newlobe circle 16 label -XS crossthree 2 -5 LFO-XR-dr3 iiedge 1 -6 RBO ooedge 1 -7 LBI-Pr ioedge 2 -8 RBO newlobe label -XS oiedge 2 -9 LBO-XR oiedge 2 -10 RFO newlobe circle 8 label -SC ioedge 2 -11 LFO circle 12.5217 iiedge 4 12 RBO newlobe circle 8 ioedge 2 13 LFO newlobe circle 16 ooedge 2 14 RFI