CS 294-3
"RAPID PROTOTYPING"

Comments on Maze Generation

Here are some general remark about the current maze-generation project that several of you have discovered and the rest will probably also find out eventually.


The maze generation algorithm handed out in class when implemented properly will produce a tree of connected paths -- no loops -- with a single path from any point to any other point, and with no 'wasted" area -- everything is covered with maze paths.

The depth-first search algorithm described on a rectilinear n-dimensional block of grid points can readily be adapted to cover a surface of arbitrary genus as long as you have a data structure to represent a set of points forming a 2-manifold lattice on that surface.

It is definitely important to separate the problem into several stages:
First just draw the maze paths as lines on the chosen surface (or in the specified volume).
Only when this is debugged, start to worry about the details of implementing the exact path geometry for a particular fabrication method.
For instance when CyberCut is chosen, an easy way to describe the path is to define many "unit-step" path segments that mutually overlap at the grid-points used in the initial generation algorithm. (This may not be the most efficient way to cut the path, but it is very simple and robust to specify it this way. -- Dealing with many islands is probably a bad idea !)
Where the path steps around an edge of a polyhedral body, you will have to extend that last step at least one tool radius beyond that edge.

If you are aiming at SFF, then the path may be a groove at the surface or a tunnel inside a volume. Correspondingly you will have to define two walls and a floor for the groove, or four "walls" for the tunnel. For every unit step, each of the 3 or 4 "walls" will have to be described as two triangles forming the corresponding quadrilaterals.
Eventually these triangles will have to be described in .STL format when we submit the part for fabrication on a SLA, SLS, or FDM machine. For now just describe them in whatever format you can readily produce a rendering (e.g., VRML, OpenGL, ...). You can, of course, download an STL viewer and see what the final specification really looks like.


The home page of the Fall 98 offering of CS 284


Last update of this page: 1998/4/10
Page Editor: Carlo H. Séquin