- Projet combinant impression 3D et génération procédurale pour créer une œuvre d’art aux structures complexes
- Repose sur un algorithme de génération de parcours qui relie des points placés aléatoirement par des splines et contrôle la pente ainsi que le rayon de courbure
- Pour résoudre les problèmes de contrôle de la vitesse et de frottement, le projet garantit la stabilité de la piste en imposant un rayon de virage minimal et un dévers excessif
- Les supports sont générés à partir d’un système de particules, en tenant compte à la fois de la forme esthétique et de la stabilité structurelle
- Le projet a dépassé les limites d’OpenSCAD, avec un plan futur de réécriture basée sur les SDF et d’amélioration de la modélisation de la vitesse
Aperçu du projet
- Marble Fountain est une structure artistique complexe imprimée en 3D à l’aide de techniques de génération procédurale
- Après son entrée chez Formlabs, l’auteur a pu utiliser des imprimantes haute performance, ce qui l’a conduit à tenter la création d’une grande structure algorithmique
- La structure a été conçue avec pour objectif de devenir « l’œuvre d’art la plus complexe »
- En impression 3D, la complexité n’a pas d’impact sur le coût, et la limite du design est déterminée par le temps de travail en CAO
Pistes (Tracks)
- Le système initial reposait sur le schéma placement aléatoire de points → connexion par spline → application d’une pente constante
- La première version consistait simplement à soustraire des tubes d’une structure solide, mais un algorithme de résolution de parcours (path solver) a été ajouté pour étendre les fonctionnalités
- Le résolveur de parcours commence par une série de segments aléatoires reliant le haut et le bas
- Les conditions initiales influencent fortement la forme de la structure, et plusieurs variantes algorithmiques ont été testées
- Les points du parcours suivent les règles suivantes
- rester à l’intérieur de la boîte englobante
- conserver un espacement uniforme
- être attirés vers une hauteur donnée afin de maintenir une pente fixe
- respecter des limites minimales et maximales de rayon de courbure
- se repousser mutuellement avec les autres pistes ainsi qu’avec les sections éloignées de leur propre piste
- adoucir les variations de pente et empêcher l’augmentation de la pente
- Le problème du contrôle de la vitesse s’est révélé plus complexe que prévu
- Les billes ne se déplacent pas comme des masses ponctuelles, et les variations de dévers de la piste influencent l’inertie de rotation et le frottement
- Sur les sections droites, la vitesse augmente excessivement, tandis que dans les virages serrés, la décélération crée un risque d’arrêt
- La solution a consisté à définir un rayon de virage minimal et à appliquer un dévers excessif afin de provoquer une dissipation de vitesse
- La structure de levage fonctionne comme une vis à billes (ball screw)
- Les billes contraignent la vis de tous côtés, ce qui permet sa rotation sans roulement supérieur
- Lorsqu’il n’y a des billes que d’un seul côté, un mode d’échec apparaît : de fortes vibrations éjectent toutes les billes hors de la piste
Supports
- La génération des supports a été mise en œuvre via un traitement itératif top-down fondé sur un système de particules
- Plus de temps a été consacré à l’ajustement de la forme esthétique qu’aux collisions structurelles
- Les capacités de surplomb tolérées par l’imprimante ont été exploitées au maximum
- Règles de comportement de chaque support
- attraction vers les autres supports selon la distance et la similarité de taille
- répulsion vis-à-vis des autres supports
- maintien à l’intérieur de la boîte englobante
- maintien d’un rayon donné depuis le centre de la structure
- Les supports possèdent une inertie, ce qui forme des structures courbes en arc
Perspectives (Looking forward)
- L’export du modèle final prend entre 5 et 20 minutes
- Il existe une marge d’optimisation en raison des limites d’OpenSCAD
- Une réécriture basée sur une bibliothèque SDF est envisagée pour la suite
- Le système actuel ne dispose pas de fonction d’estimation de la vitesse et repose sur de simples heuristiques
- Une mesure de la vitesse par caméra pourrait faire gagner du temps en construisant un modèle d’accélération
- Le maintien d’une pente constante est défavorable à la prévention des collisions, mais indispensable au contrôle de la vitesse
- Il est prévu d’explorer le point critique (response curve) à partir duquel la surface commence à glisser
Rétrospective (Looking back)
- Il s’agit du plus grand projet personnel mené pendant environ 7 mois, de février à septembre 2024
- Une phase de travail intensif de dernière minute a eu lieu pour préparer l’exposition à la New Alliance Gallery de Somerville
- Pendant l’exposition, 2 à 3 billes étaient perdues par heure, et le moteur ne pouvait fonctionner que quelques heures en raison de la surchauffe
- Le projet a été interrompu pour cause de surmenage, puis rendu public un an plus tard
- Mention de remerciement pour les conseils et retours du collègue Alex, ainsi que pour les innombrables essais avec des billes
Résumé technique
- Technologies utilisées : Procedural Generation, 3D Printing, Python, OpenSCAD
- Caractéristique structurelle : algorithme de résolution de parcours + système de supports à base de particules
- Objectif artistique : combiner complexité mécanique et courbes esthétiques
- Pas d’informations supplémentaires dans le texte original
1 commentaires
Réactions sur Hacker News
L’approche consistant à utiliser une simulation de particules pour créer une structure de support arborescente organique est vraiment créative
Si j’ai bien compris, il a défini des lois physiques puis fait tourner la simulation en mappant l’axe du « temps » sur l’axe z
Je me demande si c’est une méthode déjà connue ou s’il l’a inventée lui-même. Quoi qu’il en soit, le résultat est d’une grande qualité esthétique et ça me donne envie d’essayer moi-même
Les concepteurs de circuits à billes en marbre rencontrent souvent des problèmes de déraillement des billes quand ils n’utilisent pas d’ordinateur
Ils doivent observer les billes sortir de la piste ou se bloquer, deviner la cause, puis ajuster manuellement
Ce qui impressionne ici, c’est que l’œuvre peut fonctionner pendant des heures sans qu’aucune bille ne sorte
La piste est composée de deux rails, de sorte que la bille reste toujours en contact en deux points
La clé semble être de conserver un dévers (inclinaison) parfait afin d’équilibrer gravité et force centrifuge
La piste est inclinée de façon très agressive pour éviter que les billes ne prennent trop de vitesse ou ne sautent hors du rail
Ainsi, toutes les billes descendent en douceur à peu près à la même vitesse
Cela dit, une bille déraille encore environ toutes les 30 minutes. Je filme la vidéo pour repérer la section problématique et, plutôt que de faire un ajustement manuel, j’améliore le tout en modifiant le code du générateur puis en réimprimant
J’envisage aussi d’ajouter une boucle de rétroaction par caméra, mais ce serait encore un autre projet
Cette œuvre est vraiment magnifique. Ce serait génial de pouvoir encoder/décoder de l’audio avec la piste
Par exemple en produisant différentes fréquences grâce au mouvement des billes
Avec un matériau plus souple ou des roulements plus gros, ce serait peut-être possible, mais pour l’instant je me suis concentré sur la finalisation de la version standard
Lien YouTube
Je pense que c’est un exemple du cas d’usage idéal d’une imprimante 3D
Fabriquer autrement une piste à billes aussi fluide et des formes aussi organiques aurait demandé énormément d’efforts
La vidéo est vraiment très bien réalisée. Une simple voix off synchronisée avec la musique, et l’œuvre elle-même explique tout. Excellent
J’adore cette œuvre. Elle est pleine d’éléments « étrangement satisfaisants »
J’utilisais moi aussi des pistes à billes pour expliquer les probabilités à mes enfants, et voir ça sur HN m’a donné l’impression qu’on lisait dans mes pensées
Le mouvement, à la fois simple, hypnotique et magnifique, est très marquant
Les flammes, les vagues, le courant d’une rivière, un écran de télévision : on peut les regarder longtemps pour la même raison
Ce qui est fascinant avec cette piste à billes, c’est qu’on continue à la regarder alors que c’est en réalité un système prévisible
J’aimerais aussi voir une version avec LED en matériau blanc ou transparent. Ça ressemblerait à une route arc-en-ciel
Je travaille moi aussi sur un projet similaire
Avec Python, Build123D et une imprimante 3D, je crée une piste à billes basée sur la génération procédurale
Je me demande à quelle échelle de créativité cette technique pourrait s’étendre
Des bâtiments assemblés bloc par bloc, une sorte de Minecraft dans le monde réel
Et dans le film Fracture, on voit aussi un superbe mécanisme à billes
Lien YouTube