Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Couleurs RGB et spectre de la lumière

21 réponses
Avatar
Hugolino
Salut,

Je voudrais dessiner (en PHP ou en javascript) un spectre lumineux dans
l'ordre croissant des longueurs d'onde (du violet à 380 nm au rouge à
780 nm).

Mais il me faudrait la correspondance entre chacun des 400 nanomètres de
l'étendue du spectre et leurs codes RGB qui permettrait d'afficher
cette couleur.

J'ai googlisé en vain ; j'ai écrit une procédure en php qui trace une
image en passant progressivement du bleu au rouge, donc avec le violet
au milieu :( et j'ai ni jaune ni vert...

Mais peut-être y a-t-il ici un joyeux contribruiteur qui aurait une
solution à me proposer ?


Merci


--
Maintenant que je commence a me debrouiller pas mal en Perl, c'est
promis, je vais reflechir a un nouveau programme qui aurait pour charge
de filtrer la connerie sur les News.
Hugo (né il y a 1 411 504 295 secondes)

10 réponses

1 2 3
Avatar
Olivier Miakinen
Bonjour,

Le 15/01/2009 23:03, Hugolino a écrit :

Je voudrais dessiner (en PHP ou en javascript) un spectre lumineux dans
l'ordre croissant des longueurs d'onde (du violet à 380 nm au rouge à
780 nm).

Mais il me faudrait la correspondance entre chacun des 400 nanomètres de
l'étendue du spectre et leurs codes RGB qui permettrait d'afficher
cette couleur.



Je crois que tu t'es trompé de groupe. Je ne sais pas quel serait le
meilleur groupe pour y poser ta question, mais au moins je suis persuadé
que fr.comp.graphisme.multimedia serait bien meilleur que fciw.auteurs.

J'ai googlisé en vain ; j'ai écrit une procédure en php qui trace une
image en passant progressivement du bleu au rouge, donc avec le violet
au milieu :( et j'ai ni jaune ni vert...



Sans garantie, je crois bien que c'est le violet qui ne peut pas être
obtenu avec une longueur d'onde simple mais seulement par mélange. Mais
encore une fois...

Mais peut-être y a-t-il ici un joyeux contribruiteur qui aurait une
solution à me proposer ?



... encore une fois ce n'est ÀMHA pas le bon groupe.
Avatar
METIS
Hugolino wrote:
Salut,

Je voudrais dessiner (en PHP ou en javascript) un spectre
lumineux dans l'ordre croissant des longueurs d'onde (du violet à
380 nm au rouge à 780 nm).

Mais il me faudrait la correspondance entre chacun des 400
nanomètres de l'étendue du spectre et leurs codes RGB qui
permettrait d'afficher cette couleur.

J'ai googlisé en vain ; ...



==>Je t'ai fait ça, en espérant que ça te serve.
C'est un spectre du visible (à peu près fidèle ?) sur lequel j'ai mesuré les
valeurs principales RVB.

http://img405.imageshack.us/my.php?image=spectrevisiblevd5.jpg

Le point de mesure, c'est juste devant chaque flèche.

--
<|[;o)) METIS
http://www.graphM.com
Pour m'écrire en privé,
moi c'est metis15 et
je tourne à l'Oranges...
Avatar
Sergio
Hugolino a couché sur son écran :
Salut,

Je voudrais dessiner (en PHP ou en javascript) un spectre lumineux dans
l'ordre croissant des longueurs d'onde (du violet à 380 nm au rouge à
780 nm).

Mais il me faudrait la correspondance entre chacun des 400 nanomètres de
l'étendue du spectre et leurs codes RGB qui permettrait d'afficher
cette couleur.

J'ai googlisé en vain ; j'ai écrit une procédure en php qui trace une
image en passant progressivement du bleu au rouge, donc avec le violet
au milieu :( et j'ai ni jaune ni vert...



C'est une conversion TSL->RGB qu'il te faut.
(cf http://fr.wikipedia.org/wiki/Teinte_saturation_lumi%C3%A8re )
Avec T (teinte) variant de 0 à 360° (enfin dans l'autre sens pour toi)
et S et L à 100%.

La formule de conversion est dans l'article anglais du wikipédia :
http://en.wikipedia.org/wiki/HSL_and_HSV
(bon courage pour l'implémenter...)

En pratique, tu fais le calcul une bonne fois pour toute dans un
tableur et tu mets la table dans ton code PHP...

--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org
Avatar
Mickaël Wolff
Olivier Miakinen a écrit :

Sans garantie, je crois bien que c'est le violet qui ne peut pas être
obtenu avec une longueur d'onde simple mais seulement par mélange. Mais
encore une fois...



Tu as oublié tes cours de physique ^^; le violet est une couleur de
longueur d'onde d'environ 400 nm. En-dessous, ce sont les UV.


Mais peut-être y a-t-il ici un joyeux contribruiteur qui aurait une
solution à me proposer ?



... encore une fois ce n'est ÀMHA pas le bon groupe.



Je pense que ce problème peut intéresser plusieurs auteurs du web.
Une ressource intéressante qui parle des couleurs :
<http://pourpre.com/modeles/index.php>, Je n'y ai pas vu une table de
conversion d'un modèle à l'autre mais ça doit se trouver.

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org

Seeking for a position <http://lupusmic.org/pro/>
Avatar
SAM
Le 1/15/09 11:03 PM, Hugolino a écrit :
Salut,

Je voudrais dessiner (en PHP ou en javascript) un spectre lumineux dans
l'ordre croissant des longueurs d'onde (du violet à 380 nm au rouge à
780 nm).

Mais il me faudrait la correspondance entre chacun des 400 nanomètres de
l'étendue du spectre et leurs codes RGB qui permettrait d'afficher
cette couleur.



Ha ha ha !

Quand on voit que ce n'est pas uniformément réparti :
Couleur Longueur d'onde
violet 380-450 nm --> 70
bleu 450-490 nm --> 40
vert 490-570 nm --> 80
jaune 570-585 nm --> 15
orange 585-620 nm --> 35
rouge 620-780 nm --> 160

Ce ne sera pas fastoche !
(il ne suffira sans doute pas de seulement faire varier régulièrement R
puis V puis B)
car ces couleurs sont en fonction des capacités de l'oeil humain :
<http://fr.wikipedia.org/wiki/Lumi%C3%A8re_visible>
<http://static.commentcamarche.net/www.commentcamarche.net/pictures/video-images-luminosite.gif>

J'ai googlisé en vain ; j'ai écrit une procédure en php qui trace une
image en passant progressivement du bleu au rouge, donc avec le violet
au milieu :( et j'ai ni jaune ni vert...



alors que ça existe en svg
<http://upload.wikimedia.org/wikipedia/commons/f/fc/Spectre.svg>
ou en image :
<http://tecfa.unige.ch/perso/lombardf/CPTIC/couleurs/couleur_ERAG/Pages/Continu.jpg>

Mais peut-être y a-t-il ici un joyeux contribruiteur qui aurait une
solution à me proposer ?



Chiper une image déjà faite sur un site ?

--
sm
Avatar
SAM
Le 1/16/09 10:36 AM, Sergio a écrit :
Hugolino a couché sur son écran :
Salut,

Je voudrais dessiner (en PHP ou en javascript) un spectre lumineux dans
l'ordre croissant des longueurs d'onde (du violet à 380 nm au rouge à
780 nm).

Mais il me faudrait la correspondance entre chacun des 400 nanomètres de
l'étendue du spectre et leurs codes RGB qui permettrait d'afficher
cette couleur.





Pour résumer ce que j'aurais pu patafioler par ailleurs :
<http://cjoint.com/?bsojQZV6Um>

C'est une conversion TSL->RGB qu'il te faut.



Peut importe le codage de la couleur, le plus difficile est que le
spectre n'est pas régulier : il ne suffit pas de faire varier
régulièrement RGB ou HSV ou TSV

Les formules de conversion ne sont après tout que des formules

Le blème est l'echeonement de ces couleurs suivant celles du spectre
lumineux.
En fait il faudrait avoir la formule de ce spectre.

--
sm
Avatar
SAM
Le 1/16/09 2:06 PM, Mickaël Wolff a écrit :
Olivier Miakinen a écrit :

Sans garantie, je crois bien que c'est le violet qui ne peut pas être
obtenu avec une longueur d'onde simple mais seulement par mélange. Mais
encore une fois...



Tu as oublié tes cours de physique ^^; le violet est une couleur de
longueur d'onde d'environ 400 nm. En-dessous, ce sont les UV.



Bon ... alors où est la formule de conversion

longueur d'onde -> couleur (étendue de la plage de)

le format de code couleur n'est pas trop important, il a plein de
formules pour les convertir ensuite (pour la charte du ng).

--
sm
Avatar
Mickaël Wolff
Sergio a écrit :

C'est une conversion TSL->RGB qu'il te faut.
(cf http://fr.wikipedia.org/wiki/Teinte_saturation_lumi%C3%A8re )
Avec T (teinte) variant de 0 à 360° (enfin dans l'autre sens pour toi)
et S et L à 100%.



Mais comment passe-t-on de la longueur d'onde à TSL ?

La formule de conversion est dans l'article anglais du wikipédia :
http://en.wikipedia.org/wiki/HSL_and_HSV
(bon courage pour l'implémenter...)



Faut pas pousser, les formules mathématiques sont simples. C'est pas
comme s'il fallait dériver.


--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org

Seeking for a position <http://lupusmic.org/pro/>
Avatar
Guy Gruais
Bonjour,

Vous allez être infiniment heureux d'apprendre que Hugolino vient d'écrire
:

Je voudrais dessiner (en PHP ou en javascript) un spectre lumineux
dans l'ordre croissant des longueurs d'onde (du violet à 380 nm au
rouge à 780 nm).



Eeeeeeeeeeeeeuuuuuuuuuhhhhhhhhhhhhhhhhhh, là encore je suis tout sauf un
spécialiste.
Mais ici, peut-être :

http://semsci.u-strasbg.fr/rouedes.htm et là :
http://semsci.u-strasbg.fr/diagramm.htm

Faut pas m'en vouloir si je suis à côté de la plaque

--
Cordialement

(inverser siaurg pour retrouver gruais)
http://paysderetz.free.fr/
Avatar
Olivier Miakinen
Le 16/01/2009 14:06, Mickaël Wolff a écrit :

Sans garantie, je crois bien que c'est le violet qui ne peut pas être
obtenu avec une longueur d'onde simple mais seulement par mélange. Mais
encore une fois...



Tu as oublié tes cours de physique ^^; le violet est une couleur de
longueur d'onde d'environ 400 nm. En-dessous, ce sont les UV.



Pardon pour mes approximations, la page web où j'avais lu ça précisait
un peu plus où se trouvait la limitation, mais je ne me rappelle pas si
elle était dans le moyen d'obtenir cette couleur (sur écran, sur papier,
etc.) ou si elle était dans notre système de vision.

Je ne retrouve pas cette page, mais je viens d'en trouver une autre qui
me semble assez intéressante elle aussi :
http://www.glafreniere.com/optique/couleurs.htm

... encore une fois ce n'est ÀMHA pas le bon groupe.



Je pense que ce problème peut intéresser plusieurs auteurs du web.



Bien sûr ! Lesquels auteurs du web auraient tout intérêt à s'inscrire
au groupe fr.comp.graphisme.multimedia. Mais tu vois bien que la
discussion, en restant ici, n'obtient de réponses que de béotiens
comme moi, au lieu d'avoir les avis des experts.

Une ressource intéressante qui parle des couleurs :
<http://pourpre.com/modeles/index.php>, Je n'y ai pas vu une table de
conversion d'un modèle à l'autre mais ça doit se trouver.



Les tables de conversion entre différents modèles (RGB, HSV, HSL, CYMK,
etc.), ça se trouve. Mais ce n'était pas la question d'Hugolino qui
parlait de longueurs d'onde. Aussi, à moins qu'on ne me prouve le
contraire, je persiste et je signe : ce n'est pas le meilleur groupe
pour en parler.
1 2 3