Modèle:Lo vers rvb/algo1
Ceci est la documentation du modèle {{Lo vers rvb/algo1}}.
Ce modèle est destiné à être appelé par le modèle {{Lo vers rvb}}, il ne devrait pas être utilisé directement.
Cette page est chronoogiquement le premier essai réalisé pour Modèle:Lo vers rvb.
wikicode modifier
<!-- * 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
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:
- De convertir la longueur d'onde en valeur RVB correspondant aux longueurs d'ondes de référence des écrans/de l'oeil
- De convertir en hexadécimal : (fait)
- De s'assurer que le code hexadécimal est utilisable dans un tableau (à faire)
Principe essayé dans ce modèle modifier
Trouver une luminosité correspondant en appliquant une courbe en cloche : à faire?
Calcul de l'écart modifier
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 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
La conversion en hexadécimal s'appuie à partir du modèle Modèle:Hexadécimal_sans_span
Implémentation modifier
- Découper la longueur d'onde en tranches
- 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
Description | Wikicode | Résultat |
---|---|---|
Longueur d'onde de 437nm | {{000#000000|437}} | Résultat : 010101#0C00FF |
La documentation de ce modèle est générée par le modèle {{Documentation d'une sous-page de modèle}}.
Elle est incluse depuis sa sous-page de documentation. Veuillez placer les catégories sur cette page-là.
Les éditeurs peuvent travailler dans le bac à sable (créer) et la page de test (créer).
Voir les statistiques d'utilisation du modèle sur l'outil wstat.