色彩体系概览
TLDR
本文从人眼感知出发,系统梳理了「颜色」这一抽象概念背后的物理与生理基础,解释了可见光光谱、视网膜 L/M/S 三类锥体以及亮度/色度分离等关键知识点,帮助读者理解为什么三维就足以描述颜色。文章进一步讨论了同色异谱、加法混色与减法混色的区别,澄清显示器发光与纸面颜料在工程实践中的不同约束,并用色环将连续光谱几何化,为后续的取色策略和配色方法打下直觉基础。在色彩空间层面,文章对比了以 CIE 系为代表的感知建模空间与以 RGB 系为代表的工程实现空间,说明各自解决的问题及实际应用场景。最后引出 HCT 这一新一代感知友好工作空间,展示它如何在前端和可视化中提供更自然的渐变、更稳定的色板以及与无障碍标准更好衔接的色彩体系。

人如何感知颜色
光与 视觉的最小背景

- 可见光是电磁波的一小段,波长大致在 400–700nm 之间。
- 一束光可以看成「不同波长能量的组合」,称为光谱分布。
- 物体本身不带颜色,它通过吸收一部分波段、反射/透射剩下的波段,在给定光源下形成入眼的光谱;人眼对这束光谱的响应,就被大脑解释为某种「颜色」。

在工程里,我们通常不会直接操作完整的光谱函数,而是用三维数字(例如 sRGB 或 CIE XYZ)去近似人眼对光谱的响应。
视网膜与三类锥体(L/M/S)

人眼的色觉主要依赖视网膜上的两类感光细胞:
- 杆状细胞(Rod):在弱光下工作,只对亮暗敏感,几乎不区分彩色。
- 锥状细胞(Cone):在日光/明视觉下工作,分为三类:
- L 锥体:对较长波长(偏红)更敏感
- M 锥体:对中等波长(偏绿)更敏感
- S 锥体:对较短波长(偏蓝)更敏感
每一类锥体都有一条「对不同波长有多敏感」的响应曲线。这三条曲线宽而重叠:
一束光进入眼睛后,会在 L/M/S 三个通道上各产生一个响应值 。
这三个数字就构成了大脑进行颜色计算的输入基础。
这就是所谓的三刺激理论:在正常视力下,三维就足以描述颜色,因为人眼只有三种独立的颜色通道。
亮度与色度:大脑如何把三通道信号变成「颜色」

从 L/M/S 到我们主观感受到的「亮度 + 色相 + 饱和度」,中间经过了复杂的神经处理。常见的高层抽象包括:
- 亮度(Lightness / Luminance):大致对应 L/M 锥体的总响应以及和环境的对比。
- 色度(Chromaticity):在剔除整体亮度后,剩下的信息决定了「是什么颜色」:
- 色相(Hue):是红还是绿、黄还是蓝,和不同通道之间的相对强弱有关;
- 饱和度/彩度(Saturation/Chroma):颜色看起来有多鲜艳,和色信号相对于无色(灰)的强度有关。

大量心理物理实验表明:
- 人眼对亮度 变化比对颜色变化更敏感,尤其在暗部;
- 不同色相区域的敏感度不同,例如对绿色附近变化最敏感,对极蓝或极红区域相对没那么敏感;
- 这也是后续 CIE 系色彩空间、感知均匀空间(如 CIELAB、CAM16)在设计时必须考虑的基础事实。
短波蓝光在物理上能量更高,既更容易引起视网膜光化学损伤,也更容易散射造成眩光;在生理上,蓝光会强烈刺激与昼夜节律相关的感光细胞,夜间大量蓝光让大脑误以为是「白天」,抑制褪黑素分泌、影响睡眠。「防蓝光模式」本质是削减特定短波段能量,同时整体色温偏暖。
手机/电脑的「护眼模式」「夜间模式」:截取蓝光 + 显示偏黄,读者可以对照自己设备的夜间模式体会色温变化。
人眼在绿色附近的亮度效率高,且在相同亮度下主观「刺眼感」相对较低;偏绿的浅色背景配合深灰/墨色文字,相比纯白底可减轻长时间阅读的眩光负担。墨水屏在有限对比度下,略偏暖、偏绿的默认底色能在可读性与舒适度之间取得折中。
各类阅读 App 的「护眼绿」主题,以及 Kindle 等墨水屏的默认底色,都是这一原理的日常应用。
同色异谱与颜色混合方式
同色异谱:光谱不同,颜色相同
在前面提到,人眼最终只通过三类锥体(L/M/S)的响应三元组 来「决定」看到什么颜色。
这会带来一个有点反直觉的现象——同色异谱(Metamerism):
- 两束光的物理光谱分布完全不同(不同波长上的能量分布不一样);
- 但在 L/M/S 三个通道上产生的响应几乎一样;
- 于是在人眼看来,它们会被感知为同一种颜色。
一个简单的直觉是:
光谱本质上是一个「高维的函数」,而人眼只有 3 个独立通道,相当于把高维信号挤压到 3 维。
在这个投影过程中,很容易出现「不同原始信号 → 相同 3 维坐标」的情况,这些就是同色异谱对。

典型例子:
- 显示器 vs 打印机
- 显示器像素靠 R/G/B 子像素自己发光,是加法混色;
- 打印机用青品黄黑(CMYK)墨水吸收一部分光,只反射剩下的,是减法混色;
- 两者形成的光谱形状完全不同,但在某个光源下可能刚好让人眼的 L/M/S 响应相同,看上去就「颜色一致」。
- 服装在不同灯光下的色差
- 在商场的暖黄灯下和室外日光下,同一件衣服反射出来的光谱会不同;
- 在某种光源下两件衣服看起来同色,换一个光源,人眼就能分辨出差别——这也是同色异谱在不同光源条件下「失配」的体现。
同色异谱提醒我们:
不能简单把某个设备的 RGB 值,当成「颜色的唯一真相」,
必须通过像 CIE XYZ、CIELAB、CAM16 这类基于「平均人眼观察者」的模型来做中立描述和转换。
加法混色(RGB):从黑到亮的颜色叠加
加法混色(Additive Mixing)是指:在一个本来漆黑的背景上,我们往里叠加更多光,亮度只会变大不会变小。典型场景包括:
- 计算机 / 手机显示器的 R/G/B 子像素;
- 舞台灯光、投影仪等用彩色光打在黑背景上。
在理想化的 RGB 模型中:
- 三个基色通道的数值越高,对应发出的光能量越大;
- 不同颜色的光叠加,会在光谱上「相加」,在人眼看来逐步从黑 → 彩色 → 白。
日常例子:
- 显示器上纯红(R=255, G=0, B=0)和纯绿(R=0, G=255, B=0)同时点亮,会得到偏黄的颜色;
- 把 R/G/B 三个通道都拉到最高(R=G=B=255),肉眼看到接近白色——因为三个通道都强烈响应,接近「全波段高能量」的感觉。
对前端 / 可视化工程来说,屏幕上的任何颜色最终都可以理解为三束 R/G/B 彩光的加法混合结果。
这也是为什么所有 Web 颜色规范(如 sRGB)都以 RGB 通道为基础。