All Projects → razimantv → Mazegenerator

razimantv / Mazegenerator

Licence: mit
Generate mazes of different shapes and arbitrary sizes using graph theory

Projects that are alternatives of or similar to Mazegenerator

Vivagraphjs
Graph drawing library for JavaScript
Stars: ✭ 3,442 (+280.33%)
Mutual labels:  graph-algorithms
Tidygraph
A tidy API for graph manipulation
Stars: ✭ 398 (-56.02%)
Mutual labels:  graph-algorithms
Meta
A Modern C++ Data Sciences Toolkit
Stars: ✭ 600 (-33.7%)
Mutual labels:  graph-algorithms
Suitesparse
The official SuiteSparse library: a suite of sparse matrix algorithms authored or co-authored by Tim Davis, Texas A&M University
Stars: ✭ 344 (-61.99%)
Mutual labels:  graph-algorithms
Quickgraph
Generic Graph Data Structures and Algorithms for .NET
Stars: ✭ 386 (-57.35%)
Mutual labels:  graph-algorithms
C Sharp Algorithms
📚 📈 Plug-and-play class-library project of standard Data Structures and Algorithms in C#
Stars: ✭ 4,684 (+417.57%)
Mutual labels:  graph-algorithms
Ngraph.graph
Graph data structure in JavaScript
Stars: ✭ 295 (-67.4%)
Mutual labels:  graph-algorithms
Advanced Algorithms
100+ algorithms & data structures generically implemented in C#.
Stars: ✭ 752 (-16.91%)
Mutual labels:  graph-algorithms
Competitive coding
This repository contains some useful codes, techniques, algorithms and problem solutions helpful in Competitive Coding.
Stars: ✭ 393 (-56.57%)
Mutual labels:  graph-algorithms
Swiftgraph
A Graph Data Structure in Pure Swift
Stars: ✭ 588 (-35.03%)
Mutual labels:  graph-algorithms
Communities
Library of community detection algorithms and visualization tools
Stars: ✭ 348 (-61.55%)
Mutual labels:  graph-algorithms
Networkit
NetworKit is a growing open-source toolkit for large-scale network analysis.
Stars: ✭ 383 (-57.68%)
Mutual labels:  graph-algorithms
Littleballoffur
Little Ball of Fur - A graph sampling extension library for NetworKit and NetworkX (CIKM 2020)
Stars: ✭ 505 (-44.2%)
Mutual labels:  graph-algorithms
Graph Fraud Detection Papers
A curated list of fraud detection papers using graph information or graph neural networks
Stars: ✭ 339 (-62.54%)
Mutual labels:  graph-algorithms
Lightgraphs.jl
An optimized graphs package for the Julia programming language
Stars: ✭ 611 (-32.49%)
Mutual labels:  graph-algorithms
Algods
Implementation of Algorithms and Data Structures, Problems and Solutions
Stars: ✭ 3,295 (+264.09%)
Mutual labels:  graph-algorithms
Graph
Graph algorithms and data structures
Stars: ✭ 431 (-52.38%)
Mutual labels:  graph-algorithms
Modal logic
Final Year Masters Project: modal logic solver tableaux
Stars: ✭ 16 (-98.23%)
Mutual labels:  graph-algorithms
Neo4j Graph Algorithms
Efficient Graph Algorithms for Neo4j
Stars: ✭ 713 (-21.22%)
Mutual labels:  graph-algorithms
Datastructureandalgorithms
Write code that run faster, use less memory and prepare for your Job Interview
Stars: ✭ 509 (-43.76%)
Mutual labels:  graph-algorithms

Maze generator

Generate mazes of different shapes and arbitrary sizes Maze types

Maze generator can create rectangular, hexagonal, honeycomb and circular mazes. Maze generation can be done using Kruskal's algorithm, depth-first search, breadth-first search, loop-erased random walk or Prim's algorithm. Mazes can be rendered in svg or png format (using gnuplot as intermediate in the latter case).

Dependencies

Maze generator uses gnuplot (with a system call gnuplot) to render png mazes. So make sure that gnuplot 5.0+ is installed with pngcairo terminal support and is in the path if you wish to use png.

The code is written in C++ 11, you will need a not-too-ancient C++ compiler to build it.

Installation

cd src; make

Usage

Usage: mazegen [--help] [-m <maze type>] [-a <algorithm type>]
               [-s <size> | -w <width> -h <height>]
               [-t <output type] [-o <output prefix>]

Optional arguments
  --help  Show this message and exit
  -m      Maze type
          0: Rectangular (default)
          1: Hexagonal (triangular lattice)
          2: Honeycomb
          3: Circular
          4: Circular (triangular lattice)
          5: User-defined
  -a      Algorithm type
          0: Kruskal's algorithm (default)
          1: Depth-first search
          2: Breadth-first search
          3: Loop-erased random walk
          4: Prim's algorithm
  -s      Size (non-rectangular mazes, default: 20)
  -w,-h   Width and height (rectangular maze, default: 20)
  -t      Output type
          0: svg output (default)
          1: png output using gnuplot (.plt) intermediate 
  -o      Prefix for .svg, .plt and .png outputs (default: maze)

Issues

The arcs in the circular mazes are plotted as parametric curves in gnuplot, and png can take quite long to render for large mazes.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].