The Bell Cranel Algorithm is a Python tool designed for generating and visualizing multilayer graphs. It offers customizable parameters for nodes, edges, and interlayer connections, facilitating the modeling and visualization of intricate systems such as dungeons, mazes, and networks.
Multilayer graphs, also referred to as multidimensional graphs, are a type of graph representation where nodes and edges exist across multiple layers or dimensions. This approach enables the modeling of interconnected systems with intricate relationships that extend beyond a single layer.
The Bell Cranel Algorithm utilizes multilayer graphs to generate and map complex structures. By representing various components of the structure across different layers, it provides a comprehensive view of the system, facilitating analysis, visualization, and exploration.
- Multilayer Graph Generation: The algorithm generates multilayer graphs representing complex structures with interconnected components.
- Customizable Parameters: Users can specify parameters such as the number of layers, nodes per layer, edges per layer, and interlayer connections.
- Inspired by DanMachi: Inspired by the mapping problem featured in the anime "Is It Wrong to Try to Pick Up Girls in a Dungeon?" (DanMachi), the algorithm aims to address similar mapping challenges encountered in complex environments. DanMachi Dungeon.
- Mapping Complex Structures: Ideal for mapping complex systems such as dungeons, mazes, networks, and other intricate structures.
- Visualization: Utilizes Plotly library to visualize generated multilayer graphs in a three-dimensional (3D) projection, providing an intuitive representation of the structure.
- num_layers: Number of layers in the graph.
- nodes_per_layer: Interval specifying the number of nodes per layer, e.g.,
[min, max]
. - edges_per_layer: Interval specifying the number of edges per layer, e.g.,
[min, max]
. - interlayer_edges: Interval specifying the number of edges connecting nodes between layers, e.g.,
[min, max]
. - animation_speed: Speed of the animation in milliseconds per frame.
- allow_disconnected_nodes: Whether to allow nodes without any edges.
- Toggle Axes Visibility: Use the "Hide Axes" and "Show Axes" buttons to toggle the visibility of the x, y, and z axes in the 3D plot.
- Play Animation: Click the "Play" button to animate the construction of the graph edge by edge.
To run this project, you need to have Python and the required libraries installed. You can install the required libraries using the following command:
pip install -r requirements.txt
This project is licensed under the MIT License. See the LICENSE file for details.