紅綠藍三色是(唯一的)正交基嗎?

看到資料說我們定義紅綠藍是光的三原色是因為人視錐細胞分別識別這三種顏色。
那麼撇開生物學意義,從數學上看,這三色是可見光顏色空間的一組基,因為能用它們的線性組合表示所有可見光的顏色且它們兩兩之間都是線性無關的。

那麼,問題是,它們是正交的嗎?(隱含的問題是,顏色的正交表現為什麼?)
不管這個答案是與否,我們都可以用其線性組合定義出一組新的(正交)基對吧?所以之所以定義紅綠藍為光的三原色,只有人類生物學上原因,而沒有數學上的原因?


首先回答題主的問題:RGB三原色不是唯一的正交基,還可以有其他選擇,只不過RGB能組合出來的顏色更為豐富。
人類的視覺是個很有意思的話題,即使在現在,仍然有一些沒有搞清楚的地方。比如,為什麼我們用RGB三原色就可以組合出幾乎所有能看到的顏色呢?有一種說法認為,這是因為人眼只有三種感知顏色的細胞(錐細胞),在 @王贇 Maigo 的答案里提到的那個曲線,就是人眼三種視覺細胞對不同波長光線的反應曲線。所以這種說法認為,既然只有三種感受顏色的細胞,那麼色彩的原色就是三種。
這聽起來是不是有點熟悉?是不是像一個線性空間表現出來的性質? @經常檢查節操的jc 的答案說(色彩空間)根本不是一個線性空間,這還是有大大的誤會的。在大量實驗基礎上,人們得到了格拉斯曼定律 Grassmann"s law (optics) 根據這個定律,顏色空間是滿足線性性質的。幺元很簡單就是數字1。那麼構成線性空間還需要幾個基本的條件:零元和加法逆元。
零元很簡單就是全黑,加法逆元是不好理解的,因為光線只能疊加,不能相減。也就是說在色彩空間裡面不存在「減法」。但是在實驗中可以定義一個變相的「減法」。
實驗中比較兩個顏色是否相等,是用兩個顏色的光分別照射兩塊用不透光隔板隔開的白色物體,如果人眼不能分辨差別,那麼認為兩個顏色相等。比如說一個顏色 C1 可以由 R1, G1, B1 三種顏色的光混合而成,是什麼意思呢,意思是用 C1 顏色的光照射一個白板的左邊,用 R1, G1, B1 三種顏色照射白板的右邊,中間用不透光隔板隔開,結果人眼看不出中間的分界線,認為兩邊是一樣的,於是我們認為 C1 = R1+G1+B1
在這個意義上,我們的「減法」,比如 C1-C2=C3 這樣的形式,可以轉化成 C1=C2+C3,也就是左邊照射 C1 的光線,右邊照射 C3 的光線,然後把 C2 的光線照射到右邊去,這樣就在實驗意義上有了「減法」的手段。
王贇的答案中提到

以人類為例,人類感受到的三原色的強度,可以理解成光的能量譜(光譜的模方)與上面圖中的敏感性曲線的內積

實際上確實如此,上面的格拉斯曼定律就是這個所謂「內積」的具體表現。在 CIE 定義的色彩空間中,通過「色匹配函數」來表現純光譜色的內積分量 CIE 1931 color space,在這個 wiki 頁面中大家可以看到色匹配函數是有小於零的值的,這就是通過上面那樣的「減法」定義出來的。

當然,為了在實際中使用,我們普通的 RGB 空間是將上述的 CIE 1973 色彩空間做了線性變換,得到一個所有分量都大於零的色彩空間。既然是線性變換,那麼得到的 RGB 空間仍然是一個線性的。
我在另一個答案 為什麼紅色和紫色波長相差最大,但看起來卻是相近的? 里提到過

那麼這些不同波長的光混合之後能呈現怎樣的顏色呢?根據實驗,我們假定人眼在顏色響應方面是線性的(Grassmann"s law (optics)),所以這些光混合之後所能呈現的顏色,就是這條曲線「內部」所代表的空間(更嚴謹一點叫做「凸組合」)。所以就有了舌形圖下部的那一條直線。也就是說,這條直線上的顏色,都不是單純的光譜色,都是混合出來的。
而我們的顯示器,則是在這個空間內部,選了三個點,來「圍住」儘可能大的面積。在這個三角形內部的顏色都是顯示器可以顯示的,而這個三角形外部的顏色則是顯示器顯示不了的。

這裡要強調一下是「凸組合」,因為光線沒有辦法相減,上面實驗中的「減法」也不過是一種變通,因此只能是凸組合(也就是圍出來的凸多邊形,不能到達凸多邊形以外的地方)
可見,只要在這個色度圖裡面任意取若干點,就能組成由這幾個頂點組成的凸多邊形內部所有的顏色了。之所以採用RGB三種顏色,從這張圖上也可以看出來,由這三種顏色圍出來的三角形能包含更多的顏色而已。
當然,為了實現更多的顏色,現在已經有很多四色的激光和OLED顯示器了,色彩表現比三色的要豐富很多。


要正交,得有內積吧,顏色的內積是什麼


不考慮人類視覺的特殊性時,我們平時所認為的「紅+綠=黃」之類的「顏色疊加」是不成立的。
因為紅色和綠色的單色光的混合只有在人類的視覺中才會跟黃色的單色光一樣,它們在其它動物的視覺中不一定是一樣的。
也就是說,不考慮人類視覺的特殊性時,不存在RGB顏色空間。

那麼顏色存在於怎樣的空間中呢?

如果僅考慮單色光,那麼顏色就由頻率(或波長)及強度兩個參數決定。由於兩個參數的量綱不同,就沒法討論正交。

如果考慮混合光,那麼顏色要用它的光譜來表示。光譜的橫軸是頻率(或波長),縱軸代表強度(振幅)。
例如,人類視覺的三原色的光譜大約是這個樣子(其實這是人類的三種視錐細胞對不同頻率色光的敏感性曲線):

光譜可以看成從頻率(或波長)到強度的函數,所以它們似乎構成一個無窮維的空間。
但是這裡還有問題:強度必須取非負值,而且不能直接疊加。
如果除了強度譜以外,同時考慮相位譜,這兩個問題就解決了:帶相位的強度可以在複數域內取任意值,而且可以直接疊加。
這樣,光譜就構成了一個無窮維的線性空間。所有頻率的兩個相位正交的單色光,構成它的一組正交基。當然,也可以看出來,討論到這個程度,顏色就跟視覺完全無關了,變成了一個純粹的物理學問題。
那如果要再回來討論視覺呢?
以人類為例,人類感受到的三原色的強度,可以理解成光的能量譜(光譜的模方)與上面圖中的敏感性曲線的內積
說內積也不準確,因為人類的視覺並不是線性的,光的能量增加到n倍,人的感覺不一定增強到n倍。
另外,模方本身也不是線性操作。所以,人類視覺的RGB空間,是光譜的無窮維空間經過非線性變換形成的三維空間的第一卦限的一部分(之所以說是一部分,是因為三種視錐細胞的敏感性曲線是有重疊的,不可能只激活一種色覺)。


其實並沒有天然的「顏色」概念,天然的概念只有波長。

是因為眼睛裡有三種細胞,所以人類才會有一個三維的「顏色」概念。顏色之所以是三維只是因為我們人類能收到的信號就這麼多了。所以說紅色+綠色的頻譜跟黃色其實是不同的,之所以我們看起來兩者一樣只是因為眼睛的細胞種類不夠多……

如果人類有四種對不同波長敏感的視覺細胞的話,譬如說還有個黃色細胞,那麼我們就不再會覺得紅色+綠色恰好等於黃色,我們會覺得這根本就是兩個維度的事情,於是我們的顏色空間就自然地變成四維了……


看過了提問與回答,題主想問的可能是兩個問題:

  1. 紅綠藍三色是不是正交關係?
  2. 如果是,是不是唯一的?

下面談談自己的看法:

  • 泛泛地談紅綠藍是沒有意義的,必須首先確定一種紅綠藍。例如,CIE在推導1931顏色匹配函數時用的紅綠藍,或在計算機與印刷應用中廣泛使用的sRGB及AdobeRGB標準中定義的紅綠藍。
  • 對於上述標準中的紅綠藍三色,可以理解為是正交的。因為這些紅綠藍三色之間中的任一種顏色都不能由混合其他兩種顏色得到,或者說任意兩種相加都無法得到第三種,在任何一個向量空間中,如果三個向量滿足這種關係,就可以認為它們是線性無關的。而顏色空間(colour space)可以認為是向量空間,當我們把這三個顏色當作顏色空間的基,來構建一個顏色空間(如RGB空間)時,三個坐標軸即是正交的。
  • 出於不同的目的,工業界定義了很多RGB標準,除了上面說的兩種,如NTSC、ACES、ITU-R BT.2020等影視行業的標準也都定義了各自的紅綠藍。數學上有無限多種定義紅綠藍三基色顏色空間的方法。@個分給 提到,四個基色可以混合出更多顏色,同理,也有無限多種四基色顏色空間可以選擇。現實中,一些基色無法通過簡單的手段重現,還要受到材料性能、成本的影響,所以基色的選擇受到了一些限制。因此,針對第二個問題的答案是:不唯一

要談正交基,需要先在顏色空間中定義內積。
另外,我不太清楚顏色之間的疊加是按照什麼規則進行的,僅僅是波的疊加嗎?如果在這種意義下,需要對波定義內積然後看RGB是否在此內積下正交。不過我感覺應該不是唯一的。
————————
一個數學系孩子的看法


這裡實際上有一個巨大的問題:人眼的三種細胞對光線的感知,甚至都不是正交的:並不存在一個波長只讓其中一種細胞反應。

使用紅綠藍三個顏色,只是用了那三種細胞的感光峰值,滿足絕大部分要求不高的場合而已。實際上,如果想達到很嚴格的要求,用五六個波長的發光器件可能還差不多。就像印刷品那樣,理論上只用品紅、黃、青就可以拼湊出來,然而實際上會用更多的顏色(當然,這也和減色顏色拼湊時會損失亮度有關係,發光的加色顏色這方面的問題要輕微得多)。

非常期待六色的顯示器。


這根本不是線性空間吧


是唯一的一組基。轉維基:

三原色的原理不是出於物理原因,而是由於生理原因造成的。人的眼睛內有幾種辨別顏色的錐形感光細胞,分別對黃綠色、綠色和藍紫色(或稱紫羅蘭色)的光最敏感(波長分別為564、534和420納米),如果辨別黃綠色的細胞受到的刺激略大於辨別綠色的細胞,人的感覺是黃色;如果辨別黃綠色的細胞受到的刺激大大高於辨別綠色的細胞,人的感覺是紅色。雖然三種細胞並不是分別對紅色、綠色和藍色最敏感,但這三種光可以分別對三種錐形細胞產生刺激。

不同的生物眼中辨別顏色的細胞並不相同,例如鳥類眼中有四種分別對不同波長光線敏感的細胞,而一般哺乳動物只有兩種,所以對它們來說只有兩種原色光。

既然「三原色的原理不是出於物理原因,而是由於生理原因造成的」,那麼前段所說的「用三種原色的光以不同的比例加和到一起,形成各種顏色的光」顯然就不大合適。使用三原色並不足以重現所有的色彩,準確地說法應該是「將三原色光以不同的比例複合後,對人的眼睛可以形成與各種頻率的可見光等效的色覺。」只有那些在三原色的色度所定義的顏色三角內的顏色,才可以利用三原色的光以非負量相加混合得到。

例如,紅光與綠光按某種比例複合,對三種錐狀細胞刺激後產生的色覺可與眼睛對單純的黃光的色覺等效。但決不能認為紅光與綠光按某種比例複合後生成黃光,或黃光是由紅光和綠光複合而成的。


-------------------------------------------------

所以紅綠藍是對視覺細胞「分別」起作用的唯一的一組基。


我不需要懂任何人眼構造不需要懂任何美術不需要懂任何光學,我就可以回答你的問題。
從基礎的線性代數知識可以得知正交基的任何UNITARY變化都是正交基,正交基不可能唯一。


確切的說,不是。紅綠藍是加色三原色,應用在彩色顯示屏。而繪畫、印刷領域用的是減色三原色,即品紅「Magenta」、青「Cyan」、亮黃「Yellow」。加減三原色互為互補色。
加色三原色是光線的混合,混合結果是越來越亮,直至全白。
減色三原色是物理的混合,物體依靠吸收對比色來反射所需顏色,混合結果是越混合吸收越多,顏色越灰越暗,直至全黑。
之所以會在這些領域選擇這些三原色,原因非常簡單,因為這三種顏色都無法用其它任何顏色調配出來,就算能調配出來也達不到最高的純度。


不是。按照Frank Wilczek引用Maxwell(就是發現電磁方程的麥克斯韋)的發現,光學「三原色」可以是光譜中的任何顏色。(佔個地,手機回答諸多不便,以後可以編輯時再具體引述。)

首先,光的顏色是我們對不同頻率/波長光線的直觀感受。而感覺是由視覺神經的三種不同接收器決定的。於是我們的器官,雖然不能直接感知光頻率(比如耳朵與聲波共振是直接分析信號頻率的),能將連續的可見光譜(無限維度)對應成一個顏色的三維空間。任何可見光譜的組合就被視覺器官分解成三種接收器不同比例的信號混合。

這裡需要區分的是光的感官顏色(perceptive color)和光譜顏色(spectral color)。後者是光的真實頻率信息。前者是我們大腦對視覺器官對所接收光信號的三種程度比例的直觀感受。

因此,理論上只要任意三種可見光譜顏色,都可以混合成整個感受上的可見光譜(比如通常說的一百萬種不同顏色,所以還不是一個連續空間)。

要驗證這個說法,可以製作一個能像陀螺一樣旋轉的麥克斯韋色盤(下圖)。和牛頓色盤不同,它只需三種顏色。下圖是一個標準的「紅藍綠」色盤(三種顏色比例一樣,高速旋轉看到的感官顏色應該是白色)。大家可以試下其他顏色組合。然後,要達到不同感官顏色,可以用色盤上不同顏色比例可以用不用顏色所佔弧長比例來調配。

(麥克斯韋色盤。來源:http://mycolordoc.com/archives/428)

另外,色盲通常可以理解為是光學顏色空間的二次元生物。他們比普通人少一種接收器。人類也有極少數有四種接收器,而對顏色色差非常敏感的。

最後,老生常談的皮皮蝦有12-16(因為皮皮蝦有多種)種接收器。那麼它們的色彩感覺應該很不同。對於它們,LED屏幕每個發光單位就需要12-16種不同光譜顏色才能模擬它們的色彩感官。造個4K屏就會需要更強的納米/微米製作工藝。


推薦本書吧,講的非常好,數學上也很嚴謹。

The Structure and Properties of Color Spaces and the Representation of Color Images

簡單的說,顏色空間實際上是個 quotient space, 是光譜空間模一個equivalence relation, 後者由視覺決定。


RGB不是三原色是三基色


也許只是進化過程中的局部最優解,說不定外星人就進化出其他正交基,或者更高維度的色彩空間。奇點到來後,顏色空間只是一個信息處理模型了,可以隨意設計。然後每種顏色空間下的機器人都形成了自己的色彩藝術。


現在大部分電子產品是使用RGB三原色,不過顏色的更精確復現可以使用多段光譜,比如RGBW的面板,多光譜相機等。


推薦閱讀:

奇异值的物理意义是什么?

TAG:數學 | 顏色 | 代數 | 線性代數 |