Siteswap: Difference between revisions

From jugglingpatterns
 
(38 intermediate revisions by the same user not shown)
Line 3: Line 3:
= Central Description =
= Central Description =


Siteswap assumes that each throw happens on a beat.
Siteswap assumes that each throw happens on a beat. Each number represents a throw.


* ''' Each number in siteswap represents the number of beats between throws for one object '''
* ''' Each number in siteswap is the number of beats between this throw and when the object is thrown again '''


e.g. a "4" means the object thrown in this beat will be thrown again 4 beats later. --> Throws in a 3-ball cascade are a "3", throws in a 4-ball fountain are a "4" and so on.
= Vanilla Siteswap =

== Throw Heights ==

The siteswap numbers roughly represent the time between throws and hence higher numbers mean higher throws.

The distance that an accelerated object travels is quadratic with time, and the same is true here. A throw with siteswap "5" would be about 25 times as high as one with siteswap "1".

In general, you can roughly imagine the heights of a siteswap "n" as that of the n-object cascade/fountain. With the addition, that mixing high throws and low throws does tend to make the high throws higher and the low throws lower compared to patterns with just one type of throw.

* '''A throw of siteswap N is similar to the throw of the N-object cascade/fountain'''

Can you tell, what kind of throws siteswap [[Siteswap Throw 2|2]], [[Siteswap Throw 1|1]] and [[Siteswap Throw 0|0]] are?

= Overview of Types =
* '''two handed siteswaps'''
** vanilla siteswap - each hand throws on a separate beat (=asynchronous)
** synchronous siteswap two hand siteswaps - both hands throw on the same beat
* '''4-handed passing siteswaps'''
** asynchronous siteswaps - each hand throws on a separate beat
** partially synchronous siteswaps
*** both right hands throw at the same time
*** right hand of A and left hand of B throw at the same time
*** both hands of A and both hands of B throw at the same time
** fully synchronous siteswaps - all hands throw at the same time
* ''' more than 4 hands'''
** even more combinations of hands throwing asynchronous or in sync than for 4 hands, but same system of forming possible combinations as above

= 2-Handed Vanilla Siteswap =


Siteswap that describes "normal" juggling patterns of the type of the 3 ball cascade or 4 ball fountain are called '''vanilla siteswap'''.
Siteswap that describes "normal" juggling patterns of the type of the 3 ball cascade or 4 ball fountain are called '''vanilla siteswap'''.
Line 13: Line 41:
Because we only describe these patterns, vanilla siteswap has some some additional rules:
Because we only describe these patterns, vanilla siteswap has some some additional rules:


* '''only one object can land on the same beat''' (= no multiplexes)
* '''only one object can land on any beat''' (= no multiplexes)
* ''' each hand throws on a separate beat''' (= only one object is thrown on each beat = no synchronous patterns)
* '''each hand throws on a separate beat''' (= only one object is thrown on each beat = no synchronous patterns)


There are extensions to the notation that allow siteswap to handle multiplex and synchronous patterns.
There are extensions to the notation that allow siteswap to handle multiplex and synchronous patterns.



== Example: 3-object cascade ==
== Example: 3-object cascade ==



This is the normal 3 ball cascade with two hands. Each arrow points to the next throwing event with the same object 3 beats later.
This is the normal 3 ball cascade with two hands. Each arrow points to the next throwing event with the same object 3 beats later.




Numbers and arrows are colored with the color of the object involved:
Numbers and arrows are colored with the color of the object involved:
Line 42: Line 66:
One shortens a pattern to the shortest non-repeating part of the sequence, so siteswap for the 3-ball cascade is written as "3".
One shortens a pattern to the shortest non-repeating part of the sequence, so siteswap for the 3-ball cascade is written as "3".


== Throw Heights ==
== Why is it Called Siteswap ==


The name comes from a property of the notation. You can choose two throwing events - two "sites" - and then you can "swap" them.
The siteswap numbers roughly represent the time between throws and hence higher numbers mean higher throws.
If you first throw object A, then object B, swapping means that A lands on the beat of B and B lands on the beat of A.


So if you have a 3-ball cascade:
The distance that an accelerated object travels is quadratic with time, and the same is true here. A throw with siteswap "5" would be about 25 times as high as one with siteswap "1".
3 3 3 3 3 3 3 3 3


You can e.g. swap the landing times of the 3rd and 4th throw. The first throw then arrives one beat later and becomes a "4" and the second throw arrives one beat earlier and becomes a "2". So you get:
In general, you can roughly imagine the heights of a siteswap "n" as that of the n-object cascade. With the addition, that mixing high throws and low throws does tend to make the high throws higher and the low throws lower compared to patterns with just one type of throw.


3 3 4 2 3 3 3 3 3 3
== Why is it Called Siteswap ==


With the arrows drawn in:

[[File:3-ball-cascade-swapping-sites.png]]

Now all possible juggling patterns can be generated by swapping all the possible sites.


== Beyond 2-Hand Vanilla Siteswap ==
== Beyond 2-Hand Vanilla Siteswap ==


=== One Juggler ===
* [[ Synchronous Siteswap ]]

* [[ Two-Handed Synchronous Siteswap ]]
* [[ Multiplex Siteswap ]]
* [[ Multiplex Siteswap ]]

* [[2 juggler vanilla passing siteswap]]
=== 2 Jugglers - Passing Siteswaps ===
* [[2 juggler half-synchronous siteswap]]

Two hands can only either throw at the same time (synchronous patterns) or at different times (asynchronous patterns).

With 4 hands you get more possibilities:
* fully asynchronous (every hand throws on a separate beat, no other throw happens at the same time) (RA != LA != RB != LB)
* half-synchronous: two hands throw at the same time
** RA==RB and LA==LB: R (right hand) of A and R of juggler B throw at the same time and L and L of A and B throw at the same time (e.g. 4-count)
** RA==LB and LA==RB: this is just straight/diagonal swapped. 7-club 2-count uses this to have straight passes.
** RA==LA and RB==LB: R and L of A throw at the same time, then R and L of B (e.g. 6-club 1-count with both clubs thrown at the same time)
* fully synchronous: all 4 hands throw at the same time (RA==LA==RB==LB)


Sub-pages for the most common of those types:

* fully asynchronous: [[2 juggler vanilla passing siteswap]]
* half-synchronous: [[2 juggler half-synchronous siteswap]]

=== 3 or More Jugglers ===

==== Half-Synchronous ====

(Hands of one juggler not in sync with each other, but hands of different jugglers throw at the same time)

Most predominant here are patterns in which each hand of every juggler is in sync with one hand of every other juggler in the pattern - just the same as in [[2 juggler half-synchronous siteswap]]. The only difference is that "p" for pass is not sufficient to specify where a throw goes. this is solved by labeling the jugglers A, B, C, D, … and specifying throws with e.g. 3A for a pass to juggler A.

That way you write down patterns as sequences for many jugglers, one line per juggler.

For example the classic 4-count/2-count feed, where A and B exchange single passes on the first beat and A and C exchange passes on the 3rd beat:

<pre>

A(2|1) 3B 3 3C 3
B(2|1) 3A 3 3 3
C(2|1) 3 3 3A 3

</pre>

<code>A(2|1)</code> as usually means this line is for juggler A and A starts with two clubs in the left hand and one club in the right hand.

==== Other Half-Synchronous Patterns? ====

One could change hand order so that some jugglers have sync throws. Not sure if this produces good patterns.

==== Full-Synchronous ====

also easily imaginable (but not popular) are patterns in which all hands throw at the same time


==== Asynchronous Patterns ====

asynchronous patterns can be calculated, just as for 2 person patterns by taking a siteswap and putting it on 6 or more hands (3 or more jugglers).

But even with just 3 jugglers you get too many different heights and the hand order is not symmetric, so you induce a kind of chirality on your patterns. With two jugglers, you have (local) "3.5" throws that arrive at the other juggler between your beats. With three jugglers, instead you get 3.3 and 3.7 beat-heights and each of those goes to a different juggler. By changing hand order, you can create the pattern with the same siteswap but with mirrored beat-height-to-juggler relationship.

So in short: trivially the exact same siteswap rules apply, but the resulting patterns are usually not enjoyable.


==== Half-Synchronous/Asynchronous Mix ====

This happens when you turn well-known asynchronous patterns into a feed. You kind of split one of the two jugglers of an asynchronous pattern like in two. The two feeders you created have their hands throw in sync with each other (right/right,left/left or right/left,left/right), while the feeder still is not in sync with any other hand.

In the following, numbers like 78686 are distributed to two jugglers for a local view, but not divided by 2 to give 3.5 instead of 7 for a pass for better readability.

So for example when one [[Why Not]] feeds two popcorn:

* [https://passist.org/siteswap/78686?jugglers=2 Popcorn with heffs 78686:]

<pre>
A(2|2) 7 6 6 8 8
B(2|1) 8 8 7 6 6
</pre>


* [https://passist.org/siteswap/77862?jugglers=2 6 club Why-not 77862:]
<pre>
A(2|2) 7 6 7 8 2
B(1|1) 8 2 7 6 7
</pre>
(start shifted for typical 4-club start)

* Feed: Feeder (F) with Why-Not, Feedees(D,E) with Popcorn:
<pre>
F(2|2) 7D 6 7E 8 2
D(2|1) 8 8 7F 6 6
E(2|1) 6 6 8 8 7F
</pre>

You see that the pass on beat 3 of juggler B in why-not is returned by juggler D in the feed, while the 2nd pass of B is returned by juggler E.

To check if this matches up: in the popcorn, the pass (7) becomes the first of the two selfs (6) - exactly where the two passes from the feeder arrive with the feedees.

The other way around, in why-not, the passes become the self (6) and heff (8) respectively, and in the feed, the pass of D becomes the self of the feeder and the pass of E becomes the heff.

(TODO): Number of objects and club distribution at start: The number of objects can be determined by drwaing in throws as lines from start to end site and drawing a vertical line anywhere between beats through the pattern and counting how many objects are in the air. The number of clubs held at the start has to be determined by counting starting throws from each hand before all sites are filled.

Latest revision as of 18:00, 6 November 2024

Siteswap is a mathematical model to calculate possible juggling patterns and also notation to write down juggling patterns as a series of numbers.

Central Description

Siteswap assumes that each throw happens on a beat. Each number represents a throw.

  • Each number in siteswap is the number of beats between this throw and when the object is thrown again

e.g. a "4" means the object thrown in this beat will be thrown again 4 beats later. --> Throws in a 3-ball cascade are a "3", throws in a 4-ball fountain are a "4" and so on.

Throw Heights

The siteswap numbers roughly represent the time between throws and hence higher numbers mean higher throws.

The distance that an accelerated object travels is quadratic with time, and the same is true here. A throw with siteswap "5" would be about 25 times as high as one with siteswap "1".

In general, you can roughly imagine the heights of a siteswap "n" as that of the n-object cascade/fountain. With the addition, that mixing high throws and low throws does tend to make the high throws higher and the low throws lower compared to patterns with just one type of throw.

  • A throw of siteswap N is similar to the throw of the N-object cascade/fountain

Can you tell, what kind of throws siteswap 2, 1 and 0 are?

Overview of Types

  • two handed siteswaps
    • vanilla siteswap - each hand throws on a separate beat (=asynchronous)
    • synchronous siteswap two hand siteswaps - both hands throw on the same beat
  • 4-handed passing siteswaps
    • asynchronous siteswaps - each hand throws on a separate beat
    • partially synchronous siteswaps
      • both right hands throw at the same time
      • right hand of A and left hand of B throw at the same time
      • both hands of A and both hands of B throw at the same time
    • fully synchronous siteswaps - all hands throw at the same time
  • more than 4 hands
    • even more combinations of hands throwing asynchronous or in sync than for 4 hands, but same system of forming possible combinations as above

2-Handed Vanilla Siteswap

Siteswap that describes "normal" juggling patterns of the type of the 3 ball cascade or 4 ball fountain are called vanilla siteswap.

Because we only describe these patterns, vanilla siteswap has some some additional rules:

  • only one object can land on any beat (= no multiplexes)
  • each hand throws on a separate beat (= only one object is thrown on each beat = no synchronous patterns)

There are extensions to the notation that allow siteswap to handle multiplex and synchronous patterns.

Example: 3-object cascade

This is the normal 3 ball cascade with two hands. Each arrow points to the next throwing event with the same object 3 beats later.

Numbers and arrows are colored with the color of the object involved:

  • ball A: red
  • ball B: blue
  • ball C: black

Height of the curved arrows is also chosen differently for each object to make it easier to follow the path of one object - this is not meant to indicate a difference between throws, just to make reading the diagram easier.

3-ball-cascade-siteswap.png

Right and left hand are written underneath the numbers as R and L . As expected, all throws cross to the other hand.

The last three dashes represent throws that have not been made yet.

Notation: The throw sequence is 3333333333. One shortens a pattern to the shortest non-repeating part of the sequence, so siteswap for the 3-ball cascade is written as "3".

Why is it Called Siteswap

The name comes from a property of the notation. You can choose two throwing events - two "sites" - and then you can "swap" them. If you first throw object A, then object B, swapping means that A lands on the beat of B and B lands on the beat of A.

So if you have a 3-ball cascade:

3 3 3 3 3 3 3 3 3 

You can e.g. swap the landing times of the 3rd and 4th throw. The first throw then arrives one beat later and becomes a "4" and the second throw arrives one beat earlier and becomes a "2". So you get:

3 3 4 2 3 3 3 3 3 3

With the arrows drawn in:

3-ball-cascade-swapping-sites.png

Now all possible juggling patterns can be generated by swapping all the possible sites.

Beyond 2-Hand Vanilla Siteswap

One Juggler

2 Jugglers - Passing Siteswaps

Two hands can only either throw at the same time (synchronous patterns) or at different times (asynchronous patterns).

With 4 hands you get more possibilities:

  • fully asynchronous (every hand throws on a separate beat, no other throw happens at the same time) (RA != LA != RB != LB)
  • half-synchronous: two hands throw at the same time
    • RA==RB and LA==LB: R (right hand) of A and R of juggler B throw at the same time and L and L of A and B throw at the same time (e.g. 4-count)
    • RA==LB and LA==RB: this is just straight/diagonal swapped. 7-club 2-count uses this to have straight passes.
    • RA==LA and RB==LB: R and L of A throw at the same time, then R and L of B (e.g. 6-club 1-count with both clubs thrown at the same time)
  • fully synchronous: all 4 hands throw at the same time (RA==LA==RB==LB)


Sub-pages for the most common of those types:

3 or More Jugglers

Half-Synchronous

(Hands of one juggler not in sync with each other, but hands of different jugglers throw at the same time)

Most predominant here are patterns in which each hand of every juggler is in sync with one hand of every other juggler in the pattern - just the same as in 2 juggler half-synchronous siteswap. The only difference is that "p" for pass is not sufficient to specify where a throw goes. this is solved by labeling the jugglers A, B, C, D, … and specifying throws with e.g. 3A for a pass to juggler A.

That way you write down patterns as sequences for many jugglers, one line per juggler.

For example the classic 4-count/2-count feed, where A and B exchange single passes on the first beat and A and C exchange passes on the 3rd beat:


A(2|1) 3B  3  3C  3
B(2|1) 3A  3  3   3
C(2|1) 3   3  3A  3

A(2|1) as usually means this line is for juggler A and A starts with two clubs in the left hand and one club in the right hand.

Other Half-Synchronous Patterns?

One could change hand order so that some jugglers have sync throws. Not sure if this produces good patterns.

Full-Synchronous

also easily imaginable (but not popular) are patterns in which all hands throw at the same time


Asynchronous Patterns

asynchronous patterns can be calculated, just as for 2 person patterns by taking a siteswap and putting it on 6 or more hands (3 or more jugglers).

But even with just 3 jugglers you get too many different heights and the hand order is not symmetric, so you induce a kind of chirality on your patterns. With two jugglers, you have (local) "3.5" throws that arrive at the other juggler between your beats. With three jugglers, instead you get 3.3 and 3.7 beat-heights and each of those goes to a different juggler. By changing hand order, you can create the pattern with the same siteswap but with mirrored beat-height-to-juggler relationship.

So in short: trivially the exact same siteswap rules apply, but the resulting patterns are usually not enjoyable.


Half-Synchronous/Asynchronous Mix

This happens when you turn well-known asynchronous patterns into a feed. You kind of split one of the two jugglers of an asynchronous pattern like in two. The two feeders you created have their hands throw in sync with each other (right/right,left/left or right/left,left/right), while the feeder still is not in sync with any other hand.

In the following, numbers like 78686 are distributed to two jugglers for a local view, but not divided by 2 to give 3.5 instead of 7 for a pass for better readability.

So for example when one Why Not feeds two popcorn:

 
A(2|2)  7       6       6        8          8
B(2|1)      8       8       7         6          6


 
A(2|2)   7         6         7       8       2       
B(1|1)        8         2        7       6       7    

(start shifted for typical 4-club start)

  • Feed: Feeder (F) with Why-Not, Feedees(D,E) with Popcorn:
 
F(2|2)  7D         6         7E        8       2
D(2|1)        8         8         7F       6       6
E(2|1)        6         6         8        8       7F   

You see that the pass on beat 3 of juggler B in why-not is returned by juggler D in the feed, while the 2nd pass of B is returned by juggler E.

To check if this matches up: in the popcorn, the pass (7) becomes the first of the two selfs (6) - exactly where the two passes from the feeder arrive with the feedees.

The other way around, in why-not, the passes become the self (6) and heff (8) respectively, and in the feed, the pass of D becomes the self of the feeder and the pass of E becomes the heff.

(TODO): Number of objects and club distribution at start: The number of objects can be determined by drwaing in throws as lines from start to end site and drawing a vertical line anywhere between beats through the pattern and counting how many objects are in the air. The number of clubs held at the start has to be determined by counting starting throws from each hand before all sites are filled.