Maze generation experiments
I am trying to come up with a way to generate random versions of this type of maze. It is a unicursal maze, has no dead-end, also known as Labyrinth. It also appears to be a type of space filling curve, with holes on the space that is being filled. Many space filling curves can be generated using L-systems.
My current code generates Hilbert Curves using fairly generalised L-system code. I also have some code for generating a standard maze using a depth-first backtracking approch.
It is all written in ClojureScript and renders to the browser using HTML5 canvas.
https://en.wikipedia.org/wiki/Space-filling_curve
- Hilbert's Space-filling Curve for Regions with Holes
- Context-based Space Filling Curves
- Brownian Bricklayer: A random space-filling curve
https://en.wikipedia.org/wiki/L-system
https://en.wikipedia.org/wiki/Maze_generation_algorithm
- Unicursal random maze tool path for computer-controlled optical surfacing
*Maze Generation: Eller's Algorithm
- Unicursal Maze generation ideas in the comments
- Maze Classification
- Stack Overflow: Algorithm for maze generation with no dead ends?
- Unicursal Mazes