Code Monkey home page Code Monkey logo

3d-pathfinding-simulation's Introduction

3D Pathfinding Simulation Through Procedurally Generated Graphs

Screenshot 2024-02-02 152522

Introduction or Project Overview

I made this project in 2021, but was using Unity Version Control at the time instead of GitHub. This project is 3D pathfinding simulation that uses procedurally generated graphs. I designed and developed this project using Unity and C#, it aims to visualize the workings of various pathfinding algorithms within dynamically created 3D spaces. The purpose of this project is to offer insights into algorithmic pathfinding by simulating different scenarios and graph configurations in a visually engaging manner.

Key Features

The 3D Pathfinding Simulation offers several distinctive features, including:

  • Procedurally Generated 3D Graphs: Graphs are generated dynamically, offering a new experience with each simulation run.
  • Multiple Pathfinding Algorithms: Implements widely used algorithms such as Dijkstra, A*, Breadth-First Search (BFS), and Depth-First Search (DFS) to solve pathfinding problems.
  • Real-Time Visualization: Watch algorithms in action as they navigate through the graph, highlighting paths and decision points.
  • Customizable Simulation Parameters: Users can adjust various parameters such as graph style and algorithm selection, allowing for a tailored simulation experience.

Technologies Used

This project is built using several key technologies and frameworks:

  • Unity: Powers the 3D simulation and visualization aspects, providing a rich and interactive environment.
  • C#: All scripting and algorithm implementation are done using C#, making use of Unity's extensive libraries.
  • Poisson Disk Sampling: Utilized for node distribution within the graphs, ensuring a minimum distance between nodes for both 2D and 3D simulations.

Poisson 3D Generator Parameters

In the simulation, the Poisson 3D generator plays a vital role in creating a procedurally generated environment with customizable graph properties:

  • Radius of Distance Between Discs: Defines the minimum separation between any two nodes, controlling the density of the graph.
  • Maximum Edge Distance: Determines the maximum length for edges between nodes, influencing the graph's connectivity.
  • Region Size: Specifies the total volume in which nodes are distributed, affecting the scope and scale of the generated graph.
  • Rejection Samples: The number of attempts the algorithm makes to place a new node while adhering to the minimum distance rule, impacting the distribution's uniformity and density.

These parameters allow for extensive customization of the graph's appearance and structure, offering various scenarios for pathfinding simulations.

Live Demonstrations and Downloads

  • Online Demo: Explore the simulation through this online demo. Get a firsthand look at how different algorithms navigate complex 3D spaces. The demo provides an interactive experience, allowing users to select algorithms, generate graphs, and visualize pathfinding in real-time. Due to browser limits, the online demo is much slower than the executable.
  • Executable Link: For a local experience, download the executable from here. Compatible with Windows, the executable offers an offline mode to explore and interact with the simulation. Note: To return to the main menu, use ALT-F4 and relaunch the application.

Contact Information

For further information, questions, or feedback, please visit my website. Here you'll find more about my work, other projects, and ways to get in touch. Screenshot 2024-02-02 111007 Screenshot 2024-02-02 111027 Screenshot 2024-02-02 135353 Screenshot 2024-02-02 135307 Screenshot 2024-02-02 135244

3d-pathfinding-simulation's People

Contributors

clintboyett01 avatar

Stargazers

Andrew Mobus avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.