Labyrinthe

La recherche même de ce projet est un labyrinthique, basée sur des impasses, des fausses pistes, des circonvolutions dont le but assumé est de perdre celui qui cherche à comprendre et de favoriser la déambulation. 

La toute première chose que j’ai faite, a été de chercher un générateur de labyrinthe. Bien sûr, j’aurais pu commencer par en dessiner un moi-même, en faisant jouer ma subjectivité. Mais j’ai bien peur que ma vision d’un labyrinthe, avant de plonger plus profondément dans le sujet, était assez limitée. Limitée aux seules représentations que j’ai connues, qui se résument à des gravures illustrant le mythe de Dédale, les buissons du parc du château de Villandry, ou les multiples niveaux du jeu Pacman… Je tenais à commencer cette série d’itération par une première couche de calcul, qui me permette de m’écarter de ces références, et partir sur une base neutre. Du moins, une base calculée. Le labyrinthe est depuis longtemps étudié comme un objet mathématique, répondant à un principe binaire, mettant en jeu des variables de type Booléenne : Vrai/Faux, Bon chemin/Cul-de-sac. C’est la raison pour laquelle ce concept m’intéresse et qu’il est assez aisé de créer des algorithmes de modélisation qui peuvent en générer ou en résoudre. 

J’ai donc commencé à rechercher sur le net les différentes manières de générer un labyrinthe. Ayant pas mal utilisé Blender récemment, ( logiciel de création 3D gratuit et open source ) j’ai naturellement orienté ma recherche vers les façons de créer un labyrinthe dans ce logiciel. À ma grande surprise, il s’est avéré qu’il n’existe pas d’add-on direct ( fonctionnant avec les dernières versions ) pour générer des labyrinthes dans Blender ! Plusieurs tutos me renvoient alors vers le site http://www.mazegenerator.net/Default.aspx qui permet de générer des labyrinthes en faisant varier divers paramètres, puis de télécharger l’image au format que l’on souhaite de façon à l’importer dans Blender. 

La curiosité l’emporte, et je commence à modifier les différents paramètres sur le site internet. Je génère ainsi des dizaines de labyrinthes différents que je télécharge aux formats A4 et A3 dans le but de les imprimer. Une fois passés sur papier, je retrouve un format familier qui fait remonter le souvenir lointain des pages dédiées aux jeux des Picsou Magazine chez ma grand-mère.

Qui peut passer ses yeux devant un labyrinthe sans tenter de suivre un chemin ? Les impressions éparpillées sur ma table attirent l’attention des visiteurs de la salle 5DC. Le labyrinthe intrigue, challenge, fascine. Je propose donc à plusieurs étudiants de remplir mes labyrinthes, selon la stratégie de leur choix, avec les outils de leur choix. Je leur propose des feutres, fins, épais ou fluo, des pinceaux, avec de la peinture que l’on peut diluer ou non, de l’encre de chine, des crayons de couleurs… C’est l’occasion d’observer la stratégie ou non-stratégie que chacun va adopter.  Fixer le labyrinthe, analyser les possibilités dans sa tête et tracer le chemin du premier coup sans hésitation. Essayer toutes les possibilités, faire demi-tour, s’égarer. Ou encore s’arrêter à chaque intersection, tracer avec son doigts toutes les possibilités, puis, seulement quand on est certain du chemin à prendre, avancer le crayon. Devant les réactions des joueurs, je leur demande de m’autoriser à filmer leurs parties afin de conserver une trace vidéo de leurs remarques, de leurs comportements

L’idée de la captation videos n’était à la base qu’une forme de documentation. Puis j’y ai vu un écho à l’analyse comportementale, plus particulièrement au tracking. Sur internet le moindre mouvement de la souris est enregistré, traqué, pour entretenir la grande machine du big data. Dans le monde “réel” également de plus en plus de nos mouvements sont captés, que ce soit les caméras de surveillance, les smartphones ou les divers objets connectés. Ces données alimentent des algorithmes d’analyse comportementale et de prédictions pour créer des profils personnalisés, des recommandations… Mes vidéos, tout comme les tracés papier, sont des données comportementales, comment les exploiter ? 

Afin d’exploiter les données des gestes des étudiants, j’ai souhaité réaliser mon propre tracking en me basant sur le mouvement de l’outil. Je suis entrée en contact avec un développeur, pour lui expliquer mon problème. Il m’a renvoyé vers la librairie sous licence libre OpenCV ( Computer Vision), notamment connue pour être spécialisée dans le traitement d’images et plus particulièrement la branche de l’intelligence artificielle appelée vision par ordinateur. Cette bibliothèque est par exemple utilisée pour l’arbitrage vidéo, ou comme base du logiciel DeepFake. Open CV permet donc à une machine d’analyser, traiter et comprendre des images en se basant sur du calcul matriciel. Les algorithmes de la librairie permettent d’appliquer des traitements (filtres) sur les images pour faciliter la détection des éléments que l’on souhaite. Dans mon cas, je souhaitais connaître la couleur rouge très précise du stylo. On passe donc par une superposition de filtres pour isoler la partie à traquer. Par exemple, une fois le rouge de l’image isolé, on combine un algorithme d’érosion et de dilatation pour supprimer le bruit dans les images.

En sortie, je demande des coordonnées dans le but de les exploiter. Cet algorithme en python me crée donc un fichier texte correspondant à ma vidéo contenant un tableau indiquant l’X et l’Y correspondant au mouvement du feutre, frame par frame. J’ai essayé d’en faire des courbes, en fonction de y, l’inverse etc. J’aimerai voir comment je peux exploiter ces coordonnées en les mettant dans un logiciel de 3D, ou même en les donnant directement à une imprimante 3D.

Afin d’exploiter les données des labyrinthes imprimés et résolus par mon échantillon de personnes, j’ai pris le rôle de l’algorithme. Afin d’observer les divergences et les convergences dans un même labyrinthe ( template, cadre ), je fais des scans qui me permettent de superposer les tracés dans Photoshop. Puis j’ai fait disparaître la grille, le labyrinthe, pour ne conserver à l’écran que les tracés. En observant le résultat, j’y ai vu une sorte de cartographie témoignant des déambulations des joueurs. L’image obtenue me fait alors penser au tracé d’une rivière qui creuse son lit, en contournant les obstacles du paysage. Sur ma carte ne reste que la rivière. Et si on inversait les rôles ? Si les tracés orientés par les murs du labyrinthe calculé, devenaient les murs d’une nouvelle itération du labyrinthe ? 

J’importe donc la superposition des tracés dans le logiciel Blender. L’image passe ainsi en Noir et blanc et peut être utilisée comme un champ de hauteur, heightmap en anglais. L’idée des champs de hauteur, souvent utilisés pour créer des paysages dans les jeux vidéos, est que cette image peut être interprétée comme un déplacement par rapport à une surface d’origine. Le  noir y représente la distance minimum (creux) et le blanc la distance maximale (pics). Afin de gérer mon paysage, je suis cet excellent tutoriel détaillant les différentes étapes à suivre : https://johnflower.org/tutorial/make-mountains-blender-heightmaps. Je commence donc par créer une grille ( Add, Mesh, Grid) d’abord de 600 par 600, que je subdivise en 500 en X et Y. Puis j’importe mon image en tant que texture. J’utilise ensuite le modificateur Displace, qui me permet d’utiliser cette texture, sur ma grille, pour en faire une élévation. La force donne la hauteur du terrain, par rapport à l’échelle de mon image, je la fixe à 0.100 ce qui paraît être un bon compromis pour obtenir l’illusion d’un paysage immense dans lequel on peut se perdre. Enfin, j’ajoute le modificateur Subdivision Surface ( sur la grille directement, plus haut dans la pile que le displace), pour rendre le mesh plus fin, et obtenir un paysage plus fluide. 

On obtient un paysage qui ressemble à des canyons, pourtant ici le processus est inversé : les canyons se forment entre deux reliefs grâce de l’érosion progressive des roches par le mouvement répétitif de l’eau, un processus soustractif. Les reliefs sont ici au contraire le résultat d’une superposition, une addition de tracés. 

Je continue à utiliser Blender afin de faire des rendus de mon paysage, je crée donc une lumière qui vient éclairer la scène, ainsi qu’une caméra qui permet de faire un cadrage. Je travaille d’abord la scène en la survolant, pour créer des vues d’ensemble, comme des vues documentaires réalisées en hélicoptère ou en drone. Le but est de s’éloigner le plus possible de l’aspect froid et calculé de labyrinthe originel, et d’utiliser les traces humaines afin d’en créer un plus organique. 

Je cherche ensuite à créer une immersion dans le paysage, à mettre ma caméra à hauteur d’homme. En changeant d’échelle, on peut naviguer dans ce nouveau labyrinthe de traces générées par le geste humain. J’ai commencé à faire des rendus vidéos, qui peuvent figurer ce que pourrait donner une exploration réelle de ce paysage (ce qui pourrait être possible en VR). Le rendu se rapproche alors volontairement d’un jeu vidéo, comme un monde ouvert gris, un peu angoissant, immense, qu’il faut explorer pour trouver la sortie, dans la peau d’un rat de laboratoire.

Pour sortir ce paysage de mon ordinateur, je commence par préparer de grands tirages, au format A3 dans un premier temps, puis un rendus A2, en 300 dpi pour l’impression chez Clémence, dans le but d’imiter des tirages photos de paysages. Ensuite, je décide d’imprimer une partie de ce paysage en 3D. Je sélectionne l’entrée du labyrinthe, un endroit caractéristique où tous les tracés se superposent. Mais Blender est un logiciel dit “ surfacique”, il ne gère que les surfaces (mesh), il produit des coques vides mais pas d’objets pleins. Mon paysage n’est donc à ce stade qu’une sorte de feuille froissée, et n’est pas imprimable. Je dois donc passer par un autre logiciel, Fusion 360 de la suite Autodesk, afin de convertir mon mesh en solide, et pouvoir l’exporter vers mon slicer. Je prépare mes impressions dans Cura, afin de ne pas obtenir un temps d’impression énorme, j’imprime à petite échelle, mon échantillon doit faire environ 10cm de diamètre. Pour optimiser le temps d’impression, je fixe le remplissage à 10%, l’épaisseur de couche à 0.28 (avec buse 0.4), et la vitesse à 65 mm/s. L’objet est slicé (tranché), et le fichier Gcode est prêt à être envoyé à l’imprimante qui mettra tout de même plus de 5h.

L’impression 3D permet de véritablement matérialiser ce nouveau paysage, une couche de code vient s’ajouter, rendue visible par la superposition des couches de plastique qui rappelle les millions d’années de sédimentations des canyons. L’impression 3D est un processus additif, qui rejoint idée de départ de la modélisation de l’objet : une addition de tracés ( mouvements) superposés pour former un relief.

Pour pousser encore ce changement d’échelle, d’autres étudiants m’ont conseillé pour mon bilan de partir directement sur un labyrinthe à l’échelle du corps, dans l’espace. J’ai donc profité que j’avais un public pour créer cette installation au sol permettant de chorégraphier mon passage. Pour générer ce labyrinthe, je me suis basée sur un programme Processing que j’ai adapté au dernier moment aux carreaux du sol et à la disposition de mon accrochage. Dans un monde idéal où j’aurais eu cette idée à l’avance, j’aurais enregistré les déplacements des visiteurs, qui se prennent au jeu de la déambulation, et j’aurais réellement créé un programme modélisant les éléments de mon accrochage…

Après mon bilan, et ce long temps consacré aux outils numériques, il est temps de repartir à la case 2, la main, le geste. À partir de mes rendus imprimés, je dessine en utilisant différents outils. Comme face à n’importe quel paysage, je choisis les endroits qui m’intéressent le plus, et les transcrit sur le papier à ma manière. Mais les rendus 3D sont des images fixées et déjà aplanies, j’opte donc pour le dessin à partir des formes imprimées, que je peux regarder en direct, sous tous les angles et toutes les lumières. J’essaie, par le dessin, de m’imaginer au centre de ce paysage : qu’est-ce que je vois, quelles sont mes sensations ? 

En parallèle, je reviens à la notion de cartographie. Je suis partie d’une carte, un labyrinthe à plat, dans lequel se sont déplacés des outils grâce au geste. J’ai extrudé ces tracés, et créé des différences de niveaux, il faut créer une nouvelle carte à ce paysage. J’ai donc réalisé des rendus en vue du dessus. Pour dessiner ces cartes, j’ai choisi d’utiliser mon imprimante 3D. Le langage compris par les machines comme les plotters, les imprimantes 3D, ou encore les CNC s’appelle le Gcode, un langage reposant quasiment exclusivement sur des coordonnées. Mon but est donc de faire dessiner à une machine une cartographie grâce à des coordonnées, des coordonnées géographiques dont la surface de référence est le plateau de l’imprimante. Encore faut-il arriver à produire un Gcode grâce à mes images, et modifier mon imprimante pour qu’elle n’imprime plus du plastique, mais qu’elle dessine ! 

J’ai assez facilement trouvé un script pour illustrator, permettant de générer un Gcode directement dans ce logiciel. Assez simple d’utilisation, je l’ai cependant trouvé très limité et peu fiable. Je me plonge alors un peu plus profondément dans le labyrinthe du Web pour trouver une solution convenable. Encore une fois, je me tourne vers l’Open source et re-téléchage Inkscape ( logiciel gratuit, puissant, mais imbuvable m’ayant laissé un mauvais souvenir). Dans Inkscape, je teste plusieurs nouveaux scripts chinés sur Github. Je trouve celui qui convient le mieux permettant d’indiquer directement les dimensions du plateau et le décalage entre la buse et la pointe du crayon ( un casse tête que je devais résoudre moi même en utilisant illustrator). Mais avant de générer le Gcode, il faut vectoriser les tracés, dans Inkscape la procédure (bizarre) est la suivante : Path > Trace Bitmap, puis Path > Object to path.  

 D’un autre côté, n’ayant pas de plotter sous la main, je dois transformer mon imprimante 3D. Pour lui permettre de tenir un crayon, je trouve une pièce à imprimer sur disponible en Open source sur le site de partage Thingiverse. J’imprime les pièces, puis les ajoute à mon imprimante qui est désormais prête à accueillir un outil de dessin. Pour faire échos aux dessins que je réalise en parallèle, j’ai choisi d’installer un feutre pinceau à l’encre de chine. L’utilisation de ce type d’outils présente plusieurs avantages : la pointe ne s’abîme pas trop rapidement à cause de la pression exercée par la machine et le pinceau permet de donner au trait un aspect très fluide qui se rapproche du geste humain.