Rollercoaster track



Author:

Categories: Tutorials

Tagged with: | | |


The script first generates parametric coaster elements (spiral and loop), smoothly blends them into a single track, then evaluates positions along that track and places a series of cylinders that act as moving rollercoaster cars.

Step 1: Generate Parametric Track Pieces


Parametric Spiral
Inputs:
Number of turns
Number of points/steps
Distance between turns
Radius


Uses angle values (based on π) to calculate points around a circle.
Adds a Z-offset so the points rise while rotating.
Interpolates the points into a smooth NURBS curve.
Result: a helical spiral.


Parametric Loop
Similar setup.
Creates points using circular motion.
Produces a vertical loop curve.
Result: a rollercoaster loop.


Step 2: Blend the Separate Track Segments


The four Blend Curve components connect track pieces together.
Each Blend Curve:
Takes Curve A and Curve B.
Uses Bulge and Continuity controls.
Creates smooth transitions between neighboring elements.
This prevents sudden direction changes.
Result: smooth connections between:
Spiral
Loop
Entry track
Exit track


Step 3: Join Everything Into One Continuous Track


After blending:
All original curves and blend curves are collected.
A Merge component gathers them.
A Join Curves component combines them.
The panel labeled Closed Curve is checking whether the final track forms a continuous path.
Result: one complete coaster centerline.


Step 4: Sample Positions Along the Track


A slider called coaster slider moves a parameter along the curve.
The component:
Evaluate Curve
Input: track curve
Input: parameter value
Outputs:
Point on curve
Tangent direction
Result: dynamic coaster position.


Step 5: Build the Rollercoaster Cars


For each car:
Offset Parameter
Small values:
0.005
0.005
0.005
are added to the main slider.
This creates positions slightly behind the lead car.
Per Position


The script:
Evaluates the curve
Gets tangent direction
Creates a plane from:
Origin = point on track
Z-axis = tangent
Places a cylinder on that plane
Each cylinder represents a coaster car.
Result: a train of cars moving along the track.

Rhino images:

In the context of Studio Project:

This summer semester 2026, I worked with Studio Achten–Pavlíček–Sýsová on the Shenzhen Skyscraper Project, where my design proposed a fully immersive vertical entertainment universe. Rollercoasters spiral through open-air voids, bungee platforms launch visitors above the city, and helium balloon rides drift between suspended sky bridges and observation decks. Inside, guests explore interactive arcades, digital theatres, climbing attractions, and expansive recreation spaces. To develop these dynamic circulation systems, I used Grasshopper to create parametric rollercoaster-inspired pathways, generating spirals and loops that were smoothly blended into continuous curves. By controlling parameters such as radius, height, and number of turns, I was able to rapidly test and refine complex spatial sequences, allowing circulation, form, and user experience to evolve together as an integrated architectural system.

Grasshopper file: