The GIF server at jugglinglab.org generates GIF animations of juggling patterns from instructions embedded within a URL.
Try clicking on these links to get the idea. You can alternatively type this text directly into the browser address bar to pull up the animation.
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. Only the pattern
variable is required; the others are optional.
pattern
– siteswap 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. 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
, and ring
; 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
.width
– the width of the generated GIF, in pixels. Default value is 400
, or 600
when stereo=true
.height
– the height of the generated GIF, in pixels. Default value is 450
.fps
– the number of frames per second in the generated GIF. Default value is 33.3
. Note: Some browsers may have difficulty displaying GIFs with high fps
.stereo
– whether to display the pattern as a cross-eyed stereogram. Default value is false
.slowdown
– defines an overall time slowdown factor (e.g., slowdown=1.0
is actual speed,
slowdown=2.0
is half actual speed). Default value is 2.0
.border
– defines a border (in pixels) around the animation. Default value is 0
.startpaused
– whether to start the animation paused. Default value is false
. Note: This variable is ignored for web link animations.mousepause
– whether to pause the animation when the mouse pointer is not within its boundaries. Default value is false
. Note: This variable is ignored for web link animations.catchsound
– whether to play a sound for each catch. Default value is false
. Note: This variable is ignored for web link animations.bouncesound
– whether to play a sound for each bounce off the floor. Default value is false
. Note: This variable is ignored for web link animations.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.showground
– whether to display the ground. Recognized values are
true
, false
, and auto
(which shows the ground for
bounce patterns). Default value is auto
.view
– type of view to display. Recognized values are
simple
, visual_editor
, pattern_editor
, and selection_editor
. Default
value is visual_editor
for one juggler, and simple
for multiple jugglers.
Note: This variable is ignored for web link animations.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.redirect
– determines whether to redirect the browser directly to the GIF file, as
opposed to returning a results page containing the GIF. This allows you to embed animations directly
in <img>
tags in other pages, for example
<img ref="https://jugglinglab.org/anim?pattern=5;redirect=true" />
. Default value is false
.