Jean-Pascal M.

La meilleure façon de ne pas avancer est de suivre une idée fixe (J. Prévert)

Posts Tagged ‘grasshopper’

Processing et le Generative Design

Posted by Jean-Pascal sur 17 mai 2016

Connaissez-vous le Design Génératif ? Je propose d’aborder ce sujet régulièrement sur ce blog, à travers les (petites) incursions que je pourrais faire dans ce domaine fabuleux. Commençons par une sélection d’images du web :

L’envie est venue d’un livre magnifique, croisé par hasard (par hasard, vraiment ?) dans la bibliothèque du centre George Pompidou.

Ce beau livre, Generative Design: Visualize, Program, and Create With Processing, bien qu’un peu coûteux, vaut l’investissement. La première de couverture illustre le principe qu’il défend : il est possible de créer des œuvres, généralement numériques, généralement visuelles, à partir d’une logique exprimée principalement sous la forme d’un code informatique. Ainsi, la couverture représente le sommaire de l’ouvrage, et le visuel est calculé directement depuis l’analyse du texte !

Le sommaire est consultable sur Amazon.

Je n’aurai pas acheté ce livre si je n’avais eu à l’esprit de me remettre à la programmation, avec un langage plaisant, simple, immédiatement rémunérateur des efforts qu’on y place. Ayant développé en Java, SmallTalk, C#, Delphi… et même en assembleur, je m’étais arrêté au Flex il y a 5 ans de cela. Le Flex (Flash en action script 3) m’avait apporté de nombreuses satisfactions du fait de son incroyable portabilité (les temps ont changé) et de sa capacité à produire du beau et de l’interactif. Je cherchais donc un langage encore plus simple, et surtout avec une courbe d’apprentissage la plus favorable possible : je n’avais pas de temps à consacrer à l’installation d’un environnement de développement complexe aux librairies infinies. J’ai constaté qu’il fallait parfois compter plusieurs jours pour installer un environnement complet de développement à un développeur rejoignant une équipe !

Bref, le livre Generative Design s’appuie sur le langage Processing (https://processing.org/), permettant à partir de codes courts (des sketchs) de générer des images bluffantes. Il est possible de faire bien plus avec Processing : de la 3D pour la réalité virtuelle, pour l’impression 3D, du traitement vidéo en temps réel, des installations interactives… J’en donnerai des exemples dans de futurs articles. Vous trouverez sur le site d’Olivier Evrard plusieurs exemples de réalisations physiques de cette logique générative.

Evidemment, la notion de design génératif n’est pas nouvelle et date d’avant l’informatique, bien entendu. Je vous recommande à ce propos cette introduction au concept de base et la présentation d’artistes majeurs du 20ème siècle ayant mis en pratique cette démarche, avec les mains 😉 : http://arts-numeriques.codedrops.net/Le-design-generatif

Avant de conclure, je voudrais préciser que j’ai recherché d’autres outils permettant cette approche « Generative Design ». Je présenterai par la suite Blender, Sverchok et Rhino/Grasshopper.

Voici pour conclure cette introduction avec un site de référence pour le partage de codes :

www.openprocessing.org

Le code processing peut être exécuté dans un navigateur en activant l’extension java, ou en javascript s’il s’appuie sur la librairie P5.js. Voici un exemple java :

http://openprocessing.org/sketch/11232

Pour le code Javascript, j’adore le travail de Daniel Schiffman dont le livre « Nature of Code » est entièrement accessible en ligne :

http://natureofcode.com/book/chapter-9-the-evolution-of-code/

On peut voir sur ce chapitre du code Processing s’exécuter et démontrer que les algorithmes génétiques fonctionnent réellement (cf l’exemple Improvement #1: Obstacles) !

Pour la suite, je vous montrerai mes réalisations. A bientôt !

 

Publicités

Posted in Design, Design Génératif | Tagué: , , , , | 1 Comment »