RGI/RGV=Red,Green,Indigo/Violet
RYB=Red,Yellow,Blue
紅(Red):#FF0000(Hue=0°) 黃(Yellow):#FFFF00(Hue=60°) 綠(Green):#00FF00(Hue=120°) 藍(lán)(Blue):#0080FF(Hue=210°) 靛/藍(lán)紫(Indigo/Violet):#0000FF(Hue=240°)
紅??綠??靛/藍(lán)紫
紅?黃??藍(lán)
黑??????白??????灰
紅(Red):#FF0000(Hue=0°) 橙(Orange):#FF8000(Hue=30°) 黃(Yellow):#FFFF00(Hue=60°) 綠(Green):#00FF00(Hue=120°) 青/藍(lán)綠(Cyan):#00FFFF(Hue=180°) 藍(lán)(Blue):#0080FF(Hue=210°) 靛/藍(lán)紫(Indigo/Violet):#0000FF(Hue=240°) 紫(Purple):#FF00FF(Hue=300°)
黑(Black):#000000(Hue=undefined) 白(White):#FFFFFF(Hue=undefined) 灰(Gray/Grey):#808080(Hue=undefined)
寫這篇博文的動(dòng)機(jī)
??在美術(shù),繪畫領(lǐng)域,用的最廣泛的色相環(huán)就是RYB(紅黃藍(lán))色相環(huán)。將紅黃藍(lán)作為三原色有著悠久的歷史,中國自古以來就有"青赤黃白黑"五正色的說法,除去黑白兩色,現(xiàn)在我們常說的紅黃藍(lán),在古文中,就是寫作赤,黃,青(日語中至今還保留著這種寫法)。同時(shí)這五種正色也分別對(duì)應(yīng)五行中的“木火土金水"。正如世間萬物由五行組成一樣,古人認(rèn)為由這五種基本顏色,可以組成各種各樣的顏色,組合得到的顏色被稱為"間色"。
??雖然現(xiàn)代科學(xué)研究表明,這三種顏色作為三原色并不嚴(yán)謹(jǐn),加法三原色(基于人眼)為紅(R),綠(G),藍(lán)紫(I)(Indigo的簡稱,Indigo源自牛頓的七色說法(ROYGBIV),稱為靛色,屬于Blue的一種,但又略有區(qū)別),減法三原色(基于反射光)為湖藍(lán)(C),玫紅(M),檸檬黃(Y)(見備注2,RYB不等于CMYK,兩者有一定的區(qū)別),但是由于其在藝術(shù)作品中被廣泛應(yīng)用,有久遠(yuǎn)的歷史,并且符合人類心理上的認(rèn)知,比如在間色,互補(bǔ)色,以及顏色分布等方面符合人的心理,因此它在藝術(shù)領(lǐng)域至今仍扮演者重要的角色,發(fā)揮著重要的作用。
??比如說紅黃藍(lán)的三間色是橙綠紫,它們構(gòu)成了六種基本顏色,即紅橙黃綠藍(lán)紫。在心理上,左邊三個(gè)顏色是暖色,而右邊三個(gè)顏色是冷色,冷暖色分布比例正好是1比1,非常平均,左邊三個(gè)顏色與右邊三個(gè)顏色恰為互補(bǔ)色,左暖右冷,正好形成了對(duì)比。而RGB(RGI/RGV)的三間色是黃色,青色(水色),紫色,六種基本顏色則分別為紅黃綠青靛紫。青色和靛色都是介于兩種顏色之間的顏色,生活中并不怎么常用,這六個(gè)顏色中,左邊的三個(gè)顏色和右邊的三個(gè)顏色不是嚴(yán)格的互補(bǔ)色,比如紅色對(duì)應(yīng)的青色(水色),比綠色偏藍(lán),紫色則對(duì)應(yīng)成了綠色,但實(shí)際上應(yīng)該是黃色,導(dǎo)致出現(xiàn)冷色對(duì)冷色的現(xiàn)象。因?yàn)檫@六個(gè)顏色中,只有紅黃兩個(gè)顏色是暖色,其余的四個(gè)顏色都是冷色,冷暖色比例為2比1,十分不平衡,與心理學(xué)原理相悖。這也就證實(shí)了紅黃藍(lán)三原色符合心理認(rèn)知這一觀點(diǎn)。
??RGB三原色則是發(fā)光的三原色(嚴(yán)格地說是RGI,I
是Indigo,即靛色(紫藍(lán)色)(類似于顏料中的群青),因?yàn)镽GB中的B偏向紫色一端,雖然屬于Blue,但不是最正宗的Blue,也有少數(shù)的RGB LED里用的藍(lán)色是更加偏紫的紫羅蘭色,把B稱為V(Violet)的,即RGV,如果將靛色(RGI/RGV色相240°附近)的飽和度降低,可以發(fā)現(xiàn)其顏色明顯變紫,比如#8080FF和#6666CC),這是考慮到人眼的視覺特性而設(shè)計(jì)的(后文會(huì)提到)。在電子圖像,計(jì)算機(jī)圖形領(lǐng)域,由于顯示器屬于物理光學(xué)設(shè)備,因此RGB(RGI/RGV)(紅綠靛/紅綠[藍(lán)紫])模型更加常見(RGB(RGI/RGV)中的B(I/V)為紫藍(lán)色,簡稱靛,是為了與RYB中的,更正宗的藍(lán)色相區(qū)分),這就導(dǎo)致了對(duì)應(yīng)的RGB(RGI/RGV)色相環(huán)更加常見(如Photoshop之類的許多軟件的色環(huán)就是這樣設(shè)計(jì)的),而RYB色相環(huán)卻常常被忽略,但是真正符合人類心理學(xué)認(rèn)知的色相環(huán)應(yīng)該是RYB色相環(huán),RGB(RGI/RGV)色相環(huán)存在很大的問題,那就是顏色分布不均勻,在橙黃色區(qū)域范圍過于狹小,而在綠色和紫色區(qū)域范圍過大,也就是暖色區(qū)域小而冷色區(qū)域大(暖少冷多),與人類心理認(rèn)知不符。
??因此,我們需要用一個(gè)更加合理的三原色和色相環(huán)代替RGB(RGI/RGV)色相環(huán),而這個(gè)色相環(huán),就是美術(shù)中的RYB(紅黃藍(lán))色相環(huán)。找到了這個(gè)系統(tǒng),下面我們需要做的就是找出它與RGB(RGI/RGV)系統(tǒng)的對(duì)應(yīng)關(guān)系,也就是找到一個(gè)公式進(jìn)行兩者之間的轉(zhuǎn)化,從而能定量地對(duì)RYB色相環(huán)進(jìn)行描述,進(jìn)而進(jìn)入到實(shí)際應(yīng)用中。
??注:RYB色相環(huán)又名伊登色相環(huán),它是由著名的美術(shù)和色彩學(xué)大師美國籍教師約翰斯·伊登(Johannes Itten,1888~1967)所著"色彩論"一書而來。它的設(shè)計(jì)特色是以三原色作為基礎(chǔ)色相,這種色相環(huán)中每一個(gè)色相的位置都是獨(dú)立的,區(qū)分得相當(dāng)清楚,排列順序和彩虹以及光譜的排列方式是一樣的。這些顏色相鄰間隔都一樣,共有6~12個(gè)互補(bǔ)色對(duì),分別位于直徑對(duì)立的兩端,發(fā)展出12~24色相環(huán)。
?在Photoshop里因?yàn)槭枪饣?白色-紅色=青色,但不是說紅色跟青色是補(bǔ)色,它們只是在Photoshop和光混里是補(bǔ)色,但是用在色彩搭配上并不是補(bǔ)色,紅色真正的補(bǔ)色是綠色。
補(bǔ)充:現(xiàn)在廣為流傳的RGB(RGI/RGV)色相環(huán)圖,在顏色的命名方面,也存在諸多問題(bug),問題如下:
1.300°對(duì)應(yīng)的紫色寫成了"品紅"(備注1中會(huì)提到這個(gè)問題,品紅的真實(shí)色相在330°附近,而不是300°)。
2.210°和240°對(duì)應(yīng)的顏色分別寫成靛色和藍(lán)色,事實(shí)上靛色應(yīng)該排在藍(lán)色的后面。這可能是受到三原色藍(lán)的影響,三原色的藍(lán)(240°)并不是最正宗的藍(lán),而是偏紫的靛藍(lán)色(紫藍(lán)色)(Indigo)。最正的藍(lán)色是210°的藍(lán)(Blue),240°則是靛藍(lán)色(紫藍(lán)色,飽和度降低后紫色更加明顯,比如#8080FF和#6666CC)。也就是說把這兩個(gè)顏色的位置搞反了。
3.270°對(duì)應(yīng)的藍(lán)紫色(堇色)(Violet)寫成了紫色(Purple),這也是受到了"品紅"這個(gè)誤稱的影響(詳見備注1)。事實(shí)上270°的Violet是偏藍(lán)的紫色,也就是像紫外線燈里混入了藍(lán)光的那種紫色。而紫色(Purple)對(duì)應(yīng)的是300°,也就是在1中說的被很多人誤稱為了"品紅"的那個(gè)地方,而這里對(duì)應(yīng)的其實(shí)并不是"品紅",恰恰就是紫色(Purple)。
幾個(gè)基本概念
色相(Hue):色相是反映顏色種類的物理量,一般用字母H表示,單位是度(°),取值范圍一般是0°~360°(不包括360°),在本文中,將RGB(RGI/RGV)系統(tǒng)中的色相用大寫字母H表示,將RYB系統(tǒng)中的色相用小寫字母h表示
純色(Soild Color):顏色的三個(gè)分量只能為0或最大值(一般是255),即三原色+三間色+黑白
RGI/RGV色相環(huán)八純色:紅 黃 綠 青 靛 紫 黑 白
RYB色相環(huán)八純色:紅 橙 黃 綠 藍(lán) 紫 黑 白
RYB色相環(huán)中的橙色,藍(lán)色比RGI/RGV色相環(huán)中的青色,靛色更加常用,RYB色相環(huán)的原色和間色比RGI/RGV色相環(huán)更符合人類對(duì)顏色的感知,因此更加合理。
冷色和暖色(Cool/Cold Color & Warm Color):
??冷色(Cool/Cold Color):使人感到寒冷,涼爽,平靜,空曠,開闊,通透的顏色,往往使人產(chǎn)生收縮感(縮小感)。主要包括綠色,藍(lán)色,紫色,有時(shí)也包括黑白灰,因?yàn)樽匀唤缰刑炜?海洋,森林,水,冰,雪等透射的光傾向于這些顏色(在物理上它們主要吸收低頻光(紅橙光),反射高頻光(藍(lán)紫光)),而它們總是與寒冷或涼爽相關(guān)聯(lián)。在物理上,冷色指頻率較高的光,或者對(duì)應(yīng)著較高的色溫。
??暖色(Warm Color):使人感到熾熱,溫暖,激烈,熱烈,緊張,不通透的顏色,往往使人產(chǎn)生膨脹感(擴(kuò)大感)。主要包括紅色,橙色,黃色,棕色(褐色/咖啡色),有時(shí)也包括偏暖(偏棕偏黃)的黑白灰,因?yàn)樽匀唤缰刑?火焰,熔巖,血液,大地,泥土等傾向于這些顏色(在物理上它們主要吸收高頻光(藍(lán)紫光),反射低頻光(紅橙光)),而它們總是與熾熱,溫暖,或是強(qiáng)壯相關(guān)聯(lián)。在物理上,暖色指頻率較低的光,或者對(duì)應(yīng)著較低的色溫。
??中性色(Neutral Color):介于暖色和冷色之間的顏色,有時(shí)指黑白灰,也有時(shí)指黃綠色,或者紫紅色。它們通常不會(huì)直接給人寒冷或溫暖的感受,需要根據(jù)其他顏色的搭配來判斷冷暖傾向,在不同的環(huán)境下,會(huì)呈現(xiàn)出不同的屬性。
互補(bǔ)色(Complementary Color):色相差為180°的兩個(gè)顏色
美術(shù)界公認(rèn)的三對(duì)互補(bǔ)色:紅?綠 橙?藍(lán) 黃?紫 (左邊是暖色,右邊是冷色)
RYB色相環(huán)的互補(bǔ)色與之正好相符,而RGI/RGV色相環(huán)則偏差較大(紅?青藍(lán) 橙黃?藍(lán)(唯一的相符) 黃?藍(lán)紫(大致相符) 綠?紫)
下面兩點(diǎn)許多的人都容易混淆,一定要注意區(qū)別!
??光學(xué)互補(bǔ)色(Optical Complementary Color):RGB(RGI/RGV)色相環(huán)上色相差為180°的兩個(gè)顏色,兩者疊加后可以得到白色,物質(zhì)吸收其中一種顏色的光會(huì)呈現(xiàn)出對(duì)應(yīng)的另一種顏色,如:紅?青(綠藍(lán)),橙~金黃?藍(lán),檸檬黃?藍(lán)紫,綠?紫,春綠~玫紅
??美術(shù)互補(bǔ)色(Artistic Complementary Color):RYB色相環(huán)上色相差為180°的兩個(gè)顏色,也可簡稱為互補(bǔ)色(Complementary Color),視覺反差最大的兩種顏色,常運(yùn)用于藝術(shù)設(shè)計(jì)和色彩搭配中,如:紅?綠,橙?藍(lán),黃?紫
聲與光的物理學(xué)原理
??聲音是一種機(jī)械波(Mechanical Wave),它有振幅(響度),頻率,音色等屬性,其中的頻率決定著聲音音調(diào)的高低(與冷暖,能量感等感覺成反比),頻率越低,音調(diào)越低,聽起來越有熱情,熾熱,激動(dòng)而有活力的感覺(有時(shí)候也稱為暖聲(Warm sound)),頻率越高,音調(diào)越高,聽起來越有冰涼,陰冷,堅(jiān)硬而缺乏能量的感覺(有時(shí)候也稱為冷聲(Cool sound)。人耳對(duì)聲音的感知存在一個(gè)范圍,頻率在20~20000Hz之間,超過這個(gè)范圍便聽不見,如果頻率低于20Hz,則稱為次聲波(Infrasound),如果頻率高于20000Hz,則稱為超聲波(Ultrasound)。
??與聲音類似,光波是一種電磁波(Electromagnetic Wave),它也有振幅(強(qiáng)度),頻率,不同的頻率決定了光線顏色的不同,頻率越低(色溫越低),感覺越溫暖,頻率越高(色溫越高),感覺越寒冷。(色溫指顏色對(duì)應(yīng)的黑體輻射中黑體的溫度,與頻率成正比,不是感知上的冷暖溫度,如藍(lán)色色溫比紅色高)。人眼對(duì)光波的感知也存在一個(gè)范圍,頻率在385~790THz之間,超過這個(gè)范圍就不可見,頻率低于385THz為紅外線(Infrared),高于790THz則為紫外線(Ultraviolet)。
??類似于音樂中的音高(Pitch),反映了聲音的頻率高低,美術(shù)中的色相(Hue),反映的就是顏色的種類,也就是與之等價(jià)的可見光的頻率高低。
??有關(guān)聲音和光的冷暖感的詳細(xì)介紹,可以參見我的一篇博文:
??鏈接:(原創(chuàng))[聯(lián)覺]震驚!聲音也有溫度和冷暖?什么是冷聲和暖聲?無處不在的聯(lián)覺,色彩、聲音的頻率與溫度之間的通感,色彩和聲音的冷暖(類比冷色和暖色) - 固態(tài)二氧化碳的博客 - CSDN博客
可見光譜,光的顏色與頻率,波長,色相對(duì)應(yīng)關(guān)系表
可見光顏色 | 紅(Red) | 橙(Orange) | 黃(Yellow) | 綠(Green) | 青/綠藍(lán)(Cyan/Greenish Blue) | 藍(lán)(Blue) | 靛/紫藍(lán)(Indigo/Purplish Blue) | 藍(lán)紫(Violet/Bluish Purple) | 紫(Purple) |
---|---|---|---|---|---|---|---|---|---|
中心頻率 f/ν(THz) | 450(極限385) | 500 | 520 | 560 | 610 | 640 | 690 | 740 | (極限)790(微弱) |
中心波長 λ(nm) | 660(極限780) | 600 | 580 | 530 | 490 | 470 | 435 | 405 | (極限)380(微弱) |
色相(RGB/RGI/RGV) H(°) | 0 | 30 | 50 | 120 | 180 | 210 | 240 | 280 | 300 |
色相(RYB) h(°) | 0 | 60 | 105 | 180 | 210 | 240 | 270 | 290 | 300 |
←波長增加,頻率降低,色調(diào)變暖 | 波長減少,頻率升高,色調(diào)變冷→ |
?
電子設(shè)備中的RGB(RGI/RGV)(Red,Green,Indigo/Violet)三原色發(fā)光系統(tǒng)中的三原色波長分別是640nm,550nm,435nm,頻率是470THz,545THz,690THz,對(duì)應(yīng)的顏色是紅色(Red),綠色(Green),靛藍(lán)色(紫藍(lán)色)(Indigo/Violet)
之所以選擇紅,綠,靛作為發(fā)光的三原色,是因?yàn)槿搜蹆?nèi)有三種視錐細(xì)胞,分別對(duì)低頻(紅色),中頻(綠色),高頻(藍(lán)紫色)光波敏感,任何頻率的光射入人眼后都會(huì)變成這三種細(xì)胞的響應(yīng)程度,進(jìn)而感覺到不同的顏色。比如強(qiáng)度為2的,頻率為450THz的紅光,和強(qiáng)度為1,頻率為560THz的綠光共同射入人眼后產(chǎn)生的三種視錐細(xì)胞的響應(yīng),與強(qiáng)度為3,頻率為500THz的橙光產(chǎn)生的三種視錐細(xì)胞的響應(yīng)是相同的,所以人感覺到的顏色也是一樣的,因此對(duì)于人而言,這兩種光線幾乎是等價(jià)的。所以我們可以用三種光線不同比例的混合,來代替不同頻率的單色光,在硬件方面,設(shè)計(jì)起來也更加方便。
(這里有一個(gè)細(xì)節(jié)要注意,對(duì)高頻敏感的視錐細(xì)胞感受的顏色是藍(lán)紫色(頻率約690THz),而不是比較正宗的藍(lán)色(蔚藍(lán)色)(頻率約640THz),所以RGB中的藍(lán)色(B)用的是靛藍(lán)色(偏紫色)(690THz),而不是正宗的藍(lán)色(640THz))
下面進(jìn)入正題
??RGB三原色是計(jì)算機(jī)發(fā)光的三原色,符合物理光學(xué)原理,然而,RGB色相環(huán)存在很大的問題,那就是顏色分布不均勻,在橙黃色區(qū)域范圍過于狹小,而在綠色和紫色區(qū)域范圍過大,與人類心理認(rèn)知不符。
??此外RGB色相環(huán)的互補(bǔ)色(色相差為180°的兩個(gè)顏色)也存在問題,紅色的互補(bǔ)色為青色(綠藍(lán)色,水色)(真實(shí)的互補(bǔ)色是綠色),而紫色的互補(bǔ)色為綠色(真實(shí)的互補(bǔ)色是黃色)。
??為了改善這一問題,改用美術(shù)中常用的RYB三原色設(shè)計(jì)色相環(huán)(更符合心理學(xué)原理),其中的B修正到RGB(RGI/RGV)中色相為210°的位置(#0080FF),也就是把Indigo修正為最正宗的Blue,RYB三原色分別對(duì)應(yīng)RYB色相環(huán)的0°,120°,240°的位置(對(duì)應(yīng)RGB(RGI/RGV)色相分別為0°,60°,210°),三間色則為OGP(Orange,Green,Purple),位于RYB色相環(huán)60°,180°,300°的位置(對(duì)應(yīng)RGB(RGI/RGV)色相分別為30°,120°,300°)。
??此外,在RGB(RGI/RGV)色相20°~40°之間的顏色(橘紅色向橙黃色過渡),變化速度較快,幅度較大,因此將RGB(RGI/RGV)色相環(huán)中的20°(朱紅色,橘紅色)和40°(琥珀色,橙黃色)的位置分別對(duì)應(yīng)RYB中的30°和90°的位置,而不是純粹按照線性變化分別對(duì)應(yīng)40°和80°的位置。
??根據(jù)以上理論,可以得到RGB(RGI/RGV)與RYB色相對(duì)應(yīng)表格,進(jìn)而推出RGB(RGI/RGV)與RYB色相轉(zhuǎn)化公式。
RGB(RGI/RGV)與RYB色相對(duì)應(yīng)表
RGB(RGI/RGV)色相 H(°) | RYB色相 h(°) | 對(duì)應(yīng)顏色 | 備注(RYB) | 冷暖性 | 互補(bǔ)色冷暖性 | 互補(bǔ)色(RYB) | 互補(bǔ)色RYB色相 h?(°) | 互補(bǔ)色RGB(RGI/RGV)色相 H?(°) |
---|---|---|---|---|---|---|---|---|
0 | 0 | 紅色/赤紅(Red) | 原色 | 暖色 | 冷色 | 綠色(Green) | 180 | 120 |
10 | 15 | 猩紅(Scarlet) | 四次色 | 暖色 | 冷色 | 春綠(Spring Green) | 195 | 150 |
20 | 30 | 朱紅(Vermilion) | 三次色 | 暖色 | 冷色 | 青色/水色(Cyan/Aqua) | 210 | 180 |
30 | 60 | 橙色(Orange) | 間色(二次色) | 暖色(暖極) | 冷色(冷極) | 藍(lán)色/蔚藍(lán)(Blue/Azure) | 240 | 210 |
40 | 90 | 琥珀色(Amber) | 三次色 | 暖色 | 冷色 | 靛色(Indigo) | 270 | 240 |
50 | 105 | 金色(Gold) | 四次色 | 暖色 | 冷色 | 堇色/藍(lán)紫色/紫羅蘭色(Violet) | 285 | 270 |
60 | 120 | 黃色/檸檬黃(Yellow/Lemon) | 原色 | 暖色 | 冷色 | 紫色(Purple) | 300 | 300 |
75 | 135 | 酸橙色/亮黃綠/檸檬綠(Lime) | 四次色 | 中性色 | 中性色 | 紫紅色(Fuchsia) | 315 | 315 |
90 | 150 | 黃綠色(Chartreuse) | 三次色 | 微冷 | 微暖 | 玫紅(Rose) | 330 | 330 |
105 | 165 | 偏黃的綠(Harlequin) | 四次色 | 冷色 | 暖色 | 緋紅(Crimson) | 345 | 345 |
120 | 180 | 綠色(Green) | 間色(二次色) | 冷色 | 暖色 | 紅色/赤紅(Red) | 0 | 0 |
150 | 195 | 春綠(Spring Green) | 四次色 | 冷色 | 暖色 | 猩紅(Scarlet) | 15 | 10 |
165 | 202.5 | 薄荷綠(Mint Green) | 五次色 | 冷色 | 暖色 | 偏橙的紅(Orange-Red) | 22.5 | 15 |
180 | 210 | 青色/水色(Cyan/Aqua) | 三次色 | 冷色 | 暖色 | 朱紅(Vermilion) | 30 | 20 |
195 | 225 | 天藍(lán)(Sky Blue) | 四次色 | 冷色 | 暖色 | 偏紅的橙(Red-Orange) | 45 | 25 |
210 | 240 | 藍(lán)色/蔚藍(lán)(Blue/Azure) | 原色 | 冷色(冷極) | 暖色(暖極) | 橙色(Orange) | 60 | 30 |
240 | 270 | 靛色(Indigo) | 三次色 | 冷色 | 暖色 | 琥珀色(Amber) | 90 | 40 |
255 | 277.5 | 群青(Ultramarine) | 五次色 | 冷色 | 暖色 | 偏橙的黃(Orange-Yellow) | 97.5 | 45 |
270 | 285 | 堇色/藍(lán)紫色/紫羅蘭色(Violet) | 四次色 | 冷色 | 暖色 | 金色(Gold) | 105 | 50 |
300 | 300 | 紫色(Purple) | 間色(二次色) | 冷色 | 暖色 | 黃色/檸檬黃(Yellow/Lemon) | 120 | 60 |
315 | 315 | 紫紅色(Fuchsia) | 四次色 | 中性色 | 中性色 | 酸橙色/亮黃綠/檸檬綠(Lime) | 135 | 75 |
330 | 330 | 玫紅(Rose) | 三次色 | 微暖 | 微冷 | 黃綠色(Chartreuse) | 150 | 90 |
345 | 345 | 緋紅(Crimson) | 四次色 | 暖色 | 冷色 | 偏黃的綠(Harlequin) | 165 | 105 |
(360) | (360) | (紅色/赤紅(Red)) | (原色) | (暖色) | (冷色) | (綠色(Green)) | (180) | (120) |
表中每個(gè)相鄰顏色之間RGB(RGI/RGV)色相和RYB色相對(duì)應(yīng)函數(shù)關(guān)系均為線性關(guān)系
RGB(RGI/RGV)與RYB色相轉(zhuǎn)化公式
記RGB(RGI/RGV)色相為H(°),RYB色相為h(°)
RGB(RGI/RGV)色相(H)轉(zhuǎn)RYB色相(h)
h
=
{
3
2
H
(
0
≤
H
<
20
)
3
(
H
?
20
)
+
30
(
20
≤
H
<
40
)
3
2
(
H
?
40
)
+
90
(
40
≤
H
<
60
)
H
?
60
+
120
(
60
≤
H
<
120
)
1
2
(
H
?
120
)
+
180
(
120
≤
H
<
180
)
H
?
180
+
210
(
180
≤
H
<
240
)
1
2
(
H
?
240
)
+
270
(
240
≤
H
<
300
)
H
(
300
≤
H
<
360
)
=
{
3
2
H
(
0
≤
H
<
20
)
3
H
?
30
(
20
≤
H
<
40
)
3
2
H
+
30
(
40
≤
H
<
60
)
H
+
60
(
60
≤
H
<
120
)
1
2
H
+
120
(
120
≤
H
<
180
)
H
+
30
(
180
≤
H
<
240
)
1
2
H
+
150
(
240
≤
H
<
300
)
H
(
300
≤
H
<
360
)
h =\left\{ \right. % =\left\{ \right.
h=???????????????????????????????????????????23?H3(H?20)+3023?(H?40)+90H?60+12021?(H?120)+180H?180+21021?(H?240)+270H?(0≤H<20)(20≤H<40)(40≤H<60)(60≤H<120)(120≤H<180)(180≤H<240)(240≤H<300)(300≤H<360)?=???????????????????????????????????????????23?H3H?3023?H+30H+6021?H+120H+3021?H+150H?(0≤H<20)(20≤H<40)(40≤H<60)(60≤H<120)(120≤H<180)(180≤H<240)(240≤H<300)(300≤H<360)?
RYB色相(h)轉(zhuǎn)RGB(RGI/RGV)色相(H)
H
=
{
2
3
h
(
0
≤
h
<
30
)
1
3
(
h
?
30
)
+
20
(
30
≤
h
<
90
)
2
3
(
h
?
90
)
+
40
(
90
≤
h
<
120
)
h
?
120
+
60
(
120
≤
h
<
180
)
2
(
h
?
180
)
+
120
(
180
≤
h
<
210
)
h
?
210
+
180
(
210
≤
h
<
270
)
2
(
h
?
270
)
+
240
(
270
≤
h
<
300
)
h
(
300
≤
h
<
360
)
=
{
2
3
h
(
0
≤
h
<
30
)
1
3
h
+
10
(
30
≤
h
<
90
)
2
3
h
?
20
(
90
≤
h
<
120
)
h
?
60
(
120
≤
h
<
180
)
2
h
?
240
(
180
≤
h
<
210
)
h
?
30
(
210
≤
h
<
270
)
2
h
?
300
(
270
≤
h
<
300
)
h
(
300
≤
h
<
360
)
H =\left\{ \right. % =\left\{ \right.
H=?????????????????????????????????????????32?h31?(h?30)+2032?(h?90)+40h?120+602(h?180)+120h?210+1802(h?270)+240h?(0≤h<30)(30≤h<90)(90≤h<120)(120≤h<180)(180≤h<210)(210≤h<270)(270≤h<300)(300≤h<360)?=?????????????????????????????????????????32?h31?h+1032?h?20h?602h?240h?302h?300h?(0≤h<30)(30≤h<90)(90≤h<120)(120≤h<180)(180≤h<210)(210≤h<270)(270≤h<300)(300≤h<360)?
將以上公式寫成C語言函數(shù),代碼實(shí)現(xiàn)如下
#include <math.h> float RGI2RYBh(float H) { H=fmodf(H,360.0); //浮點(diǎn)數(shù)取余,將角度標(biāo)準(zhǔn)化到[0°,360°)區(qū)間 if(H<20.0) return H*1.5; else if(H<40.0) return H*3.0-30.0; else if(H<60.0) return H*1.5+30.0; else if(H<120.0) return H+60.0; else if(H<180.0) return H/2.0+120.0; else if(H<240.0) return H+30.0; else if(H<300.0) return H/2.0+150.0; else return H; } float RYB2RGIh(float h) { h=fmodf(h,360.0); //浮點(diǎn)數(shù)取余,將角度標(biāo)準(zhǔn)化到[0°,360°)區(qū)間 if(h<30.0) return h*2.0/3.0; else if(h<90.0) return h/3.0+10.0; else if(h<120.0) return h*2.0/3.0-20.0; else if(h<180.0) return h-60.0; else if(h<210.0) return h*2.0-240.0; else if(h<270.0) return h-30.0; else if(h<300.0) return h*2.0-300.0; else return h; }
測試:
RGI2RYBh(20.0) 返回30.0
RGI2RYBh(30.0) 返回60.0
RGI2RYBh(64.0) 返回124.0
RGI2RYBh(168.0) 返回204.0
RGI2RYBh(210.0) 返回240.0
RGI2RYBh(260.0) 返回280.0
RGI2RYBh(340.0) 返回340.0
RYB2RGIh(60.0) 返回30.0
RYB2RGIh(102.0) 返回48.0
RYB2RGIh(128.0) 返回68.0
RYB2RGIh(190.0) 返回140.0
RYB2RGIh(210.0) 返回180.0
RYB2RGIh(228.0) 返回198.0
RYB2RGIh(265.0) 返回235.0
總結(jié)
RGB(RGI/RGV)色相環(huán)存在的問題:
1.純藍(lán)色不正宗,RGB(RGI/RGV)的純藍(lán)并不位于藍(lán)色色相的中心(RGI/RGV色相210°附近),而是偏向紫色一端,按照牛頓的七色說法,實(shí)際上應(yīng)該是靛藍(lán)色。如果將靛色(RGI/RGV色相240°附近)的飽和度降低,可以發(fā)現(xiàn)其顏色明顯變紫,比如#8080FF和#6666CC
(其原因是人眼中對(duì)高頻光波敏感的視錐細(xì)胞所感受的顏色是藍(lán)紫色(頻率約690THz),而不是正宗的藍(lán)色(頻率約640THz)。而RGB(RGI/RGV)為光學(xué)原理,需要照顧到人眼的視覺感受,所以其中的B(I/V)采用的是偏紫的靛色而不是純正的藍(lán)色)
2.顏色分布不均勻,在橙黃色(暖色)區(qū)域范圍過于狹小,而在綠色和紫色(冷色)區(qū)域范圍過大,與人類心理認(rèn)知不符
3.互補(bǔ)色存在問題。在RGB(RGI/RGV)色相環(huán)中,紅色的互補(bǔ)色為青色(綠藍(lán)色,水色)(真實(shí)的互補(bǔ)色是綠色),而紫色的互補(bǔ)色為綠色(真實(shí)的互補(bǔ)色是黃色)
RYB色相環(huán)特點(diǎn):
1.顏色分布比較均勻
2.互補(bǔ)色符合人類的心理認(rèn)知
3.顏色分布對(duì)稱,如:
??①以紅色為中心,330°為玫紅色,0°為紅色,30°為朱紅色 (RGB(RGI/RGV)中分別為玫紅色,紅色和橙色)
??②以黃色為中心,105°為金色(黃略偏橙),120°為黃色,135°為酸橙色(黃略偏綠)
??③以藍(lán)色為中心,210°為青色(藍(lán)+綠),240°為藍(lán)色(蔚藍(lán)),270°為靛色(藍(lán)+紫) (RGB(RGI/RGV)中分別為藍(lán)色,靛色和堇色)
??④以紫色為中心,285°為堇色(藍(lán)紫色),300°為紫色,315°為紫紅色 (RGB(RGI/RGV)中270°,300°,330°分別為堇色,紫色和玫紅色。270°(堇色)關(guān)于紫色對(duì)稱的位置,330°,是玫紅色,而并不是紫紅色)
備注
1.網(wǎng)頁中標(biāo)準(zhǔn)紫色RGB為(128,0,128) (#800080 對(duì)應(yīng)RGB色相300°),是一種深紫色,如果將明度提高,變成(255,0,255) (#FF00FF 對(duì)應(yīng)RGB色相300°),則得到偏亮的紫色,也可以叫紫色(Purple)。而品紅(Magenta)最初的含義是一種化學(xué)染料的名稱,其名稱源于意大利一次獨(dú)立戰(zhàn)爭(1859年)的地名,這種染料呈玫紅色,也就是現(xiàn)在印刷業(yè)中常用的CMYK系統(tǒng)中的顏色之一,其色值為(228,0,127) (#E4007F 對(duì)應(yīng)RGB色相327°),是一種玫紅色(Rose)。
??而有的人把亮紫色稱為"品紅",但是事實(shí)上這種所謂的"品紅"與最初含義的品紅,也就是和化學(xué)和印刷業(yè)中的品紅相去甚遠(yuǎn),有明顯的差異,并非真正意義上的品紅,實(shí)際上是一種誤稱。#FF00FF與網(wǎng)頁中的紫色(#800080)具有相同的色相,因此屬于紫色的一種。如果非要將兩者區(qū)分,則可以將#FF00FF稱為「亮紫」(Light Purple)。在一般情況下,#FF00FF完全可以稱為紫色(Purple),沒有任何問題,但是稱為"品紅"會(huì)感覺十分突兀,違和感很強(qiáng)。(這也是我第一次看到"品紅"這個(gè)名字的時(shí)候感到比較奇怪的原因,因?yàn)槲矣X得它一點(diǎn)也不紅,而是非常的紫,很標(biāo)準(zhǔn)的紫。而且明明可以用一個(gè)字描述的顏色,非要用兩個(gè)字表示,有種舍近求遠(yuǎn)的感覺。后來了解了CMYK了以后才知道,真正的品紅是CMYK里面的那個(gè),那才是真正的"紅",而這個(gè)所謂的"品紅"(事實(shí)上是紫色)只不過是一個(gè)誤稱,一個(gè)以訛傳訛的叫法罷了。當(dāng)初這樣叫的人,估計(jì)是為了偷懶,把RGB里的二次色和CMYK直接對(duì)應(yīng)了起來,殊不知RGB里的二次色實(shí)際上是CPY,而并非CMY。所以我平時(shí)說#FF00FF的時(shí)候都會(huì)說成紫色,或者Purple,簡稱P)
??此外,有的地方把#FF00FF稱為Fuchsia也是一種誤稱,因?yàn)楸碇蠪uchsia對(duì)應(yīng)的是紫紅色,也就是#FF00BF(對(duì)應(yīng)RGB色相315°),并非#FF00FF(紫色,Purple)。
??所以,真正意義上的Purple是#FF00FF,Fuchsia是#FF00BF,Magenta是#E4007F。
??還記得我們高中時(shí)化學(xué)中檢驗(yàn)二氧化硫的方法嗎?就是把氣體通入品紅溶液,觀察是否褪色,因?yàn)槎趸蚓哂衅仔?。還有高中生物里的醋酸洋紅液和改良苯酚品紅染液(低溫誘導(dǎo)染色體加倍實(shí)驗(yàn)中的),它們的作用都是給染色體染色的。如果你親自做過實(shí)驗(yàn),就知道這些溶液的顏色是什么了,它們和印刷業(yè)中的品紅顏色十分相似,然而和#FF00FF卻完全不像。這也就印證了我剛才的說法,這實(shí)際上是一種誤稱,而并非化學(xué)中的,真正意義上的品紅染料的顏色。
2.RYB(紅黃藍(lán))不等于CMYK,切記切記!雖然兩者均為減法混色原理,但CMYK是印刷采用的四原色,其中的C是青色(湖藍(lán)色)(與RGB(RGI/RGV)中的00FFFF(青色,藍(lán)綠色,水綠)有一定的差異),M是品紅(玫紅色),與純正的藍(lán)色和紅色有所出入。而RYB是美術(shù)中使用的三原色,R是大紅(赤紅),B是蔚藍(lán),也就是最純正的紅色和藍(lán)色。兩者最主要的區(qū)別在于其二次色,CMYK中玫紅+黃色=大紅,玫紅+湖藍(lán)=靛色(藍(lán)紫),而RYB中紅+黃=橙,紅+藍(lán)=紫,有明顯的區(qū)別。CMYK更符合印刷紙張的化學(xué)和光學(xué)特性,因此在印刷和化工行業(yè)被廣泛采用。而RYB相比CMYK和RGB(RGI/RGV)更符合人類心理學(xué)上對(duì)顏色(原色,二次色,互補(bǔ)色)的認(rèn)知,因此在美術(shù)和藝術(shù)領(lǐng)域大行其道,被藝術(shù)家廣泛采納。
3.本文中的RYB(紅黃藍(lán))并非指減色系統(tǒng)的顏料紅黃藍(lán),本質(zhì)上仍然是建立在計(jì)算機(jī)的RGI/RGV(紅綠靛)發(fā)光系統(tǒng)上的。RYB指的是將紅,黃,藍(lán)三原色放置在色相環(huán)上三等分點(diǎn)的位置,三原色之間進(jìn)行平滑漸變,組成色相環(huán),從而達(dá)到和美術(shù)減法色顏料構(gòu)成的RYB色相環(huán)相同的效果
附表1:RYB十二色相環(huán)顏色表(常見稱法用正體表示)
RYB色相 h(°) | 顏色 | 代碼 | RGB(RGI/RGV)色相 H(°) | 備注 |
---|---|---|---|---|
0 | 紅色/赤紅(Red) | FF0000 | 0 | 原色 |
30 | 朱紅(Vermilion) | FF5500 | 20 | 三次色 |
60 | 橙色(Orange) | FF8000 | 30 | 間色(二次色) |
90 | 琥珀色(Amber) | FFAA00 | 40 | 三次色 |
120 | 黃色/檸檬黃(Yellow/Lemon) | FFFF00 | 60 | 原色 |
150 | 黃綠色(Chartreuse) | 80FF00 | 90 | 三次色 |
180 | 綠色(Green) | 00FF00 | 120 | 間色(二次色) |
210 | 青色/水色(Cyan/Aqua) | 00FFFF | 180 | 三次色 |
240 | 藍(lán)色/蔚藍(lán)(Blue/Azure) | 0080FF | 210 | 原色 |
270 | 靛色(Indigo) | 8080FF(0000FF) | 240 | 三次色 |
300 | 紫色(Purple) | FF00FF | 300 | 間色(二次色) |
330 | 玫紅(Rose) | FF0080 | 330 | 三次色 |
(360) | (紅色/赤紅(Red)) | (FF0000) | (360) | (原色) |
(注:"靛色"一行中括號(hào)內(nèi)的值為原RGB(RGI/RGV)中的值(0000FF),括號(hào)外的數(shù)值是修正后的值(8080FF),這是為了保持從藍(lán)色到紫色過渡過程中明度的平滑漸變。在修正之前,從藍(lán)色到紫色過渡的過程中會(huì)出現(xiàn)先變深,再變淺的現(xiàn)象,與視覺感知不符)
附表2:RGB(RGI/RGV)十二色相環(huán)顏色表(常見稱法用正體表示,灰色備注代表與RYB色相環(huán)不相符的原色/間色)
RGB(RGI/RGV)色相 H(°) | 顏色 | 代碼 | RYB色相 h(°) | 備注 |
---|---|---|---|---|
0 | 紅色/赤紅(Red) | FF0000 | 0 | 原色 |
30 | 橙色(Orange) | FF8000 | 60 | 三次色 |
60 | 黃色/檸檬黃(Yellow/Lemon) | FFFF00 | 120 | 間色(二次色) |
90 | 黃綠色(Chartreuse) | 80FF00 | 150 | 三次色 |
120 | 綠色(Green) | 00FF00 | 180 | 原色 |
150 | 春綠(Spring Green) | 00FF80 | 195 | 三次色 |
180 | 青色/水色(Cyan/Aqua) | 00FFFF | 210 | 間色(二次色) |
210 | 藍(lán)色/蔚藍(lán)(Blue/Azure) | 0080FF | 240 | 三次色 |
240 | 靛色(Indigo) | 0000FF | 270 | 原色 |
270 | 堇色/藍(lán)紫色/紫羅蘭色(Violet) | 8000FF | 285 | 三次色 |
300 | 紫色(Purple) | FF00FF | 300 | 間色(二次色) |
330 | 玫紅(Rose) | FF0080 | 330 | 三次色 |
(360) | (紅色/赤紅(Red)) | (FF0000) | (360) | (原色) |
RYB,RGI/RGV十二色相環(huán)效果圖