The JugIt Virtual Juggler Home Page


A Note on MPEG Players - includes a Tk/Tcl graphical front end for mpeg2play.

What is JugIt?

Displaying juggling patterns on computer screens seems to a popular pastime these days. Tom Rutledge (gulfie@yar.cs.wisc.edu) and I were spending our days (and nights) hacking in the Undergraduate Projects Lab at the University of Wisconsin - Madison when, in a single fateful moment, we launched an evil twisted campaign to one-up all that. We schemed to create a 3D animation with a line of jugglers doing chorus line kicks and backflips.

Thus, on March 24, 1994, we created the JugIt project. We wrote a program that turned the juggling patterns and physical parameters into a set of data points. Then we created a robotic juggler model that responded to the data. We used a rendering, ray tracing, and simulation package that was then called Microcosm (which later became Hypercosm, which is now out of business), to generate our pictures.

The rest, as we so often say they say, is history.


Chorusline

Our first mpeg was sort of a preliminary snapshop of an ongoing project, to let people see what we were up to. Since we later abandoned the chorus line kicks, we're keeping it around as the only example of them. It was produced sometime around May 4, 1994.

When we made this, we were using an mpeg encoder that did not produce very good encodings if you didn't know a lot about how it worked. We were also using an mpeg player (which is still the most popular UNIX mpeg player) that accentuated problems with the encoding (mpeg2play is a much better player, IMHO; now if only it did 24-bit color...). So, please excuse the glitches.

chorusline.mpg (MPEG, 982 frames, 320x400, 1819052 bytes)
Three jugglers in a line, juggling and doing chorus line kicks, against a light blue background.
chorusline.jpg (JPEG, 600x600x24-bit, 235727 bytes)
Menacing robotic jugglers trampling the Earth. This is a high resolution version of the inline picture above.

For siteswap folks, the patterns being juggled are (from left to right as they appear in the first frame):

  1. 9 3 1 5 7 0 0 0 5 3 0 5 3 4 0 3
  2. 4 4 1 7 3 1 2 5 1 4 1 7 3 1 3 1
  3. 4 4 1 6 6 1 1 1 3 5 3 1 5 3 1 3
The pattern is repeated three times, and is concluded by three rank 13 throws and the final collection.

Shiny Happy People

Over the summer of 1994, the UPL completed a major animation involving three jugglers standing in a rolling green meadow, juggling balls and clubs. The animation was aimed at VHS media, and at over 2800 frames, it's a little difficult to make it available online. However, here are some still frames.

shp_top.jpg (JPEG, 589x426x24-bit, 86313 bytes)
The jugglers, seen from upper stage left. Clearly shows the solar balls being tossed by the white juggler.
shp_side.jpg (JPEG, 720x486x24-bit, 90901 bytes)
A side shot from stage right, showing the balls and the clubs well. Also gives a nice shot of a juggler's head.
shp_back.jpg (JPEG, 380x256x24-bit, 16989 bytes)
A view of the back of a juggler, in which we see our reflection and realize that the entire animation is seen through the eyes of a dragonfly.

For siteswap folks, the patterns being juggled are (from left to right as they first appear):

  1. 4 4 1 7 3 1 2 5 1 4 1 7 3 1 3 1
  2. 3 3 3 3 3 2 5 1 5 1 5 1 5 1 4 1
  3. 9 3 1 5 7 0 0 0 5 3 0 5 3 4 0 3
The pattern is repeated many times, and is concluded by three rank 13 throws, backflips, and the final collection.

JugIt Recurse

Second place, ``Just For The Fun Of It''

Engineering Open House 1995

University of Illinois at Urbana - Champaign

This animation started out as someone saying something like, ``You should have the jugglers juggling jugglers.'' I took the idea to see if I could even do it, and turned it into a 13.3 second looping animation. I laid it out to VHS for two hours, accompanied by a soundtrack composed by Tom Lawrence and generated with his music synthesis software, Out of Phase.

This project was originally designed to be a looping mpeg, so that's what's here. I've generated a couple of mpegs to give some flexibility over the image quality and playback rate.

When I rendered the VHS version, I created twice as many frames, as if for a 60 frames per second target. I also rendered the animation zooming in and zooming out. Then I placed the two streams side by side on the TV screen and field interlaced every pair of frames together. One of the combined interlaced frames is included below.

When you play these, loop them! You kind of miss the point if you don't.

Zooming in (MPEG, 30 fps, 400 frames, 224x336, 1334305 bytes)
Zooming in (MPEG, 15 fps, 200 frames, 224x336, 666778 bytes)
The mpeg targetted at 30 frames per second is better quality; view the 15 fps version if you have a slow computer.
recu_comb.jpg (JPEG, 640x480x24-bit, 24512 bytes)
A sample frame from the VHS version, showing the two streams side by side, with the field interlacing. The right stream is zooming in, and the left stream will zoom out.
recu_details.jpg (JPEG, 640x960x24-bit, 64544 bytes)
An enlarged frame from the animation; shows all the gory details.
recu_catch.jpg (JPEG, 376x730x24-bit, 38009 bytes)
A blowup of the device being caught.

JugIt Siteswap Data Generation

To generate the animations, I have written a program that handles all the physics and math involved. You give it a set of siteswap patterns, one for each juggler, and it produces a set of data points saying where each prop and each hand is for each frame of the animation. Actually, it uses a relaxed form of siteswap, in that it doesn't check the pattern for validity. Thus, you can hold one prop while catching another in the same hand (though you can't throw or catch more than one at a time).

The readme file contains explanations, installation instructions, disclaimers, and apologies to anyone poking through this code.

jugit.readme
jugit.tar.Z
C++ source code to generate the data points for a JugIt animation. The output is readable by Microcosm, but the code could be altered to produce any output format.

JugIt Siteswap for Macintosh

One of my first bouts with siteswap was to write a Macintosh pattern animator. Most of this code is several years old or more, and a fair amount was written in a car driving back from MONDO Jugglefest '93. It's horribly out of date, and while I'll provide source code to anyone who really wants it, it's also kind of gross. It's really intended to be used as an educational tool for learning about juggling patterns and the siteswap notation. It has virtually no documentation, so see the links below if you need help with siteswap.

Also note that MacJuggle is unrelated to MacJugglePro. I came up with the name before JugglePro was ported to the Mac. The next release of MacJuggle (if there is one) will officially change the name to JugIt Siteswap for Macintosh.

jssfm.readme
jssfm.sea.hqx
The Macintosh executable and readme file. Distributed as a binhexed self extracting archive.

What's Next?

I've thought about doing a few still images involving robots designing juggling humans on computer screens. I also wanted to do an animation in which a human passes clubs with a computer generated robot. Unfortunately, since leaving college and getting a real job, I haven't had any time. Maybe some day, I'll do some more with this project. Until then, I'd love to hear suggestions.

Links to Other Juggling Sites


Dave Blumenthal
webmaster@skyjuggler.com
Return to Dave's Home Page