retour au menu université de Lille CNRS Unisciel laboratoire PhLAM




Combien de couleurs y a-t-il dans un arc-en-ciel ?

La norme de perception des couleurs

Pour des raisons pratiques, la norme mise en place par la CIE n'est pas basée sur une représentation RVB, mais sur une représentation XYZ. Ces couleurs fondamentales XYZ sont fictives. Elles résultent d'une transformation simple :

$$ \begin{eqnarray} X(\lambda) &=& 1.94735469\ r(\lambda) + 1.41445123\ v(\lambda) + 0.36476327\ b(\lambda) \\ Y(\lambda) &=& 1.68990272\ r(\lambda) + 1.34832189\ v(\lambda) \\ Z(\lambda) &=& 1.93485343\ r(\lambda) \end{eqnarray} $$

où \(r(\lambda)\), \(v(\lambda)\) et \(b(\lambda)\) sont les sensibilités des cônes normalisées à 1 pour chaque quantité. Cette représentation a un intérêt pratique : \(Y\) représente en effet la luminance, tandis que \(X\) et \(Z\) représentent la chrominance : luminance et chrominance sont donc séparées.

Le standard sRGB

Il est défini par la relation entre les trois composantes R, G et B de l'écran, comprises entre 0 et 1, et les composantes XYZ de la norme CIE :

$$ \begin{eqnarray} R_L &=& 3.2406\ X - 1.5372\ Y - 0.4986\ Z \\ G_L &=& -0.9689\ X + 1.8758\ Y + 0.0415\ Z \\ B_L &=& 0.0557\ X - 0.2040\ Y + 1.0570\ Z \\ C &=& a \times C_L^b-c \\ \end{eqnarray} $$

où \(C\) est à remplacer par \(R\), \(G\) et \(B\) (la quatrième équation est donc une façon abrégée d'écrire les trois équations des trois composantes de couleur). Les paramètres \(a\), \(b\) et \(c\) prennent des valeurs différentes en fonction du résultat intermédiaire \(C_L\) :

$$ \begin{eqnarray} \text{si } C_L \leq 0.0031308\text{ : }(a,b,c) &=& (12.92,1,0) \\ \text{si } C_L > 0.0031308\text{ : }(a,b,c) &=& (1.055,1/2.4,0.055) \\ \end{eqnarray} $$

Les valeurs intermédiaires \(R_L\), \(G_L\) et \(B_L\) sont appelées les composantes linéaires, tandis que la quatrième équation, non linéaire, est appelée la correction de gamma. Une fois connue les composantes XYZ de la couleur à reproduire, le calcul est donc direct.

Représenter les couleurs sur un écran

Les écrans ne possèdent pas de sources de lumière pour chaque longueur d'onde, et ils doivent donc aussi reconstruire un spectre de couleurs qui fournisse à l'œil une sensation équivalente à la couleur que l'on veut reproduire. Le standard depuis l'invention de la télévision couleur est d'utiliser trois couleurs : le rouge, le vert et le bleu (RVB, ou RGB en anglais)Comment fonctionne un écran LCD ?. Bien que ces trois couleurs soient aussi les noms des trois cônes de l'œil en français, les couleurs primaires choisies pour reconstituer les couleurs à l'écran n'ont rien à voir avec les courbes de sensibilité de l'œil. Elles ont d'ailleurs évolué, et plusieurs standards existent encore aujourd'hui. Le plus répandu pour les écrans actuels est le standard sRGB, qui définit la relation entre les trois composantes R, G et B de l'écran, comprises entre 0 et 1, et la norme CIE.

Toutes les couleurs ne peuvent pas être reproduites

Mais ce calcul peut mener à des valeurs négatives ou des valeurs supérieures à 1, c'est à dire des valeurs impossibles à générer dans le cadre du standard. Pour vous en convaincre, utilisez le formulaire ci-dessous pour calculer les coordonnées des couleurs monochromatiques. Attention, la norme CIE 2006 n'est définie qu'entre 390 et 830 nm. Toute valeur en dehors de ce champ génèrera du noir (0 pour chaque composante). Les résultats affichés sont les coordonnées XYZ dans la norme CIE et les valeurs RGB linéaires (voir l'encart ci-contre). Les valeurs RGB devraient toujours être comprises entre 0 et 1.

Longueur d'onde de la lumière : nm

X =

Y =

Z =

RL =

GL =

BL =

En essayant, vous constaterez que quelque soit la longueur d'onde, au moins une des valeurs RGB est négative. Comment peut-on trouver des valeurs de couleur négatives ? Tout simplement parce que les écrans ne sont pas de suffisamment bonne qualité pour reproduire toutes les couleurs. Lorsque l'on trouve une composante négative, cela signifie que le système de reproduction des couleurs ne peut pas fournir la couleur demandée par manque de saturation. On ne peut donc pas représenter sur un écran sRGB les couleurs monochromatiques. Un peu frustrant, non ?

Comme on a envie de représenter quand même quelque chose, prenons les valeurs RGB obtenues ci-dessus, et mettons à zéro toutes les valeurs négatives et à 1 toutes les valeurs supérieures à 1. Cette fois, on peut représenter toutes les couleurs obtenues sous forme d'un spectre allant de 390 à 830 nm.

Cliquez ici pour afficher ce spectre.

Le résultat n'est pas très probant, car beaucoup de longueurs d'onde sont représentées par la même couleur, alors qu'en réalité, elles sont toutes différentes. On pouvait s'y attendre, car la méthode choisie pour faire rentrer nos couleurs dans le gamut (la gamme de couleurs disponibles à l'écran) est un peu brutale.

Une solution plus propre consiste à désaturer la couleur, en ajoutant un niveau de gris (c'est à dire la même composante sur R, V et B), et à réduire la luminosité (R+V+B) pour rester dans le gamut. La solution adoptée ici consiste en trois étapes: on diminue d'abord la luminosité par un facteur 2.3 comme proposé ici. Puis, s'il y a une composante négative, on ajoute sa valeur absolue à toutes les composantes, comme proposé ici. Enfin, les valeurs supérieures à 1 sont tronquées à 1.

Cliquez ici pour afficher le nouveau spectre obtenu dans la moitié inférieure du graphique ci-dessous.

Le résultat est plus probant en termes de dégradés des couleurs. Mais il faut être conscient que ce spectre ne représente pas les couleurs monochromatiques, car votre écran ne le permet pas, quel qu'il soit. C'est une approximation, résultat de choix arbitraires, et d'autres choix auraient mené à un autre résultat.

Les couleurs de l'arc-en-ciel ne peuvent pas être reproduites à l'écran !

Si les couleurs de l'arc-en-ciel sont monochromatiques, elles ne peuvent donc pas être reproduites à l'écran, et il faudra se contenter des couleurs approximatives ci-dessus. Il est temps d'examiner quelle est l'origine de l'arc-en-ciel, de façon justement à en savoir plus sur ses couleurs.

Calcul de l'équivalent RGB d'une longueur d'onde

Retrouvez vous-même l'une des composantes du spectre en la calculant ci-dessous. Entrez la longueur d'onde en nm, entre 390 et 830 nm, puisque la norme CIE 2006 n'est définie que sur cet intervalle. Les résultats intermédiaires sont les coordonnées XYZ dans la norme CIE et les valeurs RGB obtenues à partir du standard sRGB. Les valeurs RGB sont données sous trois formes : normalisées (entre 0 et 1), sur 8 bits (entre 0 et 255) et en hexadécimal.

Longueur d'onde de la lumière : nm