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)
Oui il cherchait un modèle pour afficher les couleurs de la lumière visible, et finalement, ceci est quasi parfait : <http://www.efg2.com/Lab/ScienceAndEngineering/Spectra.htm>
Sauf que Dan Bruton ne précise pas l'espace RGB utilisé, et que ceux-ci ont pas mal changé depuis 1996.
Ma foi ... Perso je n'ai pas d'autre ambition que de tenter de reproduire ce qu'essaie de faire cette appli Spectra
Pour s'en affranchir, on utilise une table établie en laboratoire (s'agissant d'un phénomène perceptif, il n'existe pas de modèle) donnée en chromaticités normalisées CIE, qu'il est facile de transformer dans l'espace RGB de son choix par multiplication de matrice 3x3.
Tout est dans la librairie de John Burkardt: http://people.sc.fsu.edu/~burkardt/f_src/colors/colors.html
Bon ... Ben ... je me suis contenté de transposer le code donné à l'url plus haut <http://cjoint.com/data/bvbX1CmFAh_spectre_lumire_visible_js.htm>
NM_TO_RGBCIE (mais le RGB de nos écrans n'est pas le RGB du CIE)
Est-ce que ça a de l'importance ? Le but du jeu est de représenter un spectre visible approchant d'autres images de ce spectre (combien il y a t'il de ces tentatives de représentation?), et les uns comme les autres sont tributaires de l'écran (ou de l'imprimante si on préfère le support papier) ... alors ... 1) il n'y a plus grand chose de très scientifique ou précis au final 2) la comparaison du truc affiché et calculé avec sa capture-écran sera toujours OK (puisque sur même support et utilisant même RGB)
NM_TO_XYZ (on passe ensuite en RGB709 ou autre) NM_TO_XYZ_CAP (idem)
Alors voici ce que j'ai commis en javascript
Allez SAM, ce ne sont que quelques lignes de FORTRAN à traduire :)
Bou ! bagatelle ! :-)
J'ai déjà de traduit et en stock : HLS_TO_RGB HSV_TO_RGB HEX_TO_RGB RGB_TO_HEX RGB_TO_HLS RGB_TO_HSV et comme le reste des routines de cette page je ne sais pas de quoi il retourne ... les sources ainsi que la "GNU LGPL license" qui les protège, je n'irai même pas les lire.
-- sm
Le 2/4/09 9:10 PM, Jean-Yves Bernier a écrit :
SAM <stephanemoriaux.NoAdmin@wanadoo.fr.invalid> wrote:
Oui il cherchait un modèle pour afficher les couleurs de la lumière
visible, et finalement, ceci est quasi parfait :
<http://www.efg2.com/Lab/ScienceAndEngineering/Spectra.htm>
Sauf que Dan Bruton ne précise pas l'espace RGB utilisé, et que ceux-ci
ont pas mal changé depuis 1996.
Ma foi ...
Perso je n'ai pas d'autre ambition que de tenter de reproduire ce
qu'essaie de faire cette appli Spectra
Pour s'en affranchir, on utilise une table établie en laboratoire
(s'agissant d'un phénomène perceptif, il n'existe pas de modèle)
donnée en chromaticités normalisées CIE, qu'il est facile de transformer
dans l'espace RGB de son choix par multiplication de matrice 3x3.
Tout est dans la librairie de John Burkardt:
http://people.sc.fsu.edu/~burkardt/f_src/colors/colors.html
Bon ... Ben ...
je me suis contenté de transposer le code donné à l'url plus haut
<http://cjoint.com/data/bvbX1CmFAh_spectre_lumire_visible_js.htm>
NM_TO_RGBCIE (mais le RGB de nos écrans n'est pas le RGB du CIE)
Est-ce que ça a de l'importance ?
Le but du jeu est de représenter un spectre visible approchant d'autres
images de ce spectre (combien il y a t'il de ces tentatives de
représentation?), et les uns comme les autres sont tributaires de
l'écran (ou de l'imprimante si on préfère le support papier)
... alors ...
1) il n'y a plus grand chose de très scientifique ou précis au final
2) la comparaison du truc affiché et calculé avec sa capture-écran
sera toujours OK (puisque sur même support et utilisant même RGB)
NM_TO_XYZ (on passe ensuite en RGB709 ou autre)
NM_TO_XYZ_CAP (idem)
Alors voici ce que j'ai commis en javascript
Allez SAM, ce ne sont que quelques lignes de FORTRAN à traduire :)
Bou ! bagatelle ! :-)
J'ai déjà de traduit et en stock :
HLS_TO_RGB HSV_TO_RGB HEX_TO_RGB RGB_TO_HEX RGB_TO_HLS RGB_TO_HSV
et comme le reste des routines de cette page je ne sais pas de quoi il
retourne ... les sources ainsi que la "GNU LGPL license" qui les
protège, je n'irai même pas les lire.
Oui il cherchait un modèle pour afficher les couleurs de la lumière visible, et finalement, ceci est quasi parfait : <http://www.efg2.com/Lab/ScienceAndEngineering/Spectra.htm>
Sauf que Dan Bruton ne précise pas l'espace RGB utilisé, et que ceux-ci ont pas mal changé depuis 1996.
Ma foi ... Perso je n'ai pas d'autre ambition que de tenter de reproduire ce qu'essaie de faire cette appli Spectra
Pour s'en affranchir, on utilise une table établie en laboratoire (s'agissant d'un phénomène perceptif, il n'existe pas de modèle) donnée en chromaticités normalisées CIE, qu'il est facile de transformer dans l'espace RGB de son choix par multiplication de matrice 3x3.
Tout est dans la librairie de John Burkardt: http://people.sc.fsu.edu/~burkardt/f_src/colors/colors.html
Bon ... Ben ... je me suis contenté de transposer le code donné à l'url plus haut <http://cjoint.com/data/bvbX1CmFAh_spectre_lumire_visible_js.htm>
NM_TO_RGBCIE (mais le RGB de nos écrans n'est pas le RGB du CIE)
Est-ce que ça a de l'importance ? Le but du jeu est de représenter un spectre visible approchant d'autres images de ce spectre (combien il y a t'il de ces tentatives de représentation?), et les uns comme les autres sont tributaires de l'écran (ou de l'imprimante si on préfère le support papier) ... alors ... 1) il n'y a plus grand chose de très scientifique ou précis au final 2) la comparaison du truc affiché et calculé avec sa capture-écran sera toujours OK (puisque sur même support et utilisant même RGB)
NM_TO_XYZ (on passe ensuite en RGB709 ou autre) NM_TO_XYZ_CAP (idem)
Alors voici ce que j'ai commis en javascript
Allez SAM, ce ne sont que quelques lignes de FORTRAN à traduire :)
Bou ! bagatelle ! :-)
J'ai déjà de traduit et en stock : HLS_TO_RGB HSV_TO_RGB HEX_TO_RGB RGB_TO_HEX RGB_TO_HLS RGB_TO_HSV et comme le reste des routines de cette page je ne sais pas de quoi il retourne ... les sources ainsi que la "GNU LGPL license" qui les protège, je n'irai même pas les lire.