{"id":19508545,"url":"https://github.com/danmadeira/cores-intermediarias","last_synced_at":"2026-05-17T05:36:07.693Z","repository":{"id":202124207,"uuid":"341958496","full_name":"danmadeira/cores-intermediarias","owner":"danmadeira","description":"Cores intermediárias nos espaços de cores RGB, HSL e HSV","archived":false,"fork":false,"pushed_at":"2021-02-25T02:53:49.000Z","size":153,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-25T22:46:06.937Z","etag":null,"topics":["cor","cores","cores-intermediarias","degrade","gradiente","hsl","hsv","paleta","rgb"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danmadeira.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-02-24T16:14:05.000Z","updated_at":"2021-02-25T02:53:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"29163381-208d-4bea-8b89-0378a2edd4d8","html_url":"https://github.com/danmadeira/cores-intermediarias","commit_stats":null,"previous_names":["danmadeira/cores-intermediarias"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/danmadeira/cores-intermediarias","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danmadeira%2Fcores-intermediarias","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danmadeira%2Fcores-intermediarias/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danmadeira%2Fcores-intermediarias/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danmadeira%2Fcores-intermediarias/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danmadeira","download_url":"https://codeload.github.com/danmadeira/cores-intermediarias/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danmadeira%2Fcores-intermediarias/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33128663,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T18:38:32.183Z","status":"online","status_checked_at":"2026-05-17T02:00:05.366Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cor","cores","cores-intermediarias","degrade","gradiente","hsl","hsv","paleta","rgb"],"created_at":"2024-11-10T23:07:55.766Z","updated_at":"2026-05-17T05:36:07.661Z","avatar_url":"https://github.com/danmadeira.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Cores intermediárias nos espaços de cores RGB, HSL e HSV\n\nUm script em PHP com uma classe para o cálculo dos valores RGB/HSL/HSV das n cores intermediárias, determinando uma escala de cor, uma paleta, entre as duas cores dadas.\n\n### Algoritmo\n\nPara n cores intermediárias, com i variando de 1 a n, o valor de cada cor intermediária entre a e b, é dado pela equação de interpolação linear:\n\nV = a + (b - a) * i / (n + 1)\n\nObservações:\n\n1. Nos espaços de cores HSL e HSV, a matiz é numericamente ordenada em um círculo de 360°, o qual permite uma continuidade do deslocamento do 360° ao 0°. Deste modo, a escala intermediária pode naturalmente transpor o fim dos 360 graus, tornando-se o grau zero, para dar continuidade na sequência. Diferentemente da escala do espaço RGB, a qual é uma reta finita 0-255, onde a equação acima serve sem adaptações.\n\n2. As funções para HSL e HSV adotam a menor circunferência, a menor distância entre a e b, como percurso da escala de cor.\n\n:point_right: O exemplo do uso desta classe utiliza também a classe que foi publicada em [Conversão de espaço de cores RGB-HSL-HSV](https://github.com/danmadeira/conversao-rgb-hsl)\n\n### Exemplo de uma paleta\n\nO gráfico da projeção de 11 cores intermediárias, entre o magenta e o amarelo, para cada espaço de cor:\n\n![Paleta de Cores](img/paleta.png?raw=true)\n\n### Espaços de cor\n\nO espaço de cor red/green/blue, ou, vermelho/verde/azul, é um sistema de colorimetria para dimensionar uma cor pela combinação das quantidades destas três cores primárias. Cada cor primária tem um valor o qual pode variar em uma escala de zero (completamente enegrecida) à 255 (completamente pura). As cores primárias são aditivas, quando todas as cores estão no 0, o resultado é preto, quando todas estão em 255, o resultado é branco, e quando todos os valores forem iguais, o resultado é cinza.\n\nO espaço de cor hue/saturation/lightness, ou, matiz/saturação/brilho, é um sistema de colorimetria para dimensionar uma cor por estas três propriedades. No HSL, o matiz é a cor pura numericamente ordenada em um círculo de cores de 360°. A saturação é o grau de pureza da cor pela mesclagem do matiz com a cor cinza, em uma escala de 0% (cinza) à 100% (pura). O brilho é a claridade da cor graduada do completamente enegrecido em 0% ao completamente embranquecido em 100%, deste modo, a cor pura está em 50% do brilho.\n\nO espaço de cor hue/saturation/value, ou, matiz/saturação/valor, é um sistema de colorimetria para dimensionar uma cor por estas três propriedades. No HSV, o matiz é a cor pura numericamente ordenada em um círculo de cores de 360°. A saturação é o grau de pureza da cor pela mesclagem do matiz com a cor branca, em uma escala de 0% (branco) à 100% (pura). O valor é a claridade da cor graduada do completamente enegrecido em 0% ao completamente puro em 100%, deste modo, a cor pura está em 100% do valor.\n\n### Referências\n\n- *C++ - Numerics library - std::lerp*. C++ Reference: C++98, C++03, C++11, C++14, C++17, C++20. October 3, 2020. Disponível em: \u003chttps://en.cppreference.com/w/cpp/numeric/lerp\u003e\n\n- FORD, A.; ROBERTS, A. *Colour Space Conversions*. August 11, 1998. Disponível em: \u003chttp://poynton.ca/PDFs/coloureq.pdf\u003e\n\n- IBRAHEEM, N. A.; HASAN, M. M.; KHAN, R. Z.; MISHRA, P. K. *Understanding Color Models: A Review*. ARPN Journal of Science and Technology. vol. 2, no. 3, pp. 265-275. April 2012.\n\n- MALACARA, D. *Color Vision and Colorimetry: Theory and Applications, 2nd ed*. SPIE. Bellingham, Washington, USA, 2011.\n\n- OHTA, N.; ROBERTSON, A. R. *Colorimetry: Fundamentals and Applications*. John Wiley \u0026 Sons Ltd, 2005.\n\n- SCHANDA, J. *Colorimetry: Understanding the CIE System*. Wiley, 2007.\n\n- SHEVELL, S. K. *The Science of Color, Second Edition*. Optical Society of America. Elsevier, 2003.\n\n- SMITH, A. R. *Color Gamut Transform Pairs*. Technical Memo No 7, Computer Graphics Lab, New York Institute of Technology, Jul 1978, issued as tutorial notes at SIGGRAPHs 78-82. Disponível em: \u003chttp://alvyray.com/Papers/CG/color78.pdf\u003e\n\n- Standard C++ Foundation. *ISO/IEC JTC1 SC22 WG21 N4860. Programming Languages - C++*. 2020-03-31. Disponível em: \u003chttps://isocpp.org/files/papers/N4860.pdf\u003e\n\n- WALDMAN, N. *Math behind colorspace conversions, RGB-HSL*. May 8, 2013. Disponível em: \u003chttp://www.niwa.nu/2013/05/math-behind-colorspace-conversions-rgb-hsl/\u003e\n\n- WARE, C. *Information Visualization: Perception for Design, Fourth Edition*. Morgan Kaufmann, Elsevier, 2021.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanmadeira%2Fcores-intermediarias","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanmadeira%2Fcores-intermediarias","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanmadeira%2Fcores-intermediarias/lists"}