The web version of Juggling Lab at jugglinglab.org/anim can animate juggling patterns from instructions in the URL. These animation URLs are created using the "Share" function in the application. They can also be created manually, as described here.
Try clicking on these links to get the idea.
The pattern information comes after the '?' in the URL, and it can have two formats:
"var1=a;var2=b;var3=c" and so on.When the second form above is used, Juggling Lab recognizes the following variables. There must be exactly one pattern or jml; all others are optional.
pattern – pattern to animate, in generalized siteswap notation. No default.bps – number of beats per second in the pattern, a floating point value. Default is
automatically calculated from the pattern.dwell – number of beats a catch is made prior to the subsequent throw. Values are floating-point numbers between 0.0 and 2.0; default value is 1.3.hands – hand movement as a sequence of spatial coordinates
for catches and throws and points in-between. This should be provided in the format used in
the siteswap input panel.body – body movement as a sequence of angles and spatial coordinates. This should be provided in the format used in
the siteswap input panel.colors – determines the coloring of the props. Each color is defined either
by name or by its red/green/blue components on a 0-255 scale. For example if this
setting is equal to {red} or {255,0,0}, the animator will use red balls.
If you define several colors in a list, they are assigned to the balls in a cyclical manner. For example,
{255,0,0}{0,255,0} means that ball 1 is red, ball 2 is green, ball 3 is red,
ball 4 is green, and so on. Recognized color names are:
transparent, black, blue, cyan, gray, green, magenta, orange, pink, red, white, yellow. Using the
value mixed (no braces) will apply a pre-defined mix of colors. orbits (no braces) will apply distinct colors to each orbit in the pattern. Default is {red}.propdiam – diameter of the props, in centimeters. Default is 10.0.prop – prop type to use. Recognized prop names are ball, image, ring, and square; default is ball.gravity – acceleration of gravity, in cm/sec^2. Default is 980.0 (Earth standard).bouncefrac – fraction of a ball's energy retained after bouncing off the ground
(how much of its dropped height does it return to?). Values are floating point numbers greater than 0.0;
default is 0.9.squeezebeats – for catches into the same hand at the same time, number of beats over which catches are spread out. Use value of 0.0 for true squeeze (simultaneous) catches. Default is 0.4.hss – hand siteswap pattern to apply to the hands. See the documentation.handspec – (for hss mode only) assignment of hands to jugglers; see documentation for format.dwellmax – (for hss mode only) whether to automatically maximize dwell time. Default value is true.hold – (for hss mode only) whether to hold throws that can be held. Default value is false.jml – pattern to animate, in encoded JML notation. This form is used when a siteswap has manual edits applied. When this is specified, all other pattern-setting variables are ignored. No default.slowdown – defines an overall time slowdown factor (e.g., slowdown=1 is actual speed,
slowdown=2 is half actual speed). Default value is 2.border – defines a border (in pixels) around the animation. Default value is 0.showground – whether to display the ground. Recognized values are
true, false, and auto (which shows the ground for
bounce patterns). Default value is auto.startpaused – whether to start the animation paused. Default value is false.stereo – whether to display the pattern as a cross-eyed stereogram. Default value is false.catchsound – whether to play a sound for each catch. Default value is false.bouncesound – whether to play a sound for each bounce off the floor. Default value is false.camangle – the camera angles in degrees, given as one or a pair of angles. Example: camangle=(0,90). The first angle describes rotation of the camera around the juggler, and the second angle is the elevation angle given as degrees from directly overhead (i.e., 90 puts the camera on the same level as the juggler). Default value depends on the pattern.hidejugglers – list of one or more jugglers to hide (i.e., not
render) during animation. Examples: hidejugglers=1 or hidejugglers=(1,3).
Default is to show all jugglers.These settings are recognized
by the desktop application when animating from a JML pattern list file (the animprefs field). They are ignored when animating from a URL.
width – animation width, in pixels.height – animation height, in pixels.fps – number of frames per second when saving as an animated GIF. Default value is 33.3.view – type of view to display. Recognized values are
simple, visual_editor, pattern_editor, and selection_editor. Default
value is visual_editor.mousepause – whether to pause the animation when the mouse pointer is not within its boundaries. Default value is false.