L’art de Francesco Mai

Piste verte Le 27 mai 2009  - Ecrit par  Jos Leys Voir les commentaires (1)

En se promenant parmi les milliers de sites internet affichant des images de synthèse, il est rare de trouver des œuvres vraiment originales. Les ordinateurs de plus en plus puissants et des logiciels spécialisés moins chers amènent beaucoup d’enthousiastes à publier leurs efforts au grand public. En réalité, il faut des années d’expérience et évidemment un talent spécial pour être capable de produire des créations extraordinaires.

C’est le cas de Francesco Mai, un artiste italien qui a abandonné ses études de biologie afin de se consacrer complètement à ses deux passions : la photographie et les images de synthèse.

Les créatures de Mai ressemblent à des formes organiques, vaguement familières mais jamais vues. Ses travaux ont été comparés à ceux du surréaliste suisse H.R Giger, connu pour ses monstres dans les films Alien. Mai trouve son inspiration dans la nature, que ce soient des crustacés dans la mer, des plantes ou des images microscopiques.

On peut montrer ici quelques exemples d’œuvres de Mai, mais son site en contient beaucoup plus. Il y a aussi une belle collection d’images téléchargeables, idéales notamment si on cherche un fond d’écran original pour son ordinateur.

Les outils de l’artiste Mai, ce sont des logiciels graphiques. Ces logiciels débordent de mathématiques, mais inutile d’être mathématicien pour les utiliser. L’essentiel se passe dans les coulisses, presque sans qu’on s’en rende compte. Regardons quelques aspects de ces images de synthèse pour découvrir un peu des mathématiques qui font tourner le moteur de ces logiciels.

Prenons comme exemple cette image :

C’est clairement une surface, mais existe-t-il une formule ou une façon de la paramétrer simplement pour la dessiner ? Elle ressemble vaguement à une fractale quaternion, mais ce n’est pas le cas.
En réalité, ce sont des sphères et des tores horriblement déformés. Pour créer un nouvel objet, Mai commence avec des formes simples qui sont représentées par des modèles « fil-de-fer » : un maillage qui consiste normalement d’une collection de triangles. Puis commence son travail de sculpteur virtuel : il peut étirer, couper, joindre, gonfler, aplatir les formes n’utilisant que son curseur et des clics convenables.

Pour retenir une forme lisse, le logiciel va faire des calculs à base des B-splines (une généralisation des courbes de Bézier), ou plutôt des NURBS, qui permettent de représenter facilement des objets géométriques compliqués...

Quand un objet est étiré dans une certaine direction, il faut ajouter des triangles dans le maillage, et cela est accompli par la méthode de subdivision des surfaces de Catmull-Clark (figure à gauche). Pour des images de très haute résolution, il faut évidemment énormément de triangles dans le maillage. Mai produit des images de 14 000*11 000 pixels, ce qui suffit pour des œuvres imprimées de 1,6 mètres par 1,2. À la fin, ce sont des millions de triangles que ses fichiers contiennent afin que les détails les plus fins soient lisses.

Un des logiciels favoris de Mai pour faire tout ce travail est Lightwave 3D, qui est utilisé aussi par les professionnels du cinéma pour certains effets spéciaux dans des films comme, par exemple, Harry Potter. Plus récemment il s’est tourné vers le logiciel modo, un « super Lightwave ». Regardez ce petit film pour une petite démonstration de modo. [1]

Quand on est parvenu à définir la forme d’un objet, il faut de la lumière virtuelle pour y voir quelque chose. Prenons cette image :

On voit des faisceaux de lumière qui passent à travers l’objet. Il y a clairement une source de lumière quelque part à gauche en haut, mais l’éclairage est plus subtil que ça.

Les logiciels graphiques contiennent des modèles mathématiques qui modélisent le comportement de la lumière très précisément, le point le plus important étant comment la lumière interagit avec les objets, y compris avec des objets ténus comme une brume virtuelle. Les objets ont des ombres bien sûr, mais les objets peuvent aussi être transparents avec un certain indice de réfraction, et ils peuvent être réfléchissants, brillants ou mats, ou même provoquer l’effet Fresnel. (les surfaces deviennent plus réflectives lorsqu’on les regarde sous un plus petit angle)

Les propriétés des surfaces des multiples objets peuvent entrer dans un modèle de radiosité pour déterminer l’éclairage (et donc la couleur exacte de chaque pixel). Ce modèle utilise les formules physiques de transfert radiatif de la lumière entre les différentes surfaces élémentaires composant la scène, et donc non seulement l’effet du rayon de lumière qui vient directement de la source. Combiné avec le photon mapping, une technique qui permet par exemple de montrer les caustiques (de la lumière concentrée sur une surface après que le chemin original des rayons lumineux a été altéré par une surface intermédiaire transparente), on obtient des images vraiment très réalistes.

La nombre de paramètres à choisir et à régler fait de l’éclairage des scènes un art en soi.

Un modèle d’éclairage simple.

Prenons un exemple très simple : une sphère illuminée par une source de lumière $S$ (un point).

Dans un logiciel graphique, il y a le point de vue (« la caméra »), le vecteur qui décrit la direction de la vue, et le plan de projection qui est perpendiculaire sur ce vecteur.

Le logiciel va tirer des rayons vers chaque pixel du plan de projection, et doit donc déterminer si les rayons coupent la sphère ou pas. Si oui, il doit déterminer les coordonnées des points d’intersection, et puis décider quelle couleur donner à ces pixels.

Supposons que notre sphère est jaune. Il nous faut alors une palette de couleurs qui passe de noir par des gradations de jaune jusqu’à presque blanc. Pour cette palette, mettons noir à zéro et blanc à $1$.

Soit $P$ un point d’intersection d’un rayon provenant de la caméra, et la sphère.
Le logiciel va d’abord calculer le vecteur normale $\vec N$ sur la sphère à $P$, et le vecteur $\vec L$ de $P$ vers $S$.

L’intensité d’éclairage à $P$ est alors déterminée par le produit scalaire
\[c=\vec L \cdot \vec N\].

Si les deux vecteurs ont une longueur unité, ceci n’est rien d’autre que le cosinus de l’angle entre les vecteurs $\vec L$ et $\vec N$. En ignorant les valeurs négatives, la couleur du pixel à $P$ sera donc la couleur de la palette qui correspond à $c$. Ceci nous donne une sphère toute noire aux endroits où un point sur la surface ne « voit » pas la source de lumière, comme ceci :

Si on ajoute une constante à la formule , on verra de la couleur sur le coté à l’ombre aussi :

En pratique ce modèle est trop simple, surtout pour des surfaces brillantes. L’ombrage Phong donne déjà un meilleur résultat .

Voici encore une image de Mai. Un nœud cette fois. La forme élégante est sculptée comme on l’a déjà vu, mais regardons de plus près la surface du nœud.

Le nœud semble être en verre, mais sa surface contient des taches qui ressemblent à de la rouille ! Ces taches sont générées par un algorithme de texture procédurale. La plupart de ces algorithmes sont dérivés du bruit de Perlin. Ils permettent de dessiner des surfaces couvertes de textures aléatoires très réalistes. Le verre rouillé ne paraisse pas très réaliste, mais les logiciels graphiques permettent une créativité illimitée !

Une texture procédurale simple.

On prend un carré $ABCD$ qu’on va remplir par une texture.

On choisit un valeur entre $0$ et $1$ pour les quatre coins $A$, $B$, $C$ et $D$. Pour les points $P$ sur les cotés, on prend le moyen des valeurs des coins, donc $P1=(A+B)/2$, $P2=(B+C)/2$, etc..

Pour le point $M$ on prend le moyen des quatre points $P$ et on ajoute une perturbation $p$, un valeur aléatoire entre $-1/2$ et $+1/2$ :
\[M=(P1+P2+P3+P4)/4 + p\]
Si le valeur de $M$ est négatif on met $M=0$ et s’il est plus grand que $1$, on met $M=1$.

On a maintenant quatre nouveaux carrés et on fait la même chose dans chaque carré, ce qui donne 16 nouveaux carrés, et ainsi de suite. A chaque itération, on divise par deux le facteur de perturbation qui devient donc de moins en moins important. On s’arrête quand les cotés des petits carrés ont la taille d’un pixel. On aura donc un valeur entre $0$ et $1$ pour chaque pixel qu’on fait correspondre avec une palette de couleurs, ce qui donne par exemple cette image :

Si on fait correspondre à chaque valeur des pixels une hauteur, on peut aussi dessiner des paysages aléatoires de synthèse :

Il y a évidemment de multiples variations sur cet algorithme

Une autre façon de dessiner les surfaces, c’est d’y mettre du « papier peint » virtuel. Si par exemple dans des films comme Jurassic park, on montre des dinosaures, ce sont évidemment des modèles construits en images de synthèse, et il faut que les animaux aient une peau qui fasse réelle. On va dessiner la texture de la peau comme une image et il ne reste plus qu’à coller cette image sur le tyrannosaurus rex. Dans le petit film mentionné plus haut, on peut voir comment on colle une image sur le pantalon du petit bonhomme.

C’est tout simplement une transformation géométrique de chaque point de la surface vers une image. Comme la surface est un modèle fil-de-fer, il faut déformer chaque point du modèle pour que les points se retrouvent dans un plan. C’est ici un domaine de recherche mathématique très fertile. Comment effectuer la transformation d’une manière conforme, donc en préservant les angles, mais avec une distorsion minimale des aires ?

On peut consulter par exemple le site de Xianfeng Gu de l’université Stony Brook pour des articles récents qui décrivent l’emploi du flot de Ricci pour effectuer la transformation. C’est un outil mathématique qui a servi à la preuve de la conjecture de Poincaré [2] et avec cette technique on peut transformer une surface en une autre qui a une courbure constante. Si cette courbure est zéro, on aura une application de la surface originale vers une figure dans un plan.

Il faut bien dire que Mai n’utilise guère cette façon de couvrir ses surfaces car il aime mieux être créatif avec les textures procédurales.

Voilà donc très brièvement comment les mathématiques incorporées dans les logiciels graphiques peuvent engendrer des images fantastiques, pourvu qu’il y ait un artiste au volant comme Francesco Mai.

Il a pu exposer ses œuvres dans des galeries non seulement en Italie, mais aussi aux États-Unis, en Australie et même en Chine. Si vous êtes intéressé, ses œuvres se vendent à partir de 3 000 €.

Notes

[1« Lightwave 3D » et « mojo » sont des logiciels propriétaires assez chers (et lourds !). Pour les premiers pas en images de synthèse on peut essayer Povray, ou Blender, qui sont des logiciels gratuits.

[2Voir également La preuve de la conjecture de Poincaré d’après G. Perelman (Attention, piste noire)

Partager cet article

Pour citer cet article :

Jos Leys — «L’art de Francesco Mai» — Images des Mathématiques, CNRS, 2009

Commentaire sur l'article

  • L’art de Francesco Mai

    le 28 mai 2009 à 00:31, par Cédric Couliou

    Tout simplement magnifique ! Je ne connaissais à ce jour qu’un seul artiste capable de rendre organique une création à base mathématique : Aphex Twin pour sa musique.

    Je m’amuse depuis une dizaine d’années à dessiner des fractales et il est vrai que sans la touche d’un artiste, il n’y a pas grand chose d’original qui se passe.

    Merci Jos d’avoir découvert pour nous cet incroyable talent :D

    Répondre à ce message

Laisser un commentaire

Forum sur abonnement

Pour participer à ce forum, vous devez vous enregistrer au préalable. Merci d’indiquer ci-dessous l’identifiant personnel qui vous a été fourni. Si vous n’êtes pas enregistré, vous devez vous inscrire.

Connexions’inscriremot de passe oublié ?

Suivre IDM