为什么红色和紫色波长相差最大,但看起来却是相近的?

为什么红色和紫色波长相差最大,但看起来却是相近的?

这个问题太有趣啦!答案要到大脑如何表征颜色去找。

这个回答处理最“奇怪”的纯色光源情况(比如一个 405 纳米的激光),如果考虑复合蓝色和红色构成的紫色的话,原理是相近的,但就离开了“波长相差大,看起来却相近”的谜题。

首先明确和简化一下问题在哪里。我们考虑三个单光源,一个 400 纳米(“紫色”),一个 450 纳米(“蓝色”),一个 650 纳米(“红色”)。

已知:人类感知红色和紫色比红色和蓝色更像,光的物理属性(波长)则是蓝色比紫色更接近红色。那么为什么在人类的颜色感知和光子的物理属性之间,颜色的相近关系会发生反转呢?(注意,这两个都是客观描述;即使颜色是主观的,我们仍然可以客观测量人类对颜色关系的描述。)

要真正解决这个问题,我们需要了解人类(和许多类似的动物)色觉的原理,分好几步:

第一步是视网膜的三种视锥细胞对光刺激作出反应[1]

短中长三种光锥细胞吸收不同波长光子的相对概率。每种光锥的最大吸收峰定义为 1。图片来源[1]

在感光细胞这一层,对单色光的表征可简化为三个数字:S,M,L,分别对应每种感光细胞的相应程度。从这个图大概估算(非常不准确,对于我们的问题而言,具体数值不那么重要),三个颜色在视网膜的相对相应程度(考虑到视觉回路每个层级都有的平衡机制,这里假设每组数据加合为一)分别为:

紫色(400nm):[0.7, 0.1, 0.2] 。

蓝色(450nm):[0.6, 0.3, 0.1]。

红色(650nm):[0, 0, 1]。

有了这三组表征,我们还没有得到颜色。或者考虑我们的问题(主观颜色的相近程度),我们还不知道如何比较两个三维空间的点。直觉上,也许会猜测是两个点的欧几里得距离,但实际情况则并非这么简单。

视网膜内部有很复杂的回路,至今还没有研究清楚。但是对于颜色视觉而言,已经有比较成熟的模型可以告诉我们大概发生了什么。下一步是视网膜内部的颜色减法:

左:非色视觉,我们可以忽略。右:颜色减法回路

从上到下,这是从光锥细胞经过视网膜内的减法运算,将四种结果报告给皮层的一个模型[2]。最上边是三种感光细胞,最下方是计算出的四个颜色差值。我们对颜色的感觉是综合了四个运算的结果。这四个运算分别是:

红色来自于比较 (L+S) - M

绿色来自于比较 M - (S+L)

蓝色来自于比较 (M+S) - L

黄色来自于比较 L - (M+S)

细心的读者已经发现,红色和绿色正好相反,蓝色和黄色正好相反。也就是说,实际上两个数字可以描述我们的颜色视觉,即 红 - 绿,黄 - 蓝 [L+S-M, M-S-L]。 这一表征对应的颜色空间和我们常看到的颜色空间一样,也是二维的。

常见的二维颜色表征,注意左下角到右边是从蓝到黄,左上角到下边则是由绿到红。

回到开头的问题,我们可以计算三个颜色在这个空间的表征:

紫色(400nm):[0.7, 0.1, 0.2] -> [0.8, 0.6]

蓝色(450nm):[0.6, 0.3, 0.1] -> [0.4, 0.8]

红色(650nm):[0, 0, 1] -> [1, -1]

在红绿维度上,紫色(0.8)比蓝色(0.4)更接近红(1);在黄蓝维度上,紫色(0.6)和蓝色(0.8)都非常蓝,而红色非常黄(-1)。也许这就是为什么比起蓝色,紫色看起来更接近红色。

再次强调,具体数据并不重要,这个坐标也不是颜色坐标。从红绿 / 黄蓝的对比到颜色感觉仍然还有第三步不甚明白。

只是作为思想实验,这个例子已经可以说明紫色和红色相近的原因,似乎就在于长光锥细胞和中光锥细胞的相对反应,在~425nm 处有一个反转。