Juggling: Orbits in Siteswap Notation
This essay discuss the [ Siteswap ] [ https://en.wikipedia.org/wiki/Siteswap ] juggling pattern notation, and some math aspects and ideas.
Siteswap Examples
Siteswap  Description  bs  cp  ucp  rucp  obs  amb  factors 
60 
single handed 3 balls  3  3  2  1  1  false  
8040 
single handed 3 balls  3  4  2  2  2  false  
804060 
single handed 3 balls  3  6  2  false  
55050 
3balls snake  1  
7070700 
3balls snake  3  6  6  3  1  true  
55500 
3balls flash  3  6  6  1  true  
7770000 
3 balls flash  1  
53444 
4balls tennis  4  30  10  5  2  true  factors={4,4,4,0,3}*3+{5,0,0,0,0}
 53444=
44403
+
50000
= 3•400040004000300 + 50000.

534 
18  6  3  2  true  3 balls in a 54height orbit, 1 in 3height orbit.  
57233 
5  3  true  2 balls in a 73height orbit, 1 in 5height orbit, 1 in 3height orbit.  
31 
2balls shower  1  
51 
3balls shower  1  {0,0,3}*3  
71 
4balls shower 
• siteswap=3
 desc=3balls cascadecp=6ucp=2rucp=1amb=trueobs=1
• siteswap=55550
 desc=4balls cascade
• siteswap=5
 desc=5balls cascadecp=10ucp=2rucp=1amb=trueobs=1
• siteswap=64
 desc=3balls shower on one hand, 2balls shower on the other
• siteswap=8040
 desc=each hand doing single handed 3balls.
• siteswap=8844
 desc=each hand doing single handed 3balls8844=8040+8040.
• siteswap=8556
• siteswap=6334
halfshower reverse direction each throw 534
Loneball side bouncing. Right hand deal with the single ball. 633444
Loneball side bouncing. Left hand deal with the single ball. 463344
seesaw. 633
[ http://jugglinglab.sourceforge.net/siteswap.php?pattern=6BHL33444;bps=2.9;colors=mixed ]
[ http://jugglinglab.sourceforge.net/siteswap.php?pattern=aBHL555505555;colors=mixed ]
Some Tentative theorems
• cyclying of siteswap sequence does not change it. e.g. 55500=50055.
• a siteswap sequence can be repeated in whole. i.e. 3 = 33 = 333. 31=3131.
• bs = length[siteswap sequence]
• rucp = arithemetic mean of siteswap sequence
• if amb is true, than ucp=2*rucp. Otherwise, ucp=rucp.
• cp = bs * ucp.
Given a Siteswap notation, is there a algorithm to derive:
• The period number. (the period is the number of throws all colored balls return to their positions.)
• The number of orbits in a pattern. (a orbit is the path a ball travels.)
• Whether the pattern is ambidextrous. (a pattern is ambidextrous if left and right hand play the same role. (not necessarily synchronized or lockstep.))
• The period of the orbit (in the framework of the whole pattern. i.e. the period of a orbit is necessarily less or equal to the period of the pattern.).
I think these ideas are very interesting and have the potential to turn into a new subbranch of network theory (aka graph theory). I have not been involved in the juggling community much, but as far as i know these ideas are unexplored, and there's not much if any literature on them.
Here are some elaborations.
The period number can be given depending on whether the balls are colored. In common usage, the period of a pattern is given as if all balls are of the same color, and, some mirror image repeat cycle are not counted. (it is based on handmovement.)
So now a pattern can have attributes of: number of balls, periods (at least two types), number of orbits, distinct orbits (a pattern can have n orbits and some of them equivalent), and each orbit has the various periods. And also ambidextrousness and synchronization considerations.
If we assign a symbol to each concept, then we can explore the mathematical relations between them. For example, what patterns are possible with n orbits? Given ambidextrousness and m balls and n colored period, is it possible to have all orbits up to some ceiling number? And can the complete siteswap info be described by some other minimal ways, as perhaps orbits and their periods that more readily shows certain properties? (as if using relations and generators to describe groups.)
And in general, a body of theorems can be developed that tells us the constrains and relations between these properties.
For example, in the current batch of juggling emulation software (i'm aware of Juggling Lab), exhaustive patterns are generated by number of balls, and with filters using the concept of (uncolored) period, max throw, number of jugglers, ground state patterns or excited state patterns… (and few others, some not pertinent in our context such as multiplexing and sync/async) However, no concept of orbit or colored period is considered.
These theories can constitute a systematic study related to directed graph theory, with a concept of a pulse (i.e. the regular “throw”) For instance, so far we've considered juggling by a single person. When considering two persons interchanging balls, then the associated notation and pattern variation gets more complex. As common in club juggling, we can consider n persons juggling balls. (imagine 5 persons arranged in a pentagram.) The possible patterns are extremely complex, and spectacular when we consider the questions of orbits. We can consider a hand as a node in a network. When a ball leaves a hand to another hand, it constitutes a directed graph in a network. And the clockregularity of throwing added to the directed network a concept of tick. (now with respect to this pulsation is the notion of periods.)
These are just some thoughts. I'm in particular interested in the orbit concept. Asides from the math aspect,i like to know the orbits of patterns i'm juggling. (it's not practical to tell when actually juggling as that distracts; and impossible for higher number of balls one can't even hope to juggle.)
Particles Flight Formation System
One thought started me thinking about these is that i've always been interested in the various mathematical screensavers. (There's the famous but trivial Strings, and Game of Life, IFS, fractals, Satori, bouncing billiards… (Screensavers were popular in the early 1990s.)) One particular type is showing objects moving in space, 2D or 3D (or high dimensions visualized thru a projection or slice). The way a object (usually just a point) moves can be described by different types of algorithms, such as by artificial life means (as in boids) or mathematical formula (some parametric formula). Now, it is often spectacular to watch objects fly in some kind of formation. For example, those jet planes in air shows. (often with a trailing colored smoke as to show their obits) In some Olympics opening there are a large group of dancers with different colored clothing that dynamically form shapes to be viewed from a distance. Now that's a 2D example. Considered abstractly, these are formations of (colored) particles in flight. Such can be spectacular in 3D, especially made possible by computer animation. For example, in the early video game The Disc of Tron, after passing a level there's a animation of several discs flying in formation in 3D to form a sphere that grows and shrinks in size.
Now, one of the problem is how to model such 3D formations. Artificial Life or parametric formulas each gives rather their signature movement and inflexible visual esthetics. The problem with Artificial Life approach is that it does not form regular or esthetic orbits. The problem with parametric formulas is that they are too regular and uninteresting and hard to work with. But now i think that the juggling's siteswap notation may be a solution. We consider each hand as a node in a network. Now, the hands need not come in pairs, and can be fixed at various coordinates in 3D. Now a throw from one node to another can be considered as a directed edge in a network, but now adding a specific path of travel. That is, we specify a space curve in which the ball is to travel from node A to B. (and the different curves connecting nodes can be made to be smooth, as using the math of Bezier curves or physical modeling of particles around gravity.) And the ticks in the whole network can be smoothed out. In this way, we can built a system that describes such particle orbit formation. Eventually we can consider the space curves themselves being variable, or the node's coordinates themselves following a given system of particle orbit. (e.g. math question: what happens when such is nested?)
I think this could have many applications. Foremost is entertainment. As a screensaver, it would be beautiful, as there are various needs today when playing mp3 music on the computer. I don't know for sure, but i imagine this systematic orbit formation notation and mathematics (the network theory part) can be applied more seriously in science or engineering. Even if not right away, entertainment technology tends to fuel serious applications. Case in point is today animation industry, which has engendered very complex simulations using physics and other models with applications ranging from civil engineering to space ship exploration to military. Likewise there are countless such examples where recreational mathematics sprang into huge branches of indispensable applied math. From conic sections to gravitation, arithmetic theory to online credit card transaction, bridge crossing to graph theory, equation curiosity to group theory…
Intro to Juggling Patterns
for those mathematicians who are not familiar with juggling… here's the context:
we are talking about juggling balls. Say 3 balls. One can have tricks as throwing them behind back, or catching them under the leg etc., but these are not considered here. We only consider throwing balls straight up in front of the body. Now, there are many pattern variations. For example, with 3 ball, one can throw one ball to the right from left hand, then the right hand throws a ball to the left, and repeat. This is the most common pattern. (called cascade) Now, another pattern has the left hand keep throwing a ball to the right hand, and the right hand catches it and quickly pass to the left hand, so the whole thing cycles in a circular pattern. (this pattern is known as “shower”). Now when the balls increase in number, the possible patterns increases. (polynomial time?) About 1985 or so jugglers have developed a notation that describes the pattern variations, called siteswap, which is just a sequence of digits.
By the way, if you are not a juggler, but find it fascinating, there's a software called JugglingLab that can simulate by a visual display any siteswap sequence. From a math perspective, it's more fascinating than watching people juggling, as it can show juggling patterns beyond human abilities, and show them in slow motion and perfection so one can clearly discern and appreciate the beauty of its orbits or count the various periods or other siteswap's math attributes.
Some More Thoughts On Orbits
A pattern can have several orbits, but two orbits may be the same. For example, one hand juggling two balls. Now, both hand does that. That's a pattern with 2 orbits, but equivalent (for some notion of equivalence). They are mirror images. Mirror image orbits are not necessarily only in patterns where each hand minds its own business. Here, we have some notion of Orbits Equivalence.
Suppose one hand juggles 3 balls in a cycle. (i.e. shower), where each ball is thrown in the same height. This is the classic singlehand 3balls pattern, with siteswap notation of “60”. This pattern has one single orbit, that is of a big circle. Now, consider the siteswap 8040, which is also singlehand 3balls. Is 8040, one throws the 3 balls in alternating in 2 different heights. In this pattern, there are 2 orbits. Now consider another sinlehanded 3balls pattern 804060. In this pattern, 3 heights are thrown for each ball in a cyclic fashion. 804060 has 3 orbits. From these observations, we see that a singehanded juggling of 3 balls can have variations such that each pattern have different number of orbits.
One may ask the question, given a specific orbit, what patterns are possible using that orbit with n balls.
Another concept is that some orbits are entirely juggled by a single hand, as in many of the above examples. In network theory jargon, we can call it a loop, as it connects only to itself.
Since orbits are parts of a juggling pattern, so orbits themselves can be described as siteswaps. A jugggling pattern consists of orbits, so a siteswap can be decomposed into its orbits. Here we have a notion of factoring.
Some definitions
Some formal definitions, to be refined.
• siteswap notation is finite sequence of positive integers, as in {5,3,4,4,4} (4 balls tennis pattern) that are constrained by these rules: (to do). If each number is a single digit, then it can be written as a string of digtis without the braces and comma separator, like this: 53444.
• A Canonical Siteswap: means a siteswap notation arrange in such a way that … (to do)
• length of sitewap is the total numbers in the siteswap sequence. i.e. length[53444]==5.
• bs = number of balls. Number of balls is the arithmetic mean of the siteswap.
• cp = a colored period is the number of throws all colored balls return to their position. For example, for pattern 53444, the cp is 30. (to do: need math definition here).
• ucp = uncolored period. The number of throws all uncolored balls return to their position. In 53444, ucp = 10. In 3balls cascade, ucp is 2. (to do: need math definition here).
• rucp = reduced uncolored period. Like ucp, but mirror cycles are excluded. That is, ucp is a multiple of rucp. For example, rucp for 4balls tennis 53444 is 5. rucp for 3balls cascade is 1. (rucp can be computed as the total numbers in siteswap sequence.).
• obs = the number of orbits in a pattern. (a orbit is the path a ball travels.) In 53444, obs = 2. (note: each orbit can have its own cp, ucp, rucp and siteswap notation.)
• amb = true if left and hand right hand are doing the same thing. (amb stands for ambidextrous). (if length of siteswap is odd, then ambi is true for sure. 8448 is a counter example)
… the above needs to be mathematically refined…
Some problems to do
• define canonical siteswap. For example, should 5balls cascade by 55555 or 5? If the latter, than the number of balls is no longer the length of the sequence.
• Given a siteswap, decompose the siteswap into siteswaps of its orbits.
• some orbit's siteswap can be reduced in height. (need to define this more rigorously) For example, 55050 and 7070700 are both 3balls snakes. Find a way to define the notion of heigh or equivalence.
• investigate composition of siteswaps. That is, given two siteswaps, find another pattern that contains these two as orbits.
• decompose a orbit's siteswap into the siteswap of each balls. For example, 3balls cascade {3}, there is a single orbit that's the siteswap itself. Each ball's siteswap is 300. In 4balls tennis 53444, one of the ball's siteswap is 400040004000300.
• When studying handed juggling of 3balls, there are 60 (obs=1), 8040 (obs=2), and 804060 (obs=3). Note the 0 there. Perhaps there needs to be a notation with respect to a single node. The siteswap system is based on 2 nodes. One needs to investigate how to extend it to n nodes.
• note in 8448 where each hand is doing single handed 3balls 8040, there's a notion of phase shift.
• in pattern 64645 (5 balls), there are 3 orbits, 2 distinct ones. Essentially, a orbit of 2 balls are juggled by each hand independently, and another orbit of a single ball goes from hand to hand. Here's a notion where how many nodes a ball visits. A siteswap or orbit can be classified by the number of nodes it visits, perhaps call it a degree.
• device a simple visual representation of siteswap. Consider the crisscross diagram that comes with siteswap.
 JugglingLab juggling simulation software. It can juggle any siteswap sequence. [ http://jugglinglab.sourceforge.net/ ]
 Siteswap FAQ By Allen Knutson. At http://www.juggling.org/help/siteswap/faq.html
See also: Great Math Software
Addendum
Allen Knutson wrote to say:
you say “In 4balls tennis 53444, one of the ball's siteswap is 400040004000300.” I would rather put it as “three of the balls' siteswap is 03444”. In general, removing all the balls from some orbit zeros out those numbers, e.g. 667515 breaks up as 600000 + 060000 + 007500 + 000015, with 1,1,2,1 balls in those orbits respectively.
haven't thought about the problem since.
some comment at
20211203 https://old.reddit.com/r/juggling/comments/r6ceis/finding_the_colored_period_in_any_given_vanilla/
jugglinglab software site https://github.com/jkboyce/jugglinglab