为什么红色,绿色和蓝色构成所有颜色?


17

为什么红色,绿色和蓝色的组合可以构成所有可见的颜色?


12
它们并不能弥补所有的颜色。它们只是构成了足够的范围,因此大多数场景都可以用可接受的保真度来表示。
彼得·格林

6
因为人类的眼睛有红色,绿色和蓝色的接收器。
user253751

2
这对于生物学堆栈交换(如果有的话)会更好,因为与计算机图形学相比,这是关于人类视觉系统的更多问题。
mathreadler '17


4
显然,至少有一个四色女人(见en.wikipedia.org/wiki/Tetrachromacy)能够比我们三色女人区分更多的颜色。
比尔·贝尔

Answers:


23

让我们提醒自己什么是光。

无线电波,微波,X射线和伽马射线都是电磁辐射,它们的频率不同。碰巧的是,人眼能够检测到〜400nm至〜800nm之间的电磁辐射,我们将其视为光。400nm端被视为紫色,而800nm端被视为红色,中间是彩虹色。

光线可以是这些频率中的任何一个的混合,并且当光与物质相互作用时,某些频率会被吸收,而另一些则可能不会:这就是我们认为周围物体的颜色。但是与耳朵不同,耳朵能够区分很多声音频率(听歌时我们可以识别出各个音符,声音和乐器),而眼睛却无法分辨每个频率。它通常只能检测四个频率范围(存在诸如道尔顿主义或突变的例外)。

这发生在视网膜上,那里有几种感光。第一种称为“ ”,可以检测可见光的大多数频率,而无法区分它们。他们对我们对亮度的感知负责。

第二种类型的感光器,称为“视 ”,存在三个专业领域。它们检测的频率范围较窄,其中一些对红色附近的频率更敏感,一些对绿色附近的频率更敏感,最后一个对蓝色附近的频率更敏感。

因为它们检测到一个频率范围,所以它们无法分辨出该范围内的两个频率之间的差异,也无法分辨出单色光和该范围内的频率混合之间的差异。视觉系统仅具有来自这三个检测器的输入,并使用它们重建颜色感知。

因此,眼睛无法分辨可见光的所有频率所产生的白光与仅红色绿色和蓝色光的简单混合之间的区别。因此,仅用三种颜色,我们就可以重建我们可以看到的大多数颜色。

顺便说一句,棒比锥体要敏感得多,这就是为什么我们在晚上看不到颜色的原因。


5
“因此,只有三种颜色,我们可以重建所有可见的颜色。” 这句话是不正确的。从三个原色开始,您只能重建某些颜色。可以重建的颜色范围称为“色域”。您可以搜索“ sRGB色域”,并找到在较大抛物线内显示三角形的图片。三角形代表我们可以从sRGB原色生成的颜色,而抛物线就是我们可以看到的所有颜色。从这个很明显,任何抛物线三角形内会比它小。
Dietrich Epp

哇,你是对的。我已将“全部”替换为“大多数”,并将尝试为剩余的可见颜色做出解释。
Julien Guertault

4
同样,白光的概念也受我们真正喜欢的白平衡系统支配,无论它是什么颜色,它都会被视作白色。白炽灯泡是橙色的,但是如果我们在屋子里,我们会以白色为准。至于额外的颜色,如果您将颜色分布的能量乘以棘轮怪胎曲线,您会发现有时会收到独特的信号,因为重叠是不同的。
joojaa

20

他们没有。

表示可见色域和RGB色域的图的问题在于它们显示在RGB显示器上。他们显然无法告诉您什么,而他们却无法告诉您:抛物线内部但三角形外部的区域。

RGB色域

三角形外部的区域无法如实显示在屏幕上。例如,RGB无法显示真实的深青色。您所看到的只是使用绿色和蓝色的近似值。有些图表甚至没有尝试,仅显示灰色区域:

在此处输入图片说明

要查看青色的外观,您可以凝视此图上的白点至少30秒(建议2分钟),然后将头慢慢移向白墙:

蓝幻觉

同样,RGB显示不能显示深的饱和橙色或棕色。


2
@narthex:感谢您的评论。我更新了答案。现在好些了吗?
艾里克·杜米尼尔

1
而且,(注视着最后一个图像)红色圆圈在跳动。有趣

4
CIE色彩空间图的问题在于它们很难理解,甚至我们都不知道图中的某些区域是否恰巧构成了异构体。同样,您不能简单地制作一个更大的三角形的原因也并不明显(在形状之外没有任何东西)。
joojaa


5
太好了,现在我的视线中间有一个青色点:-(
凯文(Kevin)

17

人类是三色的,这意味着我们有3种不同的颜色接收器(最好称为视锥细胞),每种颜色接收器都对不同的波长敏感:

不同视锥细胞的频率响应
图片来源:Wikipedia

因此,只需3种不同的单色刺激就可以使我们的眼睛误以为它看到的颜色与另一种相同。红色,绿色和蓝色非常适合每种类型的颜色接收器的频率响应曲线的峰值。


但是..有些人是四色体:) en.wikipedia.org/wiki/
wip 19'Aug

4

还有一件事:“紫色”和“紫色” 不是同一颜色。 紫是400 nm左右的纯色。但是紫色是红色和蓝色的组合。在我们不十分完美的人眼中,它们看起来一样。

如果您将纯紫光束通过三角棱镜,则光线将弯曲但不会分解为多个分量。然后,如果您通过同一棱镜照射一束紫色光束,则它将分为蓝色光束和红色光束,并且它们的弯曲量不同。


取决于您所说的“颜色”。在许多情况下,如果没有人能看到表面上两个不同色块之间的差异,那么两个色块必须具有相同的“颜色”是很有意义的。另一方面,当画家说“颜色”时,他或他正在谈论他/她将画笔浸入的物理物质。在这种情况下,请参见en.wikipedia.org/wiki/Metamerism_(color)#Metameric_failure
Solomon Slow

1
@jameslarge:确实没有。仅仅因为它们在一个光源下看起来相同,并不意味着即使在白色表面上两个光源看起来相同,在不同的光源下它们也会看起来相同。
R .. GitHub STOP HELPING ICE

我认为这不会以任何方式回答问题。它也适用于任何颜色-不仅是紫色和紫色。从红色到紫色的任何单色光都不会被棱镜分开,任何混合光都会被分开。
达伍德表示应

4

他们没有。除了其他人没有提到的物理原因外,从实用的计算机图形学角度来看,用RGB颜色表示表面颜料或光源不足以对场景的彩色照明进行建模。例如,没有办法表示仅在窄带中是半透明或反射性的材料。您只能代表与人眼所看到的红色,绿色和蓝色锥体大致对应的宽带的半透明或反射率。实际上,这对于粉红色/紫色/紫色系列中的许多实际颜色很重要,它们在不同类型的光下看起来根本不同,甚至在白色表面上看时看起来相同的不同“白色”光也是如此。


1
一个常见的例子是准单色钠蒸气灯,这种灯通常用于城市灯,在现实中看起来总是和照片上有所不同。
Julien Guertault '17

但是这些是附带问题,我认为非常高级。在大多数情况下,问题并没有实现,RGB只是傅立叶编码,某些信号的3个谐波恰好在大多数情况下就足够了。
v.oddou

@JulienGuertault:虽然这是一个很好的例子,但我认为这并不是我的答案所指出的一个例子-只要您的光电传感器/胶片对3种成分的光的响应与人眼完全匹配,就应该忠实地代表人类会看到的东西。RGB(或将频谱的整个范围集中在一起的任何其他模型)不足之处在于,实际上无法以可以预测表面上感知到的颜色的方式对表面和光源进行建模。
R .. GitHub停止帮助ICE,2017年

@ v.oddou:“我不在乎,看起来还不错”是一个合理的立场,但确实有所不同。您将无法模拟墙壁的颜色在日光,白炽灯和led灯下的色温看起来应该与另一种相同。
R .. GitHub停止帮助ICE

嗯,我可能误会了。您是否有具体示例说明所指的限制?
Julien Guertault
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.