perception

Couleurs

J’ai toujours été intrigué par le concept des couleurs. Probablement depuis la première fois que mon père m’a expliqué d’où viennent les arcs-en-ciel. Si chaque couleur est juste une certaine longueur d’onde, qui décide où commence le VERT et où s’arrête le BLEU ? Et où sont le ROSE, le GRIS et le MARRON sur l’arc-en-ciel ? Et pourquoi y a-t-il  trois couleurs primaires et pas 2 ou 8 ? Il semblerait que je ne sois pas le premier à me poser ces questions.

Une question plus prosaïque, serait de savoir ce que *moi* j’appelle JAUNE, ORANGE et VIOLET ? D’une manière aussi surprenante que totalement inattendue de ma part, j’ai écrit deux bouts de code qui affichent une couleur au hasard dans l’espace RGB sur mon écran. Pour chaque couleur affichée, j’ai indiqué la couleur que je voyais parmi : ROUGE, ORANGE, JAUNE, VERT, BLEU, VIOLET, ROSE, MARRON, BLANC, GRIS, NOIR.

Je me rends bien compte de l’absence totale de rigueur de ma démarche, mais c’est pas vraiment le sujet. La compréhension du monde ne passe pas toujours par une démarche rigoureuse. Parfois pour avancer il faut faire un peu n’importe quoi. Voilà ce que ça a donné.

Dans la suite, les couleurs sont représentées dans l’espace RGB (Red/Green/Blue = Rouge/Vert/Bleu par analogie avec le trichromatisme humain) où chaque couleur est représentée par trois nombres (R,G,B) entre 0 et 1. Chaque nombre donne la proportion de chaque couleur primaire (rouge, vert, bleu resp.) dans la couleur décrite. Ainsi (0,0,0) ne contient aucune des couleurs et est donc le NOIR. De même (0.5,0,1) contient beaucoup de BLEU et un peu de ROUGE et c’est est donc un VIOLET.

Voyons déjà les différentes couleurs séparément :

black

NOIR

Je vois du noir vers (0,0,0)

donc noir = pas de couleur.

grey

GRIS

Je vois du gris approximativement sur le plan BLEU=VERT, avec 0.6*ROUGE<VERT<0.4*ROUGE+0.6

donc gris = autant de vert que de bleu et peu importe le rouge (mais pas trop non plus) et globalement pas trop clair.

red

ROUGE

Je vois du rouge dans la zone ROUGE>0.2, BLEU<0.4 et VERT<0.4*ROUGE

donc rouge = au moins un peu de rouge, pas trop de bleu et pas trop de vert.

orange

ORANGE

Je vois du orange dans la zone ROUGE>0.7, 0.2<VERT<0.8 et BLEU<1.5*ROUGE-0.9

donc orange = beaucoup de rouge, un peu de vert mais pas trop et pas trop de bleu.

yellow

JAUNE

Je vois du jaune dans le coin (1,1,0) avec deux bras qui s’étendent vers (0,1,1) et (1,1,1)

donc jaune = beaucoup de vert mais pas trop de bleu (sauf si très clair)

brown

MARRON

Je vois du marron dans la zone juste en dessous de l’axe ROUGE=VERT=BLEU

donc marron = autant de rouge que de vert mais pas trop de bleu

 

greenVERT

Je vois du vert dans la zone VERT>ROUGE, VERT>BLEU et BLEU<0.9

donc vert = plus de vert que des autres, et pas trop de bleu

 

blueBLEU

Je vois du bleu dans la zone BLEU>VERT, BLEU>2*ROUGE et ROUGE<0.6, sauf si BLEU>0.8 et VERT>0.6

donc bleu = plus de bleu que de vert, beaucoup plus de bleu que de rouge et pas trop de rouge, sauf si très clair.

purple

VIOLET

Je vois du violet dans la zone BLEU>0.8*VERT, BLEU>ROUGE, 0.1<ROUGE<0.9 et 0<VERT<0.9

donc violet = beaucoup de bleu, au moins un peu de rouge mais ni trop de vert, ni trop de rouge.

pinkROSE
Je vois du rose dans la zone ROUGE>.5, VERT<.7 et BLEU>VERT donc rose = beaucoup de rouge, pas trop de vert et de toute façon plus de bleu.

Évidemment les conclusions sont très simplifiés. Par exemple le GRIS, le MARRON et le BLEU s’étendent dans des zones au-delà de leur masse principale. Je met ces étrangetés sur le compte de la faiblesse de mes yeux et de mon protocole. La forme de la zone MARRON montre par exemple que j’aurais dû inclure le BEIGE dans ma liste de couleurs. Et le BLEU et le GRIS montrent que, pour les couleurs très proches du blanc, je suis clairement biaisé vers le gris et le bleu.

Voici encore quelques animations pour montrer certains détails que je trouvais intéressant.

gy

VERT et JAUNE

Ici on voit que le JAUNE supporte mieux le BLEU (avant de devenir VERT) quand il contient aussi du ROUGE. À tel point que quand le ROUGE est proche de 1, j’ignore complètement le BLEU.

kyor

ROUGE, ORANGE et JAUNE

Juste pour montrer que quand on rajoute du VERT à du ROUGE, je vois du ORANGE, puis du JAUNE.

kbp

BLEU et ROSE

Il y a clairement un espace vide entre le BLEU et le ROSE, même si apparemment quand on ajoute du VERT à du ROSE, je vois du BLEU ? À noter que les points en question sont très proches du BLANC, ce qui veut peut-être juste dire que quand je sais pas trop, je dis « BLEU« .

kbvp

BLEU, VIOLET et ROSE

L’espace vide précédemment entre le BLEU et le ROSE est évidemment occupé par le VIOLET. Évidemment, il y a un recouvrement considérable entre mon VIOLET et chacun des deux autres.

kewg

VERT, MARRON et GRIS

Ces deux animations sont juste pour montrer comment le GRIS est pris en sandwich entre le VERT et le MARRON d’un coté…

kebv

GRIS, BLEU et VIOLET

… et le BLEU et le VIOLET de l’autre.

En conclusion, j’ai l’impression de comprendre un tout petit peu mieux ce que j’appelle une couleur, en général. Mais pour être franc, la partie la plus intéressante (et de très loin la plus chronophage) de ce projet a été de tracer les volumes en 3D des différentes couleurs. Le point positif, c’est que j’ai appris à faire des triangulations de Delaunay, des envelopes convexes et surtout des alpha-shapes. Le point négatifs c’est que ça a probablement (j’ai pas compté) englouti 20 heures de ma vie. Bah ! je me suis bien amusé et j’ai fait des jolies images. Ça valait le coup.

all

L’étape suivante évidente serait de tout refaire dans l’espace HSV, plutôt que RGB.

Peut-être un jour !

Publicités
Par défaut

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s