There are few things that can keep a certain kind of mechanically-inclined mind entranced as well as a marble run, and few structures that look as interestingly organic as procedurally-generated designs – combine the two and you get [Will Morrison]’s Marble Fountain.
[Will]’s first approach to generating a marble run was to have a script randomly place some points, generate a path following a spline through those points, and give that path a constant slope. This worked, but the paths it generated were a bit too simple to take full advantage of a 3D printer’s capabilities, so he next wrote a path solver to generate more complicated runs. The solver starts by generating a series of random line segments connecting the top and bottom of the run, then iteratively moves the segments into position. Each segment has to stay within the print volume, be evenly spaced with the others, maintain a constant slope, avoid segments from other tracks, and avoid distant segments of its own track. The result is a complicated network of tracks that keeps the marbles in motion without letting them fly out in fast sections. Continue reading “Mesmerizing Marble Runs From Procedural Generation”








