Sélectionner une page

Fractales : des figures de Lichtenberg avec Blender !

En dehors du fait que l’exposition aux éclairs d’orage devrait être systématiquement recommandée aux bossus (çà les fout droits) il advient que la foudre frappe les hommes et que d’aucuns y survivent.

On relève alors souvent sur leur peau de curieuses brûlures ramifiées : les figures de Lichtenberg, du nom de celui qui le premier les a étudiées.

Dendrites

J’ai toujours été fasciné par ce phénomène avant de réaliser bien plus tard leur structure fractale. Phénomène assez général que ces ramifications complexes qui varient en fonction de la pression, de la température, de la nature et de la composition des différents composants, de la viscosité des fluides, de la rugosité des surfaces en présence et quantités d’autres facteurs encore mal compris dans l’immense et chaotique domaine des colloïdes et de la « diffusion » en physique et en chimie.

On les retrouve souvent, par exemple, entre deux strates de calcaire, à la recherche bredouille de feuilles d’arbres fossilisées, de trilobites ou autres poissons d’un très lointain passé, coulures anciennes et ramifiées figées dans le temps ; un fluide traçant son chemin entre deux parois solides, lisses en apparence.

On obtient le même résultat en appliquant un fort courant électrique entre deux plaques de bois jusqu’à obtenir une « pyrogravure fractale ». Ou en observant certaines réactions chimiques entre deux gouttes de réactifs sous le microscope…

Un phénomène très général, donc, que Georges Sand appelait « ses dendrites » ou « aquarelles à l’écrasage ». Eh oui, l’interprétation et la complétion ultérieure des figures aléatoires obtenues par pression de gouttes de couleurs (à la « test de Rorschach« ) ne datent pas d’hier et sont bien du domaine des fractales.

Et l’on comprend intuitivement qu’un fluide a tendance à se faufiler dans un solide en utilisant le plus court chemin ; ou le moins difficile (avec la plus grande économie de moyens possibles – concept important des fractales dans la nature). Utilisant par exemple les infimes irrégularités et porosités des solides, invisibles à l’oeil mais qui constituent de véritables tunnels à l’échelle atomique…

Blender : Shortest Edge Paths

Et voilà où je voulais en venir : il est possible de simuler informatiquement cette notion de « plus court chemin » et donc de créer des « figures de Lichtenberg » de synthèse. Un procédé connu de longue date dans le monde des fractales (certaines figures de Julia et de l’ensemble de Mandelbrot) et par de nombreux autres procédés informatiques grâce à des algorithmes mathématiques peaufinés avec soin.

Par exemple les méthodes qui reposent sur l’utilisation de l’algorithme de Dijkstra.

L’algorithme de Dijkstra permet en effet de résoudre ce problème du « plus court chemin ». Publié en 1959, cet algorithme est de complexité polynomiale. Plus précisément (d’après Wikipédant), pour {\displaystyle n} sommets et {\displaystyle a} arcs, le temps est en {\displaystyle O((a+n)\log n)}, voire en {\displaystyle O(a+n\log n)}. Enfantin, n’est ce pas ?

Edsger Wybe Dijkstra était un mathématicien et informaticien néerlandais né à Rotterdam le et mort à Nuenen le . Il a reçu en 1972 le prix Turing pour ses contributions sur la science et l’art des langages de programmation et au langage Algol.

Pour donner une idée des sévères pathologies qui affectent ce type de génies, méditons cette anecdote : Dijkstra avait une écriture manuscrite très lisible et, bien qu’informaticien, avait toujours refusé d’utiliser un traitement de texte, lui préférant la lettre manuscrite photocopiée ! Une police de caractère « Dijkstra » a même été créée en son honneur, qui imite son écriture régulière. Par ailleurs, Dijkstra référençait toutes ses lettres par « EWD » suivi d’un nombre, la dernière étant la lettre EWD 1318…

Toujours est-il que le logiciel Blender, dans sa très instable  version 3.4 « alpha », a naturellement été pourvu de nouveaux nodes, comme nous l’avons vu, parmi lesquels de mystérieux « paths » correspondant à ces algorithmes.

La voie royale pour bâtir des images nouvelles et des animations d’arborescences en croissance, exercices d’équilibristes qui n’aura pas échappé aux blenderonautes de tous poils, plus ou moins experts…

Les possibilités sont en effet immenses même si la mise en oeuvre de ces nodes n’est pas des plus limpides mais on en a l’habitude…

 

Commençons avec un simple plan convenablement subdivisé. En sélectionnant les points (vertex) du bas dans un « vertex group » idoine et en utilisant ce groupe comme « point de départ » dans Geometry Nodes, magie : on obtient les ramifications recherchées, plus ou moins chantournées selon l’intensité du trifouillage des différents nodes de contrôle… Ci-dessous un aperçu de l’enchainement des nodes nécessaires, salmigondis somme toute assez raisonnable.

Un labyrinthe de fonctions

Quelques réglages simples de l’objet de départ permettent d’obtenir un labyrinthe en trois dimensions et le tout en procédural ! Rappelons qu’il s’agit de changer le résultat à tous moments en modifiant légèrement les nodes intermédiaires. On peut grossir les « parois » du labyrinthe, changer leur forme et même animer le tout en jouant sur le réglage du node « Trim Curve ». Inutile de chercher, n’étant pas masochiste je n’ai pas fait le rendu. Mais voici quelques vues intermédiaires…

En volume !

Tout se complique naturellement quand on prétend s’affranchir des courbes mathématiques pour en faire des objets « en dur », en trois dimensions de surcroit. Mais quelle récompense !

La clé passe (encore) par l’ajout d’une ribambelle de nodes dont vous trouverez ici un aperçu. Il « suffit » d’appliquer une courbe de forme (cercle), dont on contrôle l’aspect et l’épaisseur grâce à une (encore une) courbe providentielle, sur un node « Curve to mesh » ! Le relief physique, palpable, sort alors de l’austérité « plan-plan » des mathématiques… Pour donner ces réseaux de vagues vaisseaux sanguins, radicelles pointues figées dans le marbre.

Rien n’empêche d’ajouter (par copié/collé) autant de réseaux « Shortest Edge Paths » que l’on veut : il suffit de les réunir au final par la magie d’un node « Join Geometry ». En changeant le matériau de chaque branche, à nous les mains dérangeantes de quelque humanoïde biomécanique au sang fluorescent…

 

Publié le Août 28, 2022

Voir le site pro ?

Tous les tableaux

Tous les articles

0 commentaires