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):
- 9 3 1 5 7 0 0 0 5 3 0 5 3 4 0 3
- 4 4 1 7 3 1 2 5 1 4 1 7 3 1 3 1
- 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):
- 4 4 1 7 3 1 2 5 1 4 1 7 3 1 3 1
- 3 3 3 3 3 2 5 1 5 1 5 1 5 1 4 1
- 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