MazePrim est un générateur de labyrinthes basé sur l'algorithme de Prim.
Il produit un fichier .scad prêt à être visualisé et modifié dans OpenSCAD, idéal pour créer des labyrinthes physiques via impression 3D.
Le labyrinthe est :
- Unique (un seul chemin sans boucle),
- Complètement parcourable,
- Personnalisé pour être imprimé ou modifié facilement.
L'algorithme de Prim est un algorithme classique en informatique utilisé pour construire un arbre couvrant de poids minimal (Minimum Spanning Tree ou MST) dans un graphe pondéré. Son principe est simple :
-
Partir d'un sommet choisi au hasard,
-
Étendre progressivement l'arbre en ajoutant à chaque étape l'arête de poids minimal qui relie l'arbre à un sommet non encore visité,
-
Répéter jusqu'à ce que tous les sommets soient connectés.
Dans le contexte de la génération de labyrinthes, on adapte Prim : au lieu de minimiser un poids, on choisit simplement des murs à casser aléatoirement pour connecter de nouvelles cellules sans créer de boucle, garantissant un chemin unique. 📈 À quoi sert l'algorithme de Prim ?
L'algorithme de Prim est utilisé dans de nombreux domaines, notamment :
-
Conception de réseaux : câblage électrique, réseaux télécoms ou informatiques pour minimiser le coût des connexions.
-
Cartographie : trouver des chemins minimaux pour relier des villes, des régions.
-
Graphismes et jeux vidéo : génération de labyrinthes, de cartes procédurales sans cycles.
-
Robotique et IA : planification de trajets optimisés dans des espaces connectés.
-
Modélisation 3D : création de structures connectées avec un minimum de matériaux.
- Python 3.10 ou plus récent
- OpenSCAD (logiciel gratuit de modélisation 3D)
Clonez ce dépôt :
git clone https://github.com/LylianChallier/MazePrim.git
cd MazePrimPuis lancez simplement le script Python :
python maze.pyLe script crée un fichier .scad prêt à être visualisé et modifié dans OpenSCAD. Le labyrinthe peut ensuite facilement être imprimé en 3D.
Voici un exemple de labyrinthe généré :
Pour imprimer votre labyrinthe :
-
Générez le .scad avec le script Python.
-
Dans OpenSCAD, rendez le modèle (F6) puis exportez-le en .stl.
-
Chargez le fichier .stl dans votre logiciel de tranchage préféré (ex: Cura, PrusaSlicer).
-
Paramètres recommandés :
-
Hauteur de couche : 0.2 mm
-
Remplissage : 20% (ou plus solide si souhaité)
-
Support : Non nécessaire
-
-
Lancez l'impression !
Le modèle est conçu pour éviter les supports en utilisant des murs verticaux et une base solide.
