1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-05-31 18:09:21 +02:00
This commit is contained in:
Justin Lin 2020-12-24 17:11:09 +08:00
parent 0ba4e50a20
commit 58cf71eb19
5 changed files with 40 additions and 1 deletions

View File

@ -252,7 +252,7 @@ These examples incubate dotSCAD and dotSCAD refactors these examples. See [examp
- [mz_square_walls](https://openhome.cc/eGossip/OpenSCAD/lib2x-mz_square_walls.html)
- [mz_hex_walls](https://openhome.cc/eGossip/OpenSCAD/lib2x-mz_hex_walls.html)
- [mz_square_initialize](https://openhome.cc/eGossip/OpenSCAD/lib2x-mz_square_initialize.html)
- mz_hamiltonian
- [mz_hamiltonian](https://openhome.cc/eGossip/OpenSCAD/lib2x-mz_hamiltonian.html)
----

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

View File

@ -0,0 +1,29 @@
# mz_hamiltonian
Creates a hamiltonian path from a maze. The path is the result of maze traversal using [Wall follower](https://en.wikipedia.org/wiki/Maze_solving_algorithm#Wall_follower).
**Since:** 2.5
## Parameters
- `rows` : The rows of a maze.
- `columns` : The columns of a maze.
- `start` : The start point to travel the maze. Default to `[0, 0]`.
- `seed` : The maze is traveling randomly. Use `seed` to initialize the pseudorandom number generator.
## Examples
use <maze/mz_hamiltonian.scad>;
use <hull_polyline2d.scad>;
rows = 5;
columns = 10;
path = mz_hamiltonian(rows, columns, [0, 0]);
hull_polyline2d(path, .5);
![mz_hamiltonian](images/lib2x-mz_hamiltonian-1.JPG)
The [senbon_torii](https://github.com/JustinSDK/dotSCAD/blob/master/examples/maze/senbon_torii.scad) is based on `mz_hamiltonian`.
![mz_hamiltonian](images/lib2x-mz_hamiltonian-2.JPG)

View File

@ -1,3 +1,13 @@
/**
* mz_hamiltonian.scad
*
* @copyright Justin Lin, 2020
* @license https://opensource.org/licenses/lgpl-3.0.html
*
* @see https://openhome.cc/eGossip/OpenSCAD/lib2x-mz_hamiltonian.html
*
**/
use <_impl/_mz_hamiltonian_impl.scad>;
use <mz_square_cells.scad>;
use <mz_square_get.scad>;