Well, here is my final animaton. Since I don’t have access to the Sorenson pro codec, I had to compress my movies with the standard edition (which has no way to control the encoding). Therefore I provide some alternative AVI-files using xvid/divx codecs. The quicktimes are 320x240 and the AVIs are 640x480 (bigger image size and smaller file size :argh: ).
Edit: CoryC has recompressed my DivX videos using the Sorenson Pro Codec.Thank you very much! The links now point to the new versions.
Complete ride of the rollercoaster with an on-wagon cam:
Quicktime (8.8 MB)
avi (19.6 MB)
A short piece of the track from a 3rd person view
Quicktime (2.1 MB)
avi (6.8 MB)
A wireframe view (simplified geometry as seen in the viewport of Houdini)
Quicktime (4.4 MB)
avi (2.9 MB)
And the last video shows the procedural pillar generation. The distance between the pillars is decreased over time. The track crosses itself and the pylon, that would cross the lower piece of the track will be removed, if it would intersect it. In the background you see some other pillars removed, too. This is due to the fact, that two pillars would stand too close together in the hard turn of the track. Then one of them will be removed.
Quicktime (0.5 MB)
avi (0.5 MB)
Summary:
Completly procedural roller coaster system (animation and build up).
Interactive simulation (including scrubbing of the timeline and adjusting simulation parameters like gravity in realtime). This is a great advantage: You can view the end of the animation and tune the drag coefficient, so that the coaster is just about the reach the end of the track and not stick somewhere in a minimum.
Not a single keyframe set (except in the 3rd person movie for the camera)
Animation length 1685 frames.
Animation length 1min 7 sec.
Here are the four steps how to build a coaster (shown using the short piece of track of my first test animation):
1st step: Draw a NURBS curve:

2nd step:
Apply an operator, that starts the orientation editing. Here the coaster is always oriented upwards (even in the top of the looping).

3rd step:
Orient the small u-shaped objects to resemble the orientation of the coaster you want (create loopings, twists, …)

4th step:
Apply again an operator, that recreates the curve you have drawn. This time the curve has a point attribute coaster_orientation. This tells the build system how to orient the tracks.

The rest is all procedural. The coaster is made of some basic building blocks:

which will be place at the appropriate positions and orientations.