The San Jose Ball MachineFriends of tinySG, a couple of years ago I've discovered the rolling ball sculpture in front of the tech museum in San Jose, California, made by George Rhoads. This has been the first time I've seen an automatic marble playing machine and I was so fascinated that I spend hours following the rolling billiard balls instead of joining the conference sessions in the Fairmont close by.Finally, I've started implementing a similar thing in software using tinySG. It is actually already the 3rd approach to create something usable. The initial version was based on csg, followed by a rewrite for tinySG. The latter version suffered on a really bad 2D editor, which made it extremely hard to construct new machines. Thus, I decided to start all over again, calling it San Jose Ball Machine (or short sbm). The image below shows the editor view of sbm. Different types of tracks may be created via tool buttons and their properties show up in the property inspector to manipulate parameters, like elevator speed or tangent lengths at connection joints. Once a track segment is picked, it may be oriented and moved around with the mouse. Possible connections are indicated via dotted connection lines and coordinate indicator helper lines. The editor will always show the closest possible connection, which may be established via the connect button.
Whenever a track segment is connected with at least one of it's connectors
it cannot move anymore. An exception is the flex track: If just one end
of this segment is connected, the mouse will move the other end around or
modify it's tangent vector. The flex tracks geometry is then re-interpolated
using Hermite splines.
The flex tracks will adapt the tangents of other track segments, taking
care of a smooth overall track. They should be used whenever other elements
have to be connected. Beside flex tracks, there are other elements, like
The image on the right shows a collector that needs to assemble three spheres before it starts to swing, releasing all spheres to the lower track. The current version has the track editor and animation framework in place. The mechanics are in place, but tracks still consist of some rails magically floating in the air. Unfortunately, still imagery cannot communicate the fascination of a running simulation or even the real thing in front of San Jose's Tech Museum. One of the first things to come is thus a video generation extension. It already exists in tsgEdit, but needs to be made available in asb's UI as well. Further improvements will include a script mode, allowing to switch camera angles, tracking of certain spheres from an observers position or following a given sphere in roller coaster mode through the machine. The San Jose Ball Machine provides an ideal playground for experiments with visual effects like night rendering with glowing balls, tracked observers that would allow to examine the machine in virtual reality, realtime shadow casting, motion blur, etc. Acknowledgements and links:
Copyright by Christian Marten, 2011-2014 Last change: 04.03.2012 |