iyksh / BIM-Pathfinding

Developing a cutting-edge pathfinding tool for 2D/3D Building Information Modeling (BIM) utilizing algorithms rooted in graph theory

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Pathfinding Algorithm GUI

Welcome to the graphical user interface (GUI) for our advanced pathfinding algorithm. This interface empowers users to dynamically visualize and manipulate a matrix representing a floor plan or grid.

Key Features

  • Matrix Configuration: Easily configure the program using default values stored in the config.json file.

Table of Contents

Installation

  1. Dependencies are automatically installed for your convenience.

Usage

  1. Run the main script:
python ./src/main.py
  • Usage:

    • Left-click on the canvas to update the color of a square.
    • Right-click on the canvas to delete a square.

Interactive Buttons:

  • Run Algorithm in 3D: Experience the algorithm in a three-dimensional perspective.

  • Run Dijkstra: Execute the Dijkstra pathfinding algorithm.

  • Load New Image: Import a new image to update the floor plan.

  • Clear Bitmap: Remove all elements from the bitmap.

  • Toggle Gradient: Switch between gradient modes for enhanced visualization.

  • Display Help: Access helpful information about the application.

  • Add New Floor: Include a new floor in the floor plan.

  • Remove Floor: Eliminate an existing floor from the plan.

  • Clear Path: Reset the path on the floor plan.

  • Save Bitmap: Save your current configuration for future use.

    Contributing

We welcome and appreciate contributions! If you'd like to contribute to the enhancement of this pathfinding algorithm GUI, please follow these guidelines:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and ensure that the code is well-documented.
  4. Test your changes thoroughly.
  5. Create a pull request, explaining the purpose of your changes.

About

Developing a cutting-edge pathfinding tool for 2D/3D Building Information Modeling (BIM) utilizing algorithms rooted in graph theory

License:GNU General Public License v3.0


Languages

Language:Python 100.0%