rebmanop / Pathfinding-Visualizer

Visualization tool for the most popular pathfinding and maze generation algorithms.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Pathfinding-Visualizer

This is an image

Description

Visualization of this kind helps to understand the general idea behind every implemented algorithm. The application is written mainly for educational purposes: to learn more about pathfinding, maze generation, and to challenge my software development skills.

Implemented pathfinding algorithms:

  • A*
  • Dijkstra's
  • Depth-first search
  • Breadth-first search
  • Greedy best-first search
  • Bidirectional breadth-first search

Implemented maze generation algorithms:

  • Recursive division
  • Randomized depth-first search (backtracker)
  • Spiral
  • Simple stair pattern

Implemented features:

  • Adjustable animation speed
  • Draggable route points
  • Real time revisualization
  • Intermediate route point (parcel)
  • Manual creation and removal of walls

All or some of the lists are likely to be updated at some point in the future.

Demo

Dijkstra's algorithm & recursive division maze

This is a gif

Bidirectional bfs & intermidiate point (parcel)

This is a gif

A* algorithm & "real time" revisualization feature

This is a gif

Dependencies

  • pygame
  • strenum
  • pygame_gui

How to use

  1. Download or clone this repository.
  2. Extract to some location.
  3. Pip all dependencies.
  4. Run main.py

About

Visualization tool for the most popular pathfinding and maze generation algorithms.


Languages

Language:Python 100.0%