Current preset:

name


534abcd

hey this is a description

Share link:

Welcome

Welcome to SiteswapSim!

SiteswapSim is an in-browser tool for visualizing juggling patterns by entering in any siteswap.

A siteswap is a string of numbers that describes the path the balls make in the air. The video below by Numberphile is a good introduction to how siteswaps work:

SiteswapSim allows you to enter in your own siteswaps in the siteswap input at the top left of the page, or choose from example siteswaps in the preset tab (directly below siteswap input). Next, you can edit the timings of this pattern by changing the values on the options tab, or by dragging the handles on the ladder tab.

Preset

Overview

The preset tab allows you to manage presets. A preset stores the siteswap, the siteswap timings entered in on the siteswap tab, and the rhythm pattern created on the ladder tab. Loading a preset will overwrite anything that is currently unsaved.

Functionality

Each preset is represented by a card. The card displays the name of the preset, the siteswap, and a brief description. The cards are separated into two categories: example presets, which are presets given by us to help you understand the capabilities of the website, and custom presets, which are where your presets are stored.

A preset can be saved by giving it a name, and a description if you want, then pressing save preset. This preset will now appear in the custom presets menu. You can modify the currently selected preset (as long as it isn’t an example preset) by pressing update preset.

Your custom presets will be saved in your browser's "local storage". This can be cleared by deleting all the presets, or clearing the cookies for this website.

Options

Overview

The options tab allows you to change the rhythm with which throws and catches happen. This tab includes the following options:

  • Throw time sets the default time between a throw and the next catch in that hand (this is unintuitive, and will be changed in the future).
  • Dwell limit, throw limit, and speed limit control the minimum spacing between any two events (throw or catch).
  • Speed multiplier changes how fast the pattern plays in the animation.
  • Pace multiplier changes how fast the juggler tries to juggle (faster pace means lower throws).

The restore defaults button fills the timing inputs with suggested, realistic values, while the apply changes button will update the ladder tab and the animation with the new values.

Ladder

Overview

The ladder tab lets you easily visualize the rhythm of the pattern.

On this tab, handles (circles) are displayed on two adjacent sliders (vertical lines). The handles represent a catch or a throw, and the sliders represent the two hands of the juggler.

Balls follow the lines upward through time, travelling between the hands/sliders. A handle at the bottom of a solid vertical line is a catch, while a handle at the top of a solid vertical line is a throw.

Beats

There are two disabled handles on the left slider (one at the top and one at the bottom). These represent beat 0 of the pattern. By default, a throw will happen on every beat. You can hover over the handles to see what beat value each handle has.

The timing values entered on the options tab are apparent on this tab. The throw time value will set how far apart each throw handle is from the catch handle directly above. The limit values will set the movement restrictions for any given handle. When a handle is dragged out of the acceptable range, it will snap back into place when released.

Animation

Overview

The animation pane is a 2D representation of the juggling pattern. The hands are represented by black circles. You can pan around in the animation by clicking and dragging, and you can zoom in and out with the scroll wheel. You can middle press scroll to return to the default zoom and pan setting.

The speed multiplier option on the options tab sets how fast time goes by (higher speed multiplier means fast-forward). The pace multiplier changes how fast the juggler tries to juggle without changing how fast time goes by.

Errors

Invalid syntax

This means that the siteswap you entered has characters in it that cannot be parsed as a siteswap. Siteswaps can include numbers 0-9 and letters a-w. SiteswapSim is also compatible with sync and multiplex patterns. An example sync pattern is (6x,4)*, and an example multiplex pattern is [53]121.

Invalid pattern

This means that the siteswap you entered is not valid. It is not actually possible to juggle this pattern. Check out the video in the Welcome section of this tab, and see this webpage for a large list of valid siteswaps (ignore the patterns with parentheses without commas to separate the numbers, we don't follow that notation).

0 at start

This means that there is a 0 at the start of your juggling pattern. This is a limitation of the ladder diagram: since there is a handle anchored on beat 0, that means there also must be a throw on beat 0. Simply cycle your pattern by moving the 0 to the end of the pattern.

About

Resources used

Here is a link to the Github repository

Contact

Email: [email protected]