Modèle:Lo vers rvb/algo1

Une page de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche

 Documentation de la sous-page de modèle[modifier] [purger]

Ceci est la documentation du modèle {{Lo vers rvb/algo1}}.

Ce modèle n'est pas destiné à être utilisé directement, mais est destiné à être utilisé par le modèle {{Lo vers rvb}}.

Cette page est chronoogiquement le premier essai réalisé pour Modèle:Lo vers rvb.

wikicode[modifier le code]

<!-- * Premier essai en essayer d’approximer l’œil: -->{{#if: {{{1|}}}| {{Hexadécimal_sans_span|{{#expr: 255/(1+({{{1|0}}}-{{{2|654}}})*({{{1|0}}}-{{{2|654}}})/1000) }}|no}} <!--rouge--> | {{#expr: {{{1|0}}}/{{{2|1}}} round {{{3|0}}} }} }}<!-- -->{{#if: {{{1|}}}| {{Hexadécimal_sans_span|{{#expr: 255/(1+({{{1|0}}}-{{{2|533}}})*({{{1|0}}}-{{{2|533}}})/1000) }}|no}} <!--vert--> | {{#expr: {{{1|0}}}/{{{2|1}}} round {{{3|0}}} }} }}<!-- -->{{#if: {{{1|}}}| {{Hexadécimal_sans_span|{{#expr: 255/(1+({{{1|0}}}-{{{2|437}}})*({{{1|0}}}-{{{2|437}}})/1000) }}|no}} <!--bleu--> | {{#expr: {{{1|0}}}/{{{2|1}}} round {{{3|0}}} }} }}<!-- -->

Sujet[modifier le code]

Les cônes de l’œil humain sont axés sur les trois longueurs d'ondes, ce qui a conduit a créer des écrans avec les trois couleurs RVB, pour l'oeil:

  • 437 nm: bleu
  • 533 nm: vert
  • 564 nm: rouge

Il s'agit donc, pour chaque longueur d'onde, de procéder en trois étapes:

  1. De convertir la longueur d'onde en valeur RVB correspondant aux longueurs d'ondes de référence des écrans/de l'oeil
  2. De convertir en hexadécimal : (fait)
  3. De s'assurer que le code hexadécimal est utilisable dans un tableau (à faire)

Principe essayé dans ce modèle[modifier le code]

Trouver une luminosité correspondant en appliquant une courbe en cloche : à faire?

Calcul de l'écart[modifier le code]

implémenté Par soustraction mathématique. Valeurs de référence

  • 437 nm: bleu
  • 533 nm: vert
  • 564 nm: rouge

Courbe en cloche[modifier le code]

Le but est d'appliquer une courbe en cloche, mais comment?

Peut-être qu'il faudrait approcher la Fonction de Voigt?

Le plus simple est sans doute d'implémenter une fonction lonrentzienne.

Les modèles suivants existent:

  • Modèle:Interpolation: Risque de ne pas convenir pour le zéro.
  • Modèle:Quel intervalle: On peut approcher une courbe en cloche avec deux sections constantes et une section linéaire de chaque côté de l'axe de la cloche.

Conversion en hexadécimal[modifier le code]

La conversion en hexadécimal s'appuie à partir du modèle Modèle:Hexadécimal_sans_span

Implémentation[modifier le code]

  1. Découper la longueur d'onde en tranches
  2. Pour chaque tranche, appliquer une approximation linéaire.
λ Description Rouge Vert Bleu
380 < λ < 380 Ultra violets invisibles 00 00 00
380 < λ < 420 Mélange rouge/bleu en guise d'UV...! 255*(440-λ )/(440-380)*γ*(0.3+0.7*(λ-380))/(420-380) 00 255*(0.3+0.7*(λ-380))/(420-380)* γ
420 < λ < 440 Rouge décroissant 255*(440-λ)/(440-380)*γ 00 255*γ
440 < λ < 490 Vert croissant 00 255*(λ-440)/(490-440)*γ 255*γ
490 < λ < 510 Bleu décroissant 00 255*γ 255*(510-λ)/(510-490)*γ
510 < λ < 580 Rouge croissant 255*(λ-510)/(580-510)*γ 255*γ 00
580 < λ < 645 Vert décroissant 255*γ 255*(645-λ)/(645-580)*γ 00
645 < λ < 700 Rouge constant 255*γ 00 00
700 < λ < 780 Rouge décroissant 255*(0.3+0.7*(780-λ))/(780-700)*γ 00 00
780 < λ Infra rouges invisibles 00 00 00

Exemple[modifier le code]

Description Wikicode Résultat
Longueur d'onde de 437nm {{000#000000|437}} Résultat : 010101#0C00FF