Siteswap
Encyclopedia
Siteswap is a notation used to describe juggling
Juggling
Juggling is a skill involving moving objects for entertainment or sport. The most recognizable form of juggling is toss juggling, in which the juggler throws objects up to catch and toss up again. This may be one object or many objects, at the same time with one or many hands. Jugglers often refer...

 patterns. It encodes the number of beats of each throw, which is related to their height, and the hand to which the throw is to be made. It is an invaluable tool in determining which combinations of throws yield valid juggling patterns for a given number of objects. It does not describe body movements such as behind-the-back and under-the-leg. The notation was invented by Paul Klimek in Santa Cruz, California
Santa Cruz, California
Santa Cruz is the county seat and largest city of Santa Cruz County, California in the US. As of the 2010 U.S. Census, Santa Cruz had a total population of 59,946...

 in 1981, and later developed by Bruce "Boppo" Tiemann and Bengt Magnusson at the California Institute of Technology
California Institute of Technology
The California Institute of Technology is a private research university located in Pasadena, California, United States. Caltech has six academic divisions with strong emphases on science and engineering...

 in 1985, and by Mike Day, Colin Wright, and Adam Chalcraft in Cambridge, England
Cambridge
The city of Cambridge is a university town and the administrative centre of the county of Cambridgeshire, England. It lies in East Anglia about north of London. Cambridge is at the heart of the high-technology centre known as Silicon Fen – a play on Silicon Valley and the fens surrounding the...

 in 1985 (whence comes the alternative name).

Vanilla siteswap

Its simplest form, sometimes called vanilla siteswap, describes only patterns whose throws alternate hands and in which one ball is thrown at a time. If we were to watch someone from above as they were juggling while walking forward, we might see something like the diagram to the right, which is sometimes called a space-time diagram.

We can describe this pattern by stating how many throws later the ball is thrown again. For instance, on the first throw in the diagram, the purple ball is thrown in the air by the right hand, next the blue ball, the green ball, the green ball again, and the blue ball again and then finally the purple ball is caught and thrown by the left hand on the fifth throw, this gives the first throw a count of 5. We end up with a sequence
Sequence
In mathematics, a sequence is an ordered list of objects . Like a set, it contains members , and the number of terms is called the length of the sequence. Unlike a set, order matters, and exactly the same elements can appear multiple times at different positions in the sequence...

 of numbers which denote the height of each throw to be made. Since hands alternate, odd-numbered throws send the ball to the other hand, while even-numbered throws send the ball to the same hand. A 3 represents a throw to the opposite hand at the height of the basic three-cascade
Cascade (juggling)
In juggling, a cascade is the simplest pattern achievable with an odd number of props. The simplest cascade is the three-ball cascade. This is therefore the first pattern that most jugglers learn.-Three-ball cascade:...

; a 4 represents a throw to the same hand at the height of the four-fountain
Fountain (juggling)
The fountain is a juggling pattern that is often used for juggling an even number of objects. In a fountain, each hand juggles separately, and the objects are not thrown between the hands. For example, in a four-ball fountain, each hand juggles two balls independently.A fountain can be synchronous...

, and so on.

There are three special throws: a 0 is a pause with an empty hand, a 1 is a quick pass straight across to the other hand, and a 2 is a momentary hold of an object. Throws longer than 9 beats are given letters starting with a. The number of beats a ball is in the air usually corresponds to how high it was thrown, so many people refer to the numbers as heights, but this is not technically correct; all that matters is the number of beats in the air, not how high it is thrown. For example, bouncing a ball takes longer than a throw in the air to the same height, and so can be a higher siteswap value while being a lower throw.

Each pattern repeats after a certain number of throws, called the period
Frequency
Frequency is the number of occurrences of a repeating event per unit time. It is also referred to as temporal frequency.The period is the duration of one cycle in a repeating event, so the period is the reciprocal of the frequency...

of the pattern. The pattern is named after the shortest repeating segment of the sequence, so the pattern diagrammed on the right is 53145305520 and has a period of 11. If the period is an odd number, like this one, then each time you repeat the sequence you're starting with the other hand, and the pattern is said to be symmetrical because each hand is doing the same thing (although at different times). If the period is an even number then on every repeat of the pattern, each hand does the same thing it did last time and the pattern is possibly asymmetrical because each hand might be doing something different.

The number of balls used for the pattern is the average of the digits of the name of the pattern. For example 441 is a three-object pattern because (4+4+1)/3 is 3, and 86 is a seven-object pattern. All patterns must therefore have a siteswap sequence that averages to an integer
Integer
The integers are formed by the natural numbers together with the negatives of the non-zero natural numbers .They are known as Positive and Negative Integers respectively...

. Not all such sequences describe patterns as there is an additional constraint that no two objects may land at the same time.

It is also a convention in that a siteswap is written with its highest numbers first. For example in the siteswap 531 it is not written as 315 or 153.

State diagrams

Just after throwing a ball (or club or other juggling object), all balls are in the air and are only under the influence of gravity. Assuming you catch the balls at a consistent level, then the timing of when the balls land is already determined. We can mark each point in time when a ball is going to land with an x, and each point in time when there is not yet a ball scheduled to land with a -. This describes the state that you're in and determines what you can throw next. For instance, we can look at the state just after our first throw in the diagram, it is xx—x. We can use the state to determine what can be thrown next. First we take the x off the left hand side (that's the ball that's landing next) and shift everything else to the left filling in a - on the right. This leaves us with x--x-. Since we caught a ball (the x we removed from the left) we can't "throw" a 0 next. We also can't throw a 1 or a 4, because there are already balls scheduled to land there. So assuming that the highest we can accurately throw a ball is to a height of 5, then we can only throw a 2, 3, or a 5. In this diagram, the juggler threw a 3, so an x goes in the third spot, replacing the -, and we have x-xx- as the new state.

The diagram on the left shows all possible states for someone juggling three items and a maximum height of 5. From each state you can follow the arrows and the corresponding numbers give you the siteswap. Any path which brings you back to the same state that you started with is a valid siteswap, and all siteswaps can be generated this way. The diagram becomes a lot bigger very fast when more balls or higher throws are introduced as there are more possible states and more possible throws.

Another method of representing siteswap states is having the next throw on the right and read to the left (instead of the left to right system described above), represent a ball with a 1 instead of an x, and represent a spot where there's no ball scheduled to land with a 0 instead of a -. Then the state can be represented with a binary number, such as binary 10011 for the first state in the space-time diagram above. This method makes it a lot easier to represent more objects or higher throws as it is less complicated to create.
  7 11 13 14 19 21 22 25 26 28
(111) 7 3 4     5          
(1011) 11 2   4     5        
(1101) 13 1     4     5      
(1110) 14 0                  
(10011) 19   2 3         5    
(10101) 21   1   3         5  
(10110) 22   0                
(11001) 25     1 2           5
(11010) 26     0              
(11100) 28       0            

The table on the right contains the same information as the diagram on the left. To generate a siteswap, first find the row of your starting state. Reading across the row will give you the possible numbers you can throw and the column will give you the resulting state. Moving like this from state to state until you end up back in your starting state will give you a valid sitewap.

Multi-handed site-swap

Site-swap notation in its simplest form ("Vanilla siteswap") assumes that only one ball is thrown at a time. It follows that any valid site-swap for two hands will also be valid for any number of hands. Commonly used multi-hand siteswaps are 1-handed (diabolo) site-swap, and 4-handed (passing) site-swap.

1-handed site-swap (diabolo site-swap)

These patterns are for a single hand, or for a diabolo
Diabolo
The diabolo is a juggling prop consisting of a spool which is whirled and tossed on a string tied to two sticks held one in each hand. A huge variety of tricks are possible using the sticks, string, and various body parts...

 player throwing diabolos at different heights.

4-handed site-swap

Valid site-swaps can be juggled by a 4-handed juggler, or for 2 jugglers coordinating 4 hands, on the condition that hands throw alternately.

In practice, this is most easily obtained if the jugglers throw by turns.

(Right hand of juggler A, right hand of juggler B, left hand of A, left hand of B).

Synchronous siteswap

Siteswap notation can be extended to denote patterns containing synchronous throws from both hands. The numbers for the two throws are combined in parentheses and separated by a comma. Only even numbers are allowed, so throws that move to the other hand are marked by an x. Thus a synchronous three-prop shower
Shower (juggling)
A shower is a juggling pattern for 2 or more objects, most commonly balls or bean bags, where objects are thrown in a circular motion. Balls are thrown high from one hand to the other while the other hand passes the ball back horizontally. The animation depicts a 3 ball version. Siteswap notation...

 is denoted (4x,2x), meaning one hand continually throws a low throw to the opposite hand, while the other continually throws a higher throw to the first. Sequences of bracketed pairs are written without delimiting markers.

Multiplexing

A further extension allows siteswap to notate patterns involving multiple throws from either or both hands at the same time in a multiplex
Multiplex (juggling)
Multiplexing is a form of toss juggling where more than one ball is in the hand at the time of the throw. The opposite, a squeeze catch, is when more than one ball is caught in the hand simultaneously on the same beat...

 pattern. The numbers for multiple throws from a single hand are written together inside square brackets. For example, [33]33 is a normal 3 ball cascade, with a pair of balls always thrown together.

Other extensions

Various other enhancements to the siteswap system have been proposed and enjoy some use.
  • Passing: notation means one juggler does 'xxx' while another does 'yyy'. 'p' is used to represent a passing throw. For example, <3p 3|3p 3> is a 6 prop '2 count' passing pattern, where all left hand throws are passes and right hand throws are selves. This can also be used with synchronous patterns; a two person 'shower' is then <(4xp,2x)|(4xp,2x)>
  • Synchronous siteswap repeats: synchronous patterns that repeat in mirror image can be abbreviated with a *. For example, Instead of (4,2x)(2x,4) (3 ball box pattern), you can write (4,2x)*.

Programs

There are many free computer program
Computer program
A computer program is a sequence of instructions written to perform a specified task with a computer. A computer requires programs to function, typically executing the program's instructions in a central processor. The program has an executable form that the computer can use directly to execute...

s available which simulate
Simulation
Simulation is the imitation of some real thing available, state of affairs, or process. The act of simulating something generally entails representing certain key characteristics or behaviours of a selected physical or abstract system....

 juggling patterns.
  • Quantum Juggling simulator by Paul Klimek
  • Juggling Lab animator - An open source
    Open source
    The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

     animator which was written in Java
    Java (programming language)
    Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

     and interprets nearly all siteswap syntax. It can also be embedded as applet
    Applet
    In computing, an applet is any small application that performs one specific task that runs within the scope of a larger program, often as a plug-in. An applet typically also refers to Java applets, i.e., programs written in the Java programming language that are included in a web page...

     in a website.
  • Jaggle - Another Java based siteswap animator which uses 3d graphics to animate the patterns. It has a list of predefined tricks, supports styles to animate hand movements and allows the pattern to be played backward in time.
  • Jongl - This is an animator which is available for many operating system
    Operating system
    An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

    s. It uses 3d graphics to display the tricks and is also capable to display multihand (passing) patterns.
  • Realtime Juggler - Java applet
    Java applet
    A Java applet is an applet delivered to users in the form of Java bytecode. Java applets can run in a Web browser using a Java Virtual Machine , or in Sun's AppletViewer, a stand-alone tool for testing applets...

     which allows changing the siteswap in realtime.
  • JuggleMaster - open source
    Open source
    The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

    animator written in C++ for Linux, Windows, Mac OS X, Solaris, and others. Java version and JavaScript version are also available.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK