Bounce Stuff
Bounce is a real time visual data flow programming language, designed to
create interactive graphical simulations, and to filter and control midi,
serial, ethernet, and other devices.
Bounce is a product in development by Levity Systems, based on VPL's Body
Electric virtual reality programming environment, and Macromedia's Director
animation projector.
Chuck Blanchard wrote the original Body Electric. Jaron
Lanier has used it to create Virtual
Reality performance art, implementing interfaces for Virtual
Instruments entirely in Body Electric.
David Levitt made Bounce by integrating Body Electric with Director, and
Don Hopkins is working on the
graphics and user interface.
"Space Seed" is a neat demonstration of a graphical character
behavior simulation written in Bounce. Most of the graphics were created
by Big Twin, and the dataflow networks were created by Don Hopkins, David
Levitt, and Big Twin.
Bounce was on tour with the Electric
Carnival at Lollapalooza, in the Midi Zoo!
SpaceSeedErgotLicks.gif : Ergot licks
the ball!
The green Ergot character walks around the scene, chasing after the ball.
You can pick up the ball with the mouse, and hold it above him, and he sticks
out his tongue, licks it up, and swallows it down!
SpaceSeedCircuits.gif : The program behind
the bouncing ball.
This shows several nested data flow diagrams, that implement the bouncing
ball behavior. The upper left window makes the ball bounce along one dimension.
It has four inputs and two outputs, and is represented in the lower left
window by a nested folder.
Inputs: Outputs: Folder: .
There are three copies of that module for each dimension on the lower left
window, which is a higher level module that simulates the ball's three dimensional
velocity.
The right top window is the module that performs a vanishing point projection
of a three dimensional point, by scaling a graphical sprite.
This circuit: contains this sprite module:
The TV set "Sprite" icon renders a director cast member onto the
screen, given a cast ID, a channel number, a position, and a scale.
This nested folder: contains this circuit:
The "FakePerspective" module, opened in the middle right window,
calculates the two dimensional scale and position to feed into the sprite,
given a three dimensional point. It converts the numbers between integers
and floating point, and takes several weighted averages, one of which is
opened up in the bottom right window.
Neat, huh?