在計算光照的時候 眼睛能看到的顏色是 物體的顏色的RGB向量乘上光源的RGB向量 diffuse*ColorOfLight 請問這背後的物理意義是什麼?


在 Cg 的逐像素著色的最後,每一個顏色值相加和每一個顏色相乘從數學角度有什麼差別??

www.zhihu.com圖標


別說相乘的物理意義了,顏色值本身都未必有物理意義,完全取決於你在拿它當什麼用。


自然光的光譜分佈是連續的,咋存一個東東的顏色呢?有一天人們發現自己的眼睛居然只有三種錐狀細胞來感受光芒!縱使世界繁花似錦,視網膜也只能把這些型號轉換成三種,所以沒必要用連續的一個光譜分佈函數去記錄一個顏色,用rgb就蠻好的了。但是貪心的人類不滿足於記錄這個世界的五彩繽紛,還tm要算,那麼一束光照到一個東東,簡單地講就是那束光的光譜分佈函數內積上那個東東的反射率函數,但是光譜是連續的,做內積算不過來呀!那索性想起之前記錄這個世界的老朋友rgb來算一下。

稍微不民科的說法就是:將兩個函數投影到同一個顏色空間(rgb),用向量的矢量積來近似計算函數的內積。


這時候就別向量了啊。這是純顏色混合 。沒有物理意義。純計算


這種 Hadamard product 只是顏色積分公式的近似而已,只有在 [公式] (物體的光譜反射比在各波長上恆為一常數)時才成立。

大多數都是搞 graphics 在這麼用,少部分搞 CV 的也這麼用,搞 color science 的沒人會這麼用。


這個不是點積 (點積的結果是一個值,而這裡的結果仍然是顏色)

物體的貼圖顏色 可以理解為 吸光的比率

1代表完全不吸 0代表完全吸收

完全吸收意味著這個頻率的光波不可能經過物體後再射入你的眼睛

表現為物體不可能具有這個漫反射顏色(射入你眼睛的光線纔有顏色)


diffuse * colorOfLight 計算的是(漫反射能力)*(光源強度),其中漫反射能力和光源強度均分為 r,g,b 三個分量表示了;看上去都有顏色,但它們的物理意義可不一樣


推薦閱讀:
相關文章