Python script to generate a random 2D maze of any size using Eller's Algorithm. The output is an OpenSCAD array definition with blanks and walls represented as 0 and 1 respectively.
For more information on Eller's Algorithm see here:
http://weblog.jamisbuck.org/2010/12/29/maze-generation-eller-s-algorithm
I intend to eventually use this for randomly generating a maze bolt/box with smooth inner walls.
The number of horizontal and vertical cells are specified on the command line:
./eller_generator.py 15 5 > maze_new.scad
Generating the maze definition should be very quick, but compiling in OpenSCAD may take a while depending on the size of the maze.
Using the minkowski sum, you can generate rounded edges (see the 'punch' STL/SCAD file). Comping this takes ages (about 5 mins for the example file due to intersecting edges), but displaying is fairly quick.
Update 2013-Dec-26.1: fixed an X/Y bug in the OpenSCAD code for drawing the maze
Update 2013-Dec-26.2: fixed floating point division bug in punch down probability calculation
Update 2013-Dec-26.3: adjusted maze extrude height to maze height
Update 2013-Dec-27: Fixed set union bug that was causing loops to form
The author marked this model as their own original creation. Imported from Thingiverse.