Mid-Progress Milestone
Elevator Pitch
For my final project, I’m designing custom parametric trophies for a bike race using Grasshopper. Each trophy is tailored to physically show the route taken by the racer by mapping race data onto a 3D topological model of campus. The goal is to generate meaningful, personalized trophies which celebrate individual race strategies.

Functionality
Data Collection
I developed a custom web-based tool to track racers during the event. It logs each racer's start time, the order and timestamps of checkpoint visits, and final finish time. You can see the most recent race results on the race dashboard. The most useful data points I’m collecting are the timing, as well as the checkpoint order.

3D Terrain + Geometry Processing
I imported a model of Boulder's topography into Grasshopper from a website ( Touch Terrain ). Using the checkpoint data and my knowledge of where each checkpoint was located, I can map real-life locations onto the model. An adaptive vertical offset is added to extrude 3D elements—dots for checkpoints and arrowed lines to represent route order/direction.
Computational Generation
- Place cylinders above the terrain at each checkpoint, by first placing points at x, y values, then finding the correct z height.
- Create directional arrows between them based on the actual route taken.
- Generate pipes or arrowed lofts to visualize movement and flow.
- Merge all geometry into a printable .stl file for fabrication.
Outputs
- Parametrically generated 3D trophies with terrain base + personalized path.
- Unique prints representing each racer's actual performance and strategy.
- Optionally engraved metadata (name, time, category).
Current Progress
- The final base 3d model I plan to use has been picked out, sized correctly, and imported into Rhino.
- All checkpoints have been converted into coords.
- Translation from coordinates into scale model x,y mm values has been accomplished.
- I figured out how to use Mesh Closest Point to establish an offset and a physical marker at eacvh checkpoint.
Below are images showing my process over time in Grasshopper.

My first attempt at converting real-worlds coordinate data from Google maps into scale model x,y values.

What it looked like after I figured it out.

Final set up.

Establishing precise offset.

Offset with a cylinder as the checkpoint marker.
What Remains:
- Generating arrows between checkpoints.
- Coding the direction of the arrows parmetrically to the official race data.
- Baking it all into Rhino, exporting, and printing.