L’effet Droste

Piste rouge 28 mars 2016  - Ecrit par  Jos Leys Voir les commentaires (8)

La relation entre M.C. Escher, le chocolat, et les nombres complexes.
(Rediffusion d’un article publié le 24 août 2009).

All M.C. Escher Works © 2009 The M.C. Escher Company,the Netherlands. All rights reserved. Used by permission

En 1956, Maurits Cornelis Escher compléta un dessin qu’il appelait Prentententoonstelling , « Galerie d’images ». Le dessin montre un jeune homme qui regarde une image déformée d’une manière qui semble ne pas avoir de sens. Au milieu de l’image, on voit une tache blanche énigmatique.

En 2003, une équipe de mathématiciens de l’université de Leiden, sous la direction du Professeur Hendrik Lenstra a réussi à déchiffrer la structure mathématique de l’image. Une fois cette structure connue, ils ont pu « compléter » l’image en remplissant la tache blanche, à l’aide d’un algorithme numérique.

Ils ont publié un article là-dessus qui a été particulièrement bien accueilli aussi bien dans des cercles universitaires que dans la presse générale [1]. À la surprise générale, l’équipe de Lenstra a montré que la structure de l’image est la même que la structure d’une image à effet Droste . L’ effet Droste tire son nom d’un paquet de cacao de la compagnie du chocolatier Droste aux Pays-Bas qui montre une infirmière portant un plateau sur lequel il y a un paquet de cacao. L’image sur ce paquet de cacao est encore une infirmière portant un plateau sur lequel il y a un paquet de cacao... ( ad infinitum ) [2]

Comment construire une copie d’une image quelque part dans l’image et comment répéter cela à l’infini ? La méthode de Lenstra pour la transformation d’images est en trois étapes que nous allons expliquer [3] :

Étape 1 : Le logarithme.

Considérer le logarithme d’un nombre complexe est une chose un peu compliquée. Un nombre complexe $z$ s’écrit souvent sous la forme $z=re^{i\theta}$ où $r\geq 0$ désigne le module, et $\theta$ l’argument. On définit alors naturellement $\ln (z)$ comme $\ln r + i \theta$ mais cela pose deux problèmes. Le premier, comme d’habitude, est qu’il faut supposer que $z$ n’est pas nul, c’est-à-dire que $r>0$. Le second est que $\theta$ n’est pas unique : $re^{i\theta}=re^{i(\theta+2\pi n)}$ pour chaque entier $n$, si bien qu’il faut choisir un $\theta$. La tradition est de choisir celui pour lequel $0 \leq \theta < 2 \pi$, mais ce n’est qu’une convention ; on pourrait en prendre une autre.

Comme $0\leq\theta < 2\pi$, la transformation $z\mapsto\ln(z)$ transforme le plan complexe (privé de l’origine) en un ruban de hauteur $2\pi$ au-dessus de l’axe réel.

Prendre d’autres conventions pour le logarithme reviendrait à ajouter $2 n i \pi$ si bien que l’image du logarithme recouvrirait alors une autre bande, translatée de la première.
On obtient donc une infinité d’images du plan, suivant les conventions choisies : ceci sera important pour la suite.

Regardons comment cette transformation agit sur deux cercles concentriques (centrés à l’origine), de rayons $r_1$ et $r_2$.

La figure illustre la transformation $z\mapsto\ln(\frac{z}{r_1})$. Le cercle intérieur devient un segment vertical passant par l’origine et
le cercle extérieur devient un autre segment vertical à distance $\ln({r_2}/{r_1})$ du premier. C’est comme si nous avions coupé la figure le long du segment $A-A'$ et déplié le tout en un rectangle.

Étape 2 : rotation et dilatation.

On tourne maintenant le rectangle dans la figure de droite jusqu’à ce que sa diagonale coïncide avec l’axe imaginaire, et on rétrécit le rectangle, par une homothétie, pour que la longueur de sa diagonale soit $2\pi$.

Dans la prochaine étape, on va effectuer la transformation inverse du logarithme.

Étape 3 : exponentielle.

On obtient l’image ci-dessous en appliquant la transformation $z\mapsto e^z$ sur le rectangle penché. Tous les côtés du rectangle sont transformés en spirales. À noter que les sommets du rectangle sur la diagonale verticale (qui se trouvent à $0$ et $2i\pi$) sont tous les deux transformés au point $1$.

On peut calculer explicitement les transformations effectuées. Elles ne dépendent que du quotient $\frac{r_2}{r_1}$.
Lors de l’étape 2, le rectangle s’est vu appliquer la transformation $z\mapsto zfe^{i\alpha}$ avec $\alpha=\arctan(\frac{\ln(\frac{r_2}{r_1})}{2\pi})$ et $f=\cos(\alpha)$.

La composition des trois étapes donne la transformation $z\mapsto (\frac{z}{r_1})^\beta,$ avec $\beta=fe^{i\alpha}$.

On reprend maintenant l’étape 2. On construit un pavage du plan avec le rectangle qu’on avait tourné d’un angle $\alpha$ et on applique alors la transformation de l’étape 3.

Le rectangle $E$ dans la figure de gauche est le rectangle de base et celui-ci est transformé en le domaine $E$ de la figure de droite. Le rectangle $F$ à son tour est transformé en le domaine $F$ à droite. On obtient ainsi un nombre infini de copies de l’image originale, l’anneau entre deux cercles, qui pavent le plan (toujours privé de l’origine). Tous ces pavés sont semblables : on peut passer de $E$ à $F$ sur l’image de droite par une similitude, composition d’une dilatation (d’un facteur $|(\frac{r_2}{r_1})^{\beta}|$) et d’une rotation (d’un angle égal à l’argument de $(\frac{r_2}{r_1})^{\beta}$).

Dans l’étape 2, nous avons dilaté la diagonale du rectangle puis effectué une rotation de telle sorte que la diagonale devienne verticale. Le but était que les deux extrémités de la diagonale aient la même image par l’exponentielle (puisqu’elles diffèrent de $2 i \pi$). Mais on peut tout aussi bien faire tourner le rectangle du même angle dans l’autre sens et ce sont les extrémités de l’autre diagonale qui auront la même image par l’exponentielle : la spirale image tournera alors dans l’autre sens.

On peut aussi choisir de ne pas tourner du tout ! Ce sont maintenant les deux extrémités des côtés verticaux qui ont la même image par l’exponentielle.
Enfin, on peut également effectuer une symétrie par rapport à l’origine.
On voit toutes les configurations possibles sur la figure ci-dessous.

Lorsqu’on ne fait pas tourner le rectangle ou qu’on le fait tourner d’un demi-tour, la transformation va produire un nombre infini de copies concentriques de l’image originale. Dans les autres cas, il y aura une dilatation $f$ et une rotation d’angle $\alpha$, $-\alpha$, $\pi-\alpha$ ou $\pi+\alpha$, et l’image finale va produire des copies connectées en spirales.

Récapitulons, pour transformer une image entre deux cercles concentriques :

  • on choisit $r_1$ et $r_2$ (une adaptation simple est nécessaire si les cercles ne sont pas centrés sur l’origine) ;
  • on calcule $\alpha$, $f$ et $\beta$ ;
  • on effectue le pavage avec les rectangles et on calcule $e^{\beta\ln(\frac{z}{r_1})}$ pour tous les pixels.

Voici quelques exemples : images originales à gauche, images transformées à droite [4].

L’algorithme peut être adapté pour des cercles non concentriques ou même pour n’importe quelle forme. Prenons d’abord des carrés concentriques.

Le domaine entre les deux carrés dans l’image ci-dessous est transformé en le domaine foncé de la deuxième image par la transformation logarithme. Après exponentiation, on obtient la troisième image. Si on effectue d’abord une rotation du pavage, on obtient l’image de droite.

On peut faire des zooms illimités sur ces images. On connaît le rapport entre la taille du grand contour et celle du petit, et ceci permet de calculer la valeur de $\beta$. On peut alors calculer la dilatation et la rotation nécessaires pour obtenir une image identique. Il suffit donc de produire un petit nombre de frames [5] entre deux images identiques pour obtenir un film « zoom » qu’on peut alors regarder en boucle. Voici un exemple :

Les images ci-dessous montrent la situation avec deux carrés non concentriques.

Quelques calculs

On a maintenant besoin du point fixe de la similitude qui transforme le grand carré en le petit. Appelons $C_L$ le centre du grand carré, $C_S$ le centre du petit carré, $\theta$ l’angle entre les deux carrés et $m$ la proportion de leur tailles. Le point fixe est alors donné par :
\[C_F=C_L+\frac{(C_S-C_L)}{(1-me^{i\theta})}.\]
La transformation logarithme prend alors la forme $z\mapsto \ln(\frac{z-C_F}{a})$, où $a$ est la distance la plus courte entre $C_F$ et un coté du petit carré.

La transformation complète devient $z\mapsto (\frac{z-C_F}{a})^\beta$, $\beta=fe^{i\alpha}$, $f=\frac{2\pi}{(2\pi-\theta)}\cos(\alpha)$, et $\alpha=\arctan(\frac{\ln(m)}{(2\pi-\theta)})$. On emploie le même principe pour les rectangles au lieu des carrés.

Voici un exemple de la transformation avec des rectangles non concentriques. D’abord l’image originale :

...et puis le film zoom :

On peut donc employer la transformation pour des cercles, des carrés ou des rectangles, mais il est possible aussi de l’employer pour n’importe quelle forme. Dans ce cas, il faut d’abord rendre transparente la forme qu’on veut employer dans l’image. Rendre transparente une portion d’une image numérique veut dire que la valeur des octets alpha blending correspondants est zéro (il faut définir la région transparente à la main à l’aide d’un logiciel graphique comme Photoshop). Avec une image qui a un « trou » transparent, il n’est pas trop difficile d’écrire un algorithme qui détecte le bord du trou.

Ceci est illustré par les images ci-dessous. À gauche, l’image originale [6]. Au milieu, une image avec section transparente, ce qui crée une région similaire (en rouge) dans l’image de droite (on peut ajouter une rotation si on le souhaite).

Selon la rotation choisie à l’étape 2 de la transformation, on obtient alors ces images :

Voici trois autres exemples d’images réalisées avec la methode du « trou transparent » [7] :


Retournons à l’image d’Escher.
L’équipe de Lenstra a montré que c’est en effet une image à effet Droste, et ils ont pu mesurer les caractéristiques : il y a une proportion $m=256$. L’angle de rotation à l’étape 2 est donc $\alpha=\arctan({\ln(m)}/{2\pi})=41.429..…$ degrés et le facteur $f=\cos(\alpha)=0.749767…$. Avec $\beta=fe^{i\alpha}$, on obtient $|m^\beta|=22.5836…$ et l’argument de $m^\beta$ est $157.62559…$ degrés.

Ceci a donc permis de reconstruire la fameuse tache blanche. Si on fait un zoom de facteur 22.5836 et si on tourne l’image de -157.62559 degrés, on obtient une image identique. Avec cette information et l’aide d’un artiste qui a reconstruit l’image originale non déformée, le secret de la tache blanche a donc été révélé comme étant une copie de l’image originale, environ 23 fois plus petite... On peut regarder le résultat ici.

Il est presque incroyable que M.C. Escher, qui n’était pas mathématicien, ait pu dessiner sa « Galerie d’Images » par simple intuition. Une intuition géniale, il faut bien le reconnaître !

Notes

[1Regardez aussi leur site.

[2Autre nom : l’effet « Vache-qui-rit » et aussi « Mise en abyme ».

[3Cet article est une version légèrement adaptée de mon article original en anglais, publié dans Computers and Graphics, Volume 31, Issue 3, June 2007.

[4Pour d’autres exemples, regardez cette page.

[5Images individuelles d’un film, normalement 25 par seconde.

[6Nous remercions Étienne Ghys d’avoir bien voulu poser !

[7Toutes les images de cet article ont été réalisées à l’aide du logiciel Ultrafractal.

Partager cet article

Pour citer cet article :

Jos Leys — «L’effet Droste» — Images des Mathématiques, CNRS, 2016

Commentaire sur l'article

  • L’effet Droste

    le 24 août 2009 à 18:27, par Rémi Peyre

    Fascinant et Magnifique. Mais, comme vous le faites remarquer à la fin de cet article, il semble compliqué de réaliser exactement cette figure sans appel aux nombres complexes… Escher a-t-il réellement suivi la méthode décrite dans votre article, ou la méthode donne-t-elle une façon mathématique de faire ce qu’Escher a fait intuitivement ?

    Autre question : on aimerait bien voir plus précisément à quoi ressemblait l’image non déformée.

    Répondre à ce message
  • L’effet Droste

    le 24 août 2009 à 19:18, par Jos Leys

    C’est une question pour les connaisseurs de la vie et les oeuvres d’Escher. De ce que j’ai lu sur lui, il n’a jamais eu une éducation mathématique avancée. C’était plutôt une éducation graphique. Il existent des esquisses qu’il a fait avant de se lancer sur ce dessin, et les nombres complexes n’y jouent pas de rôle.(http://escherdroste.math.leidenuniv.nl/index.php?menu=escher⊂=lattice)

    L’image non déformée c’est ceci : http://escherdroste.math.leidenuniv.nl/index.php?menu=im⊂=escher&show=0x1

    Répondre à ce message
  • L’effet Dubonnet

    le 10 septembre 2009 à 19:02, par Pierre Lescanne

    Il n’y a pas que les publicités Droste et Vache-qui-rit qui aient utilisé la mise en abime, il y a aussi l’étiquette de la bouteille de Dubonnet de ma jeunesse.

    Pierre

    Répondre à ce message
    • L’effet Dubonnet

      le 12 septembre 2009 à 21:51, par Jos Leys

      ..et il y en a d’autres. Quelques exemples sur mon site...

      Répondre à ce message
  • L’effet Droste

    le 26 avril 2012 à 17:52, par Nils Berglund

    Sans oublier la pochette de l’album Ummagumma des Pink Floyd, qui emploie en quelque sorte un effet Droste de période quatre :-)

    Répondre à ce message
  • De meuh en meuh...

    le 4 avril à 23:18, par olivierb

    Après implémentation de l’algorithme (dans le cas de deux cercles non concentriques), voici un essai de mise en abyme « à la Escher » de la vache qui rit :
    * vache avant
    * vache après

    Note : en plus de compléter les détails manquants, il m’a fallut revoir :
    * la formule pour obtenir $C_F$, qui requiert $1/m$ et non $m$ ; et
    * la transformation complète, qui requiert de rajouter $C_F$ à la fin pour recentrer (transformation qu’il faut effectuer à l’envers dans l’algorithme pour chercher l’antécédent de chaque pixel).

    Répondre à ce message
  • de meuh en meuh... [programme en ligne]

    le 6 avril à 16:24, par olivierB

    Pour ceux qui voudraient jouer un peu sans installer un logiciel sur leur ordinateur :
    http://www.loria.fr/ buffet/Javascript/Escher-Abyme/

    Répondre à ce message
    • de meuh en meuh... [programme en ligne]

      le 26 septembre à 12:04, par olivierB

      Désolé. L’URL a changé pour : http://homepages.loria.fr/obuffet/Javascript/Escher-Abyme/

      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