像素颜色和颜色向量相加相乘的理解
首先計算機圖形學的一條原則是,如果它看上去是對的,那它就是對的。所以,對于一些計算模型來說,最重要的是最后擬合的效果。它不一定符合物理,但通常計算都以物理上的考慮為基礎。
像素顏色和相關運算的理解
我們常說某件物體是某種顏色的,仿佛顏色是物體的自有屬性。其實這樣的理解并不正確。顏色是物體反射的光進入眼睛以后給我們的一種感覺。也就是說,除了物體本身的屬性,光照條件也是最終看到顏色的決定因素之一。我們說一張紙是白色的,其實是在說這張紙能反射所有的可見光。如果我們以單色光,比如紅光照射它,我們看到這樣紙就呈現出紅色。因為輸入的光只有紅色,因此紙張也就只能反射紅光。所以,如果單論顏色這一概念,應該是光的自有屬性(取決于波長),而不是物體的屬性。物體所謂的顏色,其實是它在反射過程中所表現出的特點。
由于人眼感光的特點,我們把紅綠藍作為顏色空間的三個分量,不同比例的紅綠藍光混合可以得到人眼對其它顏色的感覺。同時,在約定范圍的前提下,分量的數值大小可以表示光的強度。基于這種顏色模型,如果有不同的幾束光進入眼睛,我們可以認為等于三個分量疊加以后的光進入眼睛。實際上這也符合這樣的直覺:越多的可見光照射物體,物體也就顯得越亮。
所以,上面的討論解釋了顏色向量相加的含義。在許多光照模型中,某個點反射的光由好幾部分組成:例如自發光,漫反射光,鏡面高光,環境光。那么最后反射光給我們的顏色感覺,就是各組成部分光顏色相加以后的結果。總結起來,這樣模擬的出發點是:
1.認為有三種基本顏色的光。人眼形成的顏色感覺來自于三種基本光不同比例不同強度的混合。
2.不同顏色的光互不干擾,各自線性疊加。
其實這樣考慮很顯然有很多與物理現實不符的地方。例如光的波長應當是連續取值的。一些混合光進入眼睛,在計算它們疊加以后的視覺效果上的貢獻時,對波長積分,不同波長的光本身的貢獻是不同的,應該有個經驗系數。顯然簡化成三種波長的單色光然后線性疊加是簡單的處理。
在光照模型中計算反射部分的時候,有所謂反射顏色的屬性。比如計算漫反射部分,我們會定義一個材質的漫反射顏色屬性。計算反射光顏色的時候,將漫反射顏色屬性的分量和入射光對應分量相乘得到最后的結果。這個運算應當怎么理解?
首先我們注意到,反射部分是體現材質自有屬性的環節。假設我們都用標準的白光照射,那么材質反射出來的光的顏色就可以作為它自身屬性的表示。光經過材質反射,強度必然不會增加,因為部分光將被材質吸收。例如一個白光下呈現紅色的材質,就吸收了紅色以外的光。所以,材質的漫反射顏色不應該理解為與光的顏色等同的概念,它其實是各個分量的反射百分比。因此它的分量被規定在[0,1]范圍內。例如我們定義一個材質的漫反射顏色是(0.8,0,0)意味著它反射80%的紅色光,吸收了全部的綠光和藍光。
————————————————
版權聲明:本文為CSDN博主「zsffff」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u013476163/article/details/73564941
總結
以上是生活随笔為你收集整理的像素颜色和颜色向量相加相乘的理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: fatal error C1010:在查
- 下一篇: java 公交管理系统 代码_java公