Pseudo-projections de surfaces

Piste noire Le 24 juin 2010  - Ecrit par  Jean-François Colonna Voir les commentaires

De nombreuses surfaces de l’espace tridimensionnel peuvent être définies à l’aide de trois matrices et donc à l’aide de trois images monochromes (c’est-à-dire une image en couleurs) et ainsi les outils de traitement d’images peuvent leur être appliqués. Une dynamique arbitraire pour une telle surface pourra alors être définie par une animation. Ceci peut être généralisé à des dimensions supérieures et utilisé pour définir des procédures d’auto-transformation d’images.

Images

Une image en noir et blanc (dite monochrome) est définie comme un tableau rectangulaire (ou matrice) de points (ou pixels). Chaque point y est codé par une valeur numérique dont les plus petite et plus grande valeurs possibles représentent le noir et le blanc respectivement. En général il s’agit de nombres entiers compris entre 0 et 255, mais des nombres réels (par exemple entre -1 et +1) peuvent être aussi utilisés afin d’améliorer la précision. Nos rétines contiennent deux types de capteur : les bâtonnets (sensibles à l’intensité lumineuse) et trois types de cônes (sensibles respectivement aux trois couleurs primaires : le rouge, le vert et le bleu). Une image en couleurs sera donc définie, selon les principes de la synthèse dite additive, comme l’union de
trois images monochromes correspondant chacune à l’une des trois couleurs primaires.

Surfaces

De nombreuses surfaces dans un espace de dimension 3
peuvent être définies à l’aide d’un ensemble de trois équations :

\[ \left\{\begin{array}{c} X = F_x(u,v) \\ Y = F_y(u,v) \\ Z = F_z(u,v) \end{array}\right. \]

avec :

\[u \in [U_{min},U_{max}] \quad \text{et} \quad v \in [V_{min},V_{max}]\]

Exemple d’une sphère :

\[ \left\{\begin{array}{lcr} F_x(u,v) & = & R.\text{sin}(u)\text{cos}(v) \\ F_y(u,v) & = & R.\text{sin}(u).\text{sin}(v) \\ F_z(u,v) & = & R.\text{cos}(u) \end{array}\right. \]

avec :

\[u \in [0,\pi] \quad \text{et} \quad v \in [0,2\pi]\]

définit une sphère de rayon $R$ centrée à l’origine, les coordonnées $u$ et $v$ étant alors appelées respectivement latitude et longitude.

$[U_{min},U_{max}] \times [V_{min},V_{max}]$ définit un domaine rectangulaire $D$ de dimension 2 dans le plan $\{u,v\}$.

PNG - 12.1 ko

Si $D$ est échantillonné grâce à une grille rectangulaire bidimensionnelle (faite de $N_u \times N_v$ points),
les trois coordonnées $X,Y$ et $Z$ peuvent être définies à l’aide de trois matrices rectangulaires :

\[ \left\{\begin{array}{c} X = M_x(i,j) (= F_x(u,v))\\ Y = M_y(i,j) (= F_y(u,v))\\ Z = M_z(i,j) (= F_z(u,v)) \end{array}\right. \]

avec :

\[ i=f(u,U_{min},U_{max},N_u) \quad \text{et} \quad j=f(v,V_{min},V_{max},N_v)\]

où $f$ et $g$ désignent deux fonctions linéaires que le lecteur peut certainement deviner...

Il est alors possible de définir une surface à l’aide de trois matrices. Une image noir et blanc étant une matrice, une surface pourra être définie grâce à
trois images (arbitraires) noir et blanc ou encore
grâce à une image (arbitraire) en couleurs : en quelque sorte,
un principe holographique.

Cela permettra en particulier de faire avec les surfaces tout ce qu’il est possible de faire avec les images (filtrages, interpolations, opérations arithmétiques, déformations,...), ainsi que le montreront les exemples suivants.

On notera au passage qu’il est donc possible d’associer une surface à une image « naturelle » (par exemple saisie dans la nature à l’aide d’un appareil photographique) ; mais en général la surface ainsi obtenue est décevante et sans intérêt esthétique car trop compliquée (cela pourra se vérifier un peu plus loin grâce aux surfaces obtenues à l’aide de champs fractals). Les
meilleurs résultats seront donc obtenus à partir d’images simples et régulières.

Précisons cela grâce à l’exemple de la sphère. Voici les trois matrices $M_x$, $M_y$ et $M_z$ (l’échelle de gris utilisée visualisant des valeurs variant entre -1 et +1) :

$M_x(i,j) = $
JPEG - 7.5 ko

$ = F_x(u,v) = R.\text{sin}(u)\text{cos}(v)$

$M_y(i,j) = $
JPEG - 7.4 ko

$= F_y(u,v) = R.\text{sin}(u)\text{sin}(v)$

$M_z(i,j) = $
JPEG - 2.8 ko

$ = F_z(u,v) = R.\text{cos}(u)$

La superposition additive de ces trois images noir et blanc donne l’image couleur suivante :

JPEG - 113 ko

qui est donc la pseudo-projection de la sphère. Les
niveaux respectifs de rouge, de vert et de bleu au point $\{i,j\}$ donnent les coordonnées tridimensionnelles $\{F_x(u,v),F_y(u,v),F_z(u,v)\}$ d’un point de la
sphère. Evidemment les trois matrices « superposées » ne définissent que les coordonnées d’un nombre fini de points. Les coordonnées des autres points sont obtenues par des interpolations utilisant des points voisins et définis. La sphère est alors représentable par un nuage « dense » de points et pour visualiser un maillage en longitude-latitude, il suffit de ne pas visualiser tous les points :

JPEG - 204.7 ko

En ce qui concerne le coloriage de cette sphère, il est évidemment a priori arbitraire, mais dans quasiment tous les exemples présentés dans cet article, les trois composantes rouge, verte et bleue sont choisies proportionnelles aux gradients de $F_x$, $F_y$ et $F_z$ respectivement [1].

Voici quelques exemples :

  • un plan
JPEG - 89.8 ko
JPEG - 268.4 ko
  • un « plan pseudo-gaussien »
JPEG - 94.8 ko
JPEG - 206.8 ko
  • un « plan spiralant »
JPEG - 126.7 ko
JPEG - 258.4 ko
  • un « plan fractal » avec surplombs
JPEG - 128.5 ko
JPEG - 133.3 ko
  • une sphère « chiffonnée » (obtenue par perturbation de la pseudo-projection de la sphère)
JPEG - 126.6 ko
JPEG - 222.3 ko
  • un tore « chiffonné » (obtenu par perturbation de la pseudo-projection du tore)
JPEG - 111 ko
JPEG - 268.4 ko
  • un coquillage (surface de Jeener 1)
JPEG - 98.8 ko
JPEG - 181.4 ko
  • le ruban de Möbius
JPEG - 88.6 ko
JPEG - 188.8 ko
  • la bouteille de Klein
JPEG - 104 ko
JPEG - 281.2 ko
  • une bouteille de Klein « chiffonnée » (obtenue par perturbation de sa pseudo-projection)
JPEG - 113.3 ko
JPEG - 188.2 ko
  • la triple bouteille de Bonan-Jeener-Klein
JPEG - 104.1 ko
JPEG - 243.7 ko
  • la surface de Boy
JPEG - 108.8 ko
JPEG - 160.8 ko
  • une surface fractale (deux itérations)
JPEG - 109.3 ko
JPEG - 199.5 ko
  • une surface fractale (quatre itérations)
JPEG - 118.8 ko
JPEG - 223 ko
  • une surface fractale (cinq itérations)
JPEG - 125.7 ko
JPEG - 223.6 ko
  • une surface fractale (nombreuses itérations...)
JPEG - 152.9 ko
JPEG - 240.3 ko
  • l’addition d’une sphère et de la triple bouteille de Bonan-Jeener-Klein
JPEG - 107.1 ko
JPEG - 194.7 ko
  • un mélange « gaussien » d’une sphère et du ruban de Möbius
JPEG - 103.7 ko
JPEG - 163 ko
  • une interpolation de Fourier entre une sphère et la triple bouteille de Bonan-Jeener-Klein
JPEG - 102.5 ko
JPEG - 196.1 ko
  • une interpolation fractale entre une sphère et la triple bouteille de Bonan-Jeener-Klein
JPEG - 110.2 ko
JPEG - 245.7 ko

Animation de surfaces

Ainsi, une surface tridimensionnelle peut être définie grâce à une image en couleurs. Une dynamique arbitraire d’une surface pourra alors être définie par un ensemble d’images en couleurs, c’est-à-dire par une animation en couleurs.

Voici quelques exemples :

  • une interpolation entre deux familles de tores entrelacés
JPEG - 362.6 ko
JPEG - 398.7 ko
  • une surface fractale dynamique (quatre itérations)
JPEG - 247.9 ko
JPEG - 262.7 ko
  • un filtrage gaussien dynamique de la triple bouteille de Bonan-Jeener-Klein
JPEG - 179.7 ko
JPEG - 281.4 ko
  • une interpolation entre une « double sphère » et un tore
JPEG - 174.6 ko
JPEG - 216.4 ko
  • une interpolation entre un cylindre et un tore
JPEG - 169.5 ko
JPEG - 199.9 ko
  • une interpolation entre un coquillage (surface de Jeener 1) et une sphère
JPEG - 178.2 ko
JPEG - 242 ko
  • une interpolation entre le ruban de Möbius et une sphère
JPEG - 173.2 ko
JPEG - 276.5 ko
  • une interpolation entre la bouteille de Klein et une sphère
JPEG - 180.1 ko
JPEG - 207 ko
  • une interpolation entre le ruban de Möbius et la bouteille de Klein
JPEG - 169.1 ko
JPEG - 262.9 ko
  • une interpolation entre la triple bouteille de Bonan-Jeener-Klein et une sphère
JPEG - 181.1 ko
JPEG - 242.5 ko
  • l’évolution d’une sphère utilisant l’attracteur de Lorenz [2]
JPEG - 197.7 ko
JPEG - 133.5 ko
  • l’évolution de la bouteille de Klein utilisant l’attracteur de Lorenz
JPEG - 185.8 ko
JPEG - 110.1 ko

Variétés de dimension 3

Ceci peut être étendu à des variétés tridimensionnelles. Ainsi de nombreuses variétés de dimension 3 dans un espace de dimension 3
peuvent être définies à l’aide d’un ensemble de trois équations :

\[ \left\{\begin{array}{c} X = F_x(u,v,w) \\ Y = F_y(u,v,w) \\ Z = F_z(u,v,w) \end{array}\right. \]

avec :

\[u \in [U_{min},U_{max}], \quad v \in [V_{min},V_{max}] \quad \text{et} \quad w \in [W_{min},W_{max}]\]

où $[U_{min},U_{max}] \times [V_{min},V_{max}] \times [W_{min},W_{max}]$ définit alors un domaine rectangulaire $D$ de dimension 3. Si $D$ est échantillonné
grâce à une grille rectangulaire (faite de $N_u \times N_v \times N_w$ points), les trois coordonnées $X$, $Y$ et $Z$ peuvent être définies à l’aide d’un ensemble de $N_w$ triplets de matrices rectangulaires :

\[ \left\{\begin{array}{c} X = M_x(i,j,k) \\ Y = M_y(i,j,k) \\ Z = M_z(i,j,k) \end{array}\right. \]

avec :

\[ i=f(u,U_{min},U_{max},N_u), \quad j=g(v,V_{min},V_{max},N_v) \quad \text{et} \quad j=h(w,W_{min},W_{max},N_w)\]

où $f$, $g$ et $h$ désignent trois fonctions linéaires simples.

Il est alors possible de définir une variété de dimension 3 à l’aide
d’un ensemble de $N_w$ triplets de matrices. Rappelons qu’une animation est un ensemble de $N$ images en couleurs et qu’ainsi, une variété de dimension 3 peut être définie grâce à une animation (arbitraire) en couleurs...

Voici quelques exemples :

  • une variété « à la Möbius » tridimensionnelle
JPEG - 141.7 ko
JPEG - 258.5 ko
  • une variété tridimensionnelle de Jeener-Möbius
JPEG - 151 ko
JPEG - 228.4 ko
  • une variété fractale tridimensionnelle
JPEG - 160.2 ko
JPEG - 313.3 ko
  • une variété tridimensionnelle définie au moyen d’une interpolation entre la triple bouteille de Bonan-Jeener-Klein et une sphère
JPEG - 178.4 ko
JPEG - 184 ko

Auto-transformations d’images

Ainsi, n’importe quelle image en couleurs peut être utilisée pour définir une surface. De plus, cette image (vue comme une texture) peut être appliquée, tel un papier peint élastique, sur sa surface associée (en utilisant les coordonnées $u$ et $v$ comme les coordonnées cartésiennes de la texture). Il est alors préférable de symétriser cette texture afin d’éviter des discontinuités dans le cas des surfaces fermées. Par exemple, la sphère

JPEG - 204.7 ko

est définie par l’image suivante

JPEG - 113 ko

comme cela fut décrit précédemment. Après sa symétrisation, cela donne naissance à la texture dite canonique de la sphère.

JPEG - 184.3 ko

Cette image-texture est distordue lors de cette application, en particulier aux pôles vers lesquels les méridiens convergent ;
ce processus est appelé auto-transformation
de l’image initiale.

JPEG - 201.7 ko

Pour ce faire, les coordonnéees tridimensionnelles de la surface $\{X,Y,Z\}$ sont projetées dans un plan en $\{X_p,Y_p\}$ et l’auto-transformation de l’image initiale (matrices $\{M_x,M_y,M_z\}$) est alors définie par $\{M_x(X_p,Y_p),M_y(X_p,Y_p),M_z(X_p,Y_p)\}$, les coordonnées $\{X_p,Y_p\}$ ayant été évidemment convenablement renormalisées.

Voici quelques exemples d’auto-transformations d’images sans présenter les surfaces associées :

JPEG - 129.7 ko
JPEG - 290.6 ko
JPEG - 125.9 ko
JPEG - 254.6 ko
JPEG - 128.1 ko
JPEG - 247.8 ko
JPEG - 102.5 ko
JPEG - 209.9 ko
JPEG - 107.1 ko
JPEG - 205.8 ko
JPEG - 110.2 ko
JPEG - 214.8 ko

Voici ce qu’on obtient en appliquant un filtrage de Fourier à l’image initiale afin de la lisser.

JPEG - 252.7 ko
JPEG - 379.3 ko

Ce procédé peut être appliqué à des animations en couleurs donnant ainsi naissance à de complexes animations de textures.

Voici quelques exemples :

JPEG - 247.9 ko
JPEG - 496.7 ko
JPEG - 125.5 ko
JPEG - 193.4 ko
Post-scriptum :

Cet article dans sa version originale est disponible sur cette page.

Notes

[1On pourrait imaginer de colorier la surface directement à l’aide de sa pseudo-projection, puisqu’il s’agit d’une image en couleurs. En fait cela ne présente pas d’intérêt puisqu’alors les couleurs rouge, verte et bleue seraient respectivement proportionnelles aux coordonnées $X,Y$ et $Z$ donnant alors tout simplement des dégradés parallèlement aux trois axes et par exemple de la composante rouge le long de l’axe des abscisses.

[2Les couleurs ${R,V,B}$ de chaque point de la pseudo-projection de la sphère sont utilisées comme condition initiale ${X_0,Y_0,Z_0}$ de l’attracteur de Lorenz et évoluent ensuite par intégration du système d’équations différentielles correspondant.

Partager cet article

Pour citer cet article :

Jean-François Colonna — «Pseudo-projections de surfaces» — Images des Mathématiques, CNRS, 2010

Commentaire sur l'article

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