第四章真实感图形学 真实感图形学是计算机图形学中的一个重要组成部分,它的基本要求就是在计算机中生成三维场景的真实 感图形图象。随着计算机图形学和计算机本身的发展,真实感图形学在我们日常的工作、学习和生活中已经 有了非常广泛的应用,象在计算机辅助设计、多媒体教育、虚拟现实系统、科学计算可视化、动画制作、电 影特技模拟、计算机游戏等许多方面,我们都可以看到真实感图形学在其中发挥了重要的作用,而且人们对 于计算机在视觉感受方面的要求越来越严格,这就需要我们研究更多更逼真的真实感图象生成算法 对于场景中的物体,要得到它的真实感图象,就要对它进行透视投影,并作隐藏面的消隐,然后计算可见 面的光照明暗效果,得到场景的真实感图象显示。隐藏面消除是得到场景真实感的一个方面,可以消除图形 的二义性,我们已经在前面的章节中介绍了相关的一些方法。但是,仅仅对场景进行隐藏面消除所得到的图 象真实感是远远不够的,在本章中,我们主要介绍如何处理物体表面的光照明暗效果,通过使用不同的色彩 灰度,来增加图形图象的真实感,这也是场景图象真实感的主要来源。给定一个三维场景及其光照明条件, 如何确定它在屏幕上生成的真实感图象,即确定图象每一个象素的明暗、颜色,是真实感图形学需要解决的 在真实感图形学中,为了模拟现实世界中的场景,我们一般需要知道这个场景的光照明效果的物理模型, 然后我们用一个数学模型来表示它,通过计算这种数学模型可以得到计算机模拟出来的真实感效果。在现实 计算机图形学第四章第101页共36页
计算机图形学 第四章 第 101 页 共 36 页 第四章 真实感图形学 真实感图形学是计算机图形学中的一个重要组成部分,它的基本要求就是在计算机中生成三维场景的真实 感图形图象。随着计算机图形学和计算机本身的发展,真实感图形学在我们日常的工作、学习和生活中已经 有了非常广泛的应用,象在计算机辅助设计、多媒体教育、虚拟现实系统、科学计算可视化、动画制作、电 影特技模拟、计算机游戏等许多方面,我们都可以看到真实感图形学在其中发挥了重要的作用,而且人们对 于计算机在视觉感受方面的要求越来越严格,这就需要我们研究更多更逼真的真实感图象生成算法。 对于场景中的物体,要得到它的真实感图象,就要对它进行透视投影,并作隐藏面的消隐,然后计算可见 面的光照明暗效果,得到场景的真实感图象显示。隐藏面消除是得到场景真实感的一个方面,可以消除图形 的二义性,我们已经在前面的章节中介绍了相关的一些方法。但是,仅仅对场景进行隐藏面消除所得到的图 象真实感是远远不够的,在本章中,我们主要介绍如何处理物体表面的光照明暗效果,通过使用不同的色彩 灰度,来增加图形图象的真实感,这也是场景图象真实感的主要来源。给定一个三维场景及其光照明条件, 如何确定它在屏幕上生成的真实感图象,即确定图象每一个象素的明暗、颜色,是真实感图形学需要解决的 问题。 在真实感图形学中,为了模拟现实世界中的场景,我们一般需要知道这个场景的光照明效果的物理模型, 然后我们用一个数学模型来表示它,通过计算这种数学模型可以得到计算机模拟出来的真实感效果。在现实
世界中,光照明效果一般包括光的反射、光的透射、表面纹理和阴影等。我们把在已知物体物理形态和光源 性质的条件下,能够计算出场景的光照明效果的数学模型称为光照明模型。这种模型可以用描述物体表面光 强度的物理公式推导出来。早期的光照明模型都是基于经验的模型,只能反映光源直接照射的情况,而一些 比较精确的模型,通过模拟物体之间光的相互作用,可以得到令人满意的结果。 在本章中,我们首先介绍颜色视觉,这是真实感图形学的生理基础:然后我们按照光照明模型的发展过程 我们针对当今真实感图形学研究的热点,简单讨论了一些实时真实感图形学的技术,目的是想起一个抛砖引 玉的作用,使我们的图形学研究能够跟上国际的潮流,提高我们的计算机图形学发展水平。 4.1颜色视觉 4.2简单光照明模型 43局部光照明模型 4.4光透射模型 4.5纹理及纹理映射 4.6整体光照明模型 47 时真实感图形学技术 4.1颜色视觉 对于真实感图形学,要产生具有高度真实感的图象,颜色是其中的最重要的部分。在我们的光照明模型中, 我们通常只要分别计算R、G、B三个分量的光强值,就可以得到某个象素点上颜色值,给人以某种颜色的感 觉,这个过程看起来很简单,可是为什么简单的通过三个分量的计算就可以产生颜色感觉,却包含着许多很 复杂的概念,其中涉及到了物理学、心理学、生理学、美学等不同的学科。为了使读者更好的理解我们后面 所讲的光照明模型以及有关真实感图形学的内容,我们首先从人体视觉的角度出发,介绍计算机图形学中颜 色视觉的一些相关知识 4.1.1基本概念 颜色是外来的光刺激作用于人的视觉器官而产生的主观感觉,因而物体的颜色不仅取决于物体本身,而且 还与光源、周围环境的颜色,以及观察者的视觉系统都有关系 从心理学和视觉的角度出发,颜色有如下三个特性:色调(Hue),饱和度( Saturation)和亮度( Lightness) 所谓色调,是一种颜色区别于其他颜色的因素,也就是我们平常所说的红、绿、蓝、紫等:饱和度是指颜色 的纯度,鲜红色的饱和度高,而粉红色的饱和度低:而亮度就是光的强度,是光给人的刺激的强度。与之相 对应,从光学物理学的角度出发,颜色的三个特性分别为:主波长( Dominant Wavelength),纯度( Purity) 和明度( Luminance)。主波长是产生颜色光的波长,对应于视觉感知的色调:光的纯度对应于饱和度,而明 度就是光的亮度。这是从两个不同方面来描述颜色的特性 在三维空间中,我们可以用一个纺锤体把颜色的三种基本特性来表示出来(图4.1.1)。在颜色纺锤体的 垂直轴线上表示白黑系列的亮度变化,顶部是白色,沿着灰度过渡,到底部是黑色。在垂直轴线的上下方向 上,越往上,亮度越大。色调由水平的圆周表示,圆周上的不同角度的点代表了不同色调的颜色,如红、橙、 黄、绿、青、蓝、紫等,圆周中心的色调是中灰色,它的亮度和该水平圆周上各色调的亮度相同。从圆心向 圆周过渡表示同一色调下饱和度的提高。在颜色纺锤体的一个平面圆形上,它们的色调和饱和度不同,而亮 度是相同的。 计算机图形学第四章第102页共36页
计算机图形学 第四章 第 102 页 共 36 页 世界中,光照明效果一般包括光的反射、光的透射、表面纹理和阴影等。我们把在已知物体物理形态和光源 性质的条件下,能够计算出场景的光照明效果的数学模型称为光照明模型。这种模型可以用描述物体表面光 强度的物理公式推导出来。早期的光照明模型都是基于经验的模型,只能反映光源直接照射的情况,而一些 比较精确的模型,通过模拟物体之间光的相互作用,可以得到令人满意的结果。 在本章中,我们首先介绍颜色视觉,这是真实感图形学的生理基础;然后我们按照光照明模型的发展过程, 依次介绍不同的光照明模型,其间,结合不同的光照明效果,还介绍了光透射模型和纹理的基本方法。最后 我们针对当今真实感图形学研究的热点,简单讨论了一些实时真实感图形学的技术,目的是想起一个抛砖引 玉的作用,使我们的图形学研究能够跟上国际的潮流,提高我们的计算机图形学发展水平。 4.1 颜色视觉 4.2 简单光照明模型 4.3 局部光照明模型 4.4 光透射模型 4.5 纹理及纹理映射 4.6 整体光照明模型 4.7 实时真实感图形学技术 4.1 颜色视觉 对于真实感图形学,要产生具有高度真实感的图象,颜色是其中的最重要的部分。在我们的光照明模型中, 我们通常只要分别计算 R、G、B 三个分量的光强值,就可以得到某个象素点上颜色值,给人以某种颜色的感 觉,这个过程看起来很简单,可是为什么简单的通过三个分量的计算就可以产生颜色感觉,却包含着许多很 复杂的概念,其中涉及到了物理学、心理学、生理学、美学等不同的学科。为了使读者更好的理解我们后面 所讲的光照明模型以及有关真实感图形学的内容,我们首先从人体视觉的角度出发,介绍计算机图形学中颜 色视觉的一些相关知识。 4.1.1 基本概念 颜色是外来的光刺激作用于人的视觉器官而产生的主观感觉,因而物体的颜色不仅取决于物体本身,而且 还与光源、周围环境的颜色,以及观察者的视觉系统都有关系。 从心理学和视觉的角度出发,颜色有如下三个特性:色调(Hue),饱和度(Saturation)和亮度(Lightness)。 所谓色调,是一种颜色区别于其他颜色的因素,也就是我们平常所说的红、绿、蓝、紫等;饱和度是指颜色 的纯度,鲜红色的饱和度高,而粉红色的饱和度低;而亮度就是光的强度,是光给人的刺激的强度。与之相 对应,从光学物理学的角度出发,颜色的三个特性分别为:主波长(Dominant Wavelength),纯度(Purity) 和明度(Luminance)。主波长是产生颜色光的波长,对应于视觉感知的色调;光的纯度对应于饱和度,而明 度就是光的亮度。这是从两个不同方面来描述颜色的特性。 在三维空间中,我们可以用一个纺锤体把颜色的三种基本特性来表示出来(图 4.1.1)。在颜色纺锤体的 垂直轴线上表示白黑系列的亮度变化,顶部是白色,沿着灰度过渡,到底部是黑色。在垂直轴线的上下方向 上,越往上,亮度越大。色调由水平的圆周表示,圆周上的不同角度的点代表了不同色调的颜色,如红、橙、 黄、绿、青、蓝、紫等,圆周中心的色调是中灰色,它的亮度和该水平圆周上各色调的亮度相同。从圆心向 圆周过渡表示同一色调下饱和度的提高。在颜色纺锤体的一个平面圆形上,它们的色调和饱和度不同,而亮 度是相同的
白 绿/蓝 紫 蓝 蓝 绿 饱科度红 色趣 绿 黑 图41.1颜色纺锤体 由于颜色是因外来光刺激而使人产生的某种感觉,我们有必要了解一些光的知识。从根本上讲,光是人的 视觉系统能够感知到的电磁波,它的波长在400mm到700mm之间,正是这些电磁波使人产生了红、橙、黄、 绿、蓝、紫等的颜色感觉。某种光可以由它的光谱能量分布P()来表示,其中孔是波长,当一束光的各种 波长的能量大致相等时,我们称其为白光:若其中各波长的能量分布不均匀,则它为彩色光:一束光只包含 种波长的能量,而其他波长都为零时,它是单色光。它们的光谱能量分布分别如图4.1.2、图4.1.3、图 4.1.4所示 计算机图形学第四章第103页共36页
计算机图形学 第四章 第 103 页 共 36 页 由于颜色是因外来光刺激而使人产生的某种感觉,我们有必要了解一些光的知识。从根本上讲,光是人的 视觉系统能够感知到的电磁波,它的波长在 400nm 到 700nm 之间,正是这些电磁波使人产生了红、橙、黄、 绿、蓝、紫等的颜色感觉。某种光可以由它的光谱能量分布 来表示,其中 是波长,当一束光的各种 波长的能量大致相等时,我们称其为白光;若其中各波长的能量分布不均匀,则它为彩色光;一束光只包含 一种波长的能量,而其他波长都为零时,它是单色光。它们的光谱能量分布分别如图 4.1.2、图 4.1.3、图 4.1.4 所示
R 图412白光的光谱能量分布 被长 700 图41.3彩色光的光谱能量分布 量 被长 图414单色光的光谱能量分布 由光线的光谱能量分布来定义我们的颜色是十分麻烦的,事实上,我们可以用主波长、纯度和明度来简洁 的描述任何光谱分布的视觉效果。而且由实验结果知道,光谱与颜色的对应关系是多对一的,也就是说,具 有不同光谱分布的光产生的颜色感觉是有可能一样的。我们称两种光的光谱分布不同而颜色相同的现象为“异 谱同色”。也是由于这种现象的存在,我们必须采用其他的定义颜色的方法,使光本身与颜色一一对应。 4.1.2三色学说 通过以往的在物理学上对光与颜色的研究,我们发现,颜色具有具有恒常性,人们可以根据物体的固有颜 色来感知它们,而不会受外界条件变化的影响,颜色之间的对比效应能够使人区分不同的颜色。同时,颜色 还具有混合性,牛顿在十七世纪后期用棱镜把太阳光分散成光谱上的颜色光带,用实验证明了白光是由很多 颜色的光混合而成;十九世纪初, Yaung提出某一种波长的光可以通过三种不同波长的光混合而复现出来的 假设,红(R)、绿(G)、蓝(B)三种单色光可以作为基本的颜色一原色,把这三种光按照不同的比例混合 就能准确的复现其他任何波长的光,而它们等量混合就可以产生白光。后来 Maxwell用旋转圆盘所作的颜色 混合实验也验证了 Yaung的假设。在此基础上,1862年, Helmhotz进一步提出颜色视觉机制学说,即三色学 说,也称为三刺激理论。到现在,用三种原色能够产生各种颜色的三色原理已经成为当今颜色科学中最重要 的原理和学说 近代的三色学说研究认为,人眼的视网膜中存在着三种椎体细胞,它们包含不同的色素,对光的吸收和反 射特性不同,对于不同的光就有不同的颜色感觉,研究发现,第一种椎体细胞是专门感受红光的红胞,相似 的,第二和第三种椎体细胞则分别感受绿光和蓝光。它们三者共同作用,使人产生了不同的颜色感觉。例如, 当黄光刺激眼睛时,将会引起红、绿两种椎体细胞几乎相同的反应,而只引起蓝细胞很小的反应,这三种不 同椎体细胞的不同程度的兴奋程度的结果产生了黄色的感觉,这正如颜色混合时,等量的红和绿加上极小量 的蓝可以复现黄色是相同。 三色学说是我们真实感图形学的生理视觉基础,我们所采用的RGB颜色模型来以及其他的计算机图形学中 的颜色模型都是根据这个学说提出来的,我们也根据三色学说用RGB来定义我们的颜色。三色学说是我们颜 色视觉中最基础、最根本的理论。 4.1.3CIE色度图 计算机图形学第四章第104页共36页
计算机图形学 第四章 第 104 页 共 36 页 由光线的光谱能量分布来定义我们的颜色是十分麻烦的,事实上,我们可以用主波长、纯度和明度来简洁 的描述任何光谱分布的视觉效果。而且由实验结果知道,光谱与颜色的对应关系是多对一的,也就是说,具 有不同光谱分布的光产生的颜色感觉是有可能一样的。我们称两种光的光谱分布不同而颜色相同的现象为“异 谱同色”。也是由于这种现象的存在,我们必须采用其他的定义颜色的方法,使光本身与颜色一一对应。 4.1.2 三色学说 通过以往的在物理学上对光与颜色的研究,我们发现,颜色具有具有恒常性,人们可以根据物体的固有颜 色来感知它们,而不会受外界条件变化的影响,颜色之间的对比效应能够使人区分不同的颜色。同时,颜色 还具有混合性,牛顿在十七世纪后期用棱镜把太阳光分散成光谱上的颜色光带,用实验证明了白光是由很多 颜色的光混合而成;十九世纪初,Yaung 提出某一种波长的光可以通过三种不同波长的光混合而复现出来的 假设,红(R)、绿(G)、蓝(B)三种单色光可以作为基本的颜色-原色,把这三种光按照不同的比例混合 就能准确的复现其他任何波长的光,而它们等量混合就可以产生白光。后来 Maxwell 用旋转圆盘所作的颜色 混合实验也验证了 Yaung 的假设。在此基础上,1862 年,Helmhotz 进一步提出颜色视觉机制学说,即三色学 说,也称为三刺激理论。到现在,用三种原色能够产生各种颜色的三色原理已经成为当今颜色科学中最重要 的原理和学说。 近代的三色学说研究认为,人眼的视网膜中存在着三种椎体细胞,它们包含不同的色素,对光的吸收和反 射特性不同,对于不同的光就有不同的颜色感觉,研究发现,第一种椎体细胞是专门感受红光的红胞,相似 的,第二和第三种椎体细胞则分别感受绿光和蓝光。它们三者共同作用,使人产生了不同的颜色感觉。例如, 当黄光刺激眼睛时,将会引起红、绿两种椎体细胞几乎相同的反应,而只引起蓝细胞很小的反应,这三种不 同椎体细胞的不同程度的兴奋程度的结果产生了黄色的感觉,这正如颜色混合时,等量的红和绿加上极小量 的蓝可以复现黄色是相同。 三色学说是我们真实感图形学的生理视觉基础,我们所采用的 RGB 颜色模型来以及其他的计算机图形学中 的颜色模型都是根据这个学说提出来的,我们也根据三色学说用 RGB 来定义我们的颜色。三色学说是我们颜 色视觉中最基础、最根本的理论。 4.1.3 CIE 色度图
由三色学说的原理我们知道,任何一种颜色可以用红、绿、蓝三原色按照不同比例混合来得到,可是,给 定一种颜色,采用如何的三原色比例才可以复现出该色,以及这种比例是否唯一,是我们需要立刻解决的问 题,只有解决了这些问题,我们才能给出一个完整的用RGB来定义颜色的方案,而且不同光与颜色的对应关 系也是一一对应的,奠定真实感图形学的颜色视觉基础。 实际上,上述的问题是一个颜色匹配的过程,最终的结果是使通过三原色混合后的光的颜色与对应给定光 的颜色相同。CIE(国际照明委员会)选取的标准红、绿、蓝三种光的波长分别为:红光,R,A=700m 绿光,6,42=546m;蓝光,B,不3=43587。而光颜色的匹配可以用式子表示为 C=rR+gG+bB (4.1.1) 其中权值r、g、b为颜色匹配中所需要的R、G、B三色光的相对量,也就是三刺激的值。1931年,CIE给出 了用等能标准三原色来匹配任意颜色的光谱三刺激值曲线(图4.1.5),这样的一个系统被称为CIE-RGB系 0.4 0.2 被长 图41.5标准三原色匹配任意颜色的光谱三刺激值曲线 在上面的曲线中我们发现,曲线的一部分三刺激值是负数,这表明我们不可能靠混合红、绿、蓝三种光来 匹配对应的光,而只能在给定的光上叠加曲线中负值对应的原色,来匹配另两种原色的混合。对应于在式 (4.1.1)中的权值会有负值,由于实际上不存在负的光强,而且这种计算极不方便,不易理解,人们希望找 出另外一组原色,用于代替CIE-RGB系统,因此,1931年的CIE-XYZ系统利用三种假想的标准原色X(红)、 Y(绿)、Z(蓝),以便使我们能够得到的颜色匹配函数的三刺激值都是正值。类似的,该系统的光颜色匹 配函数定义为如下的一个式子: C=xX +yr +zZ (4.4.2) 在这个系统中,任何颜色都能由三个标准原色的混合(三刺激值是正的)来匹配。这样我们就解决了用怎样 的三原色比例混合来复现给定的颜色光的问题,下面我们来介绍一下得到的上述比例是否唯一的问题。 (图4.1.6),一个颜色刺激(C)就可以表示为这个三维空间中一个以原点为起点的向量,我们把该三维向 量空间称为(R、G、B)三刺激空间,该空间落在第一象限,该空间中的向量的方向由三刺激的值确定,因而 向量的方向代表颜色。为了在二维空间中表示颜色,我们在三个坐标轴上对称的取一个截面,该截面通过(R)、 (G)、(B)三个坐标轴上的单位向量,因而可知截面的方程为(R)+(G)+(B)=1。该截面与三个坐 标平面的交线构成一个等边三角形,它被称为色度图。每一个颜色刺激向量与该平面都有一个交点,因而色 度图可以表示三刺激空间中的所有颜色值,同时交点的个数是唯一的,说明色度图上的每一个点代表不同的 颜色,它的空间坐标表示为该颜色在标准原色下的三刺激值,该值是唯一的。对于三刺激空间中坐标为X、Y Z的颜色刺激向量Q,它与色度图交点的坐标(x,y,z)即三刺激值也被称为色度值,有如下的表示: 2 +y+z X+y+z X (4.1.3) 计算机图形学第四章第105页共36页
计算机图形学 第四章 第 105 页 共 36 页 由三色学说的原理我们知道,任何一种颜色可以用红、绿、蓝三原色按照不同比例混合来得到,可是,给 定一种颜色,采用如何的三原色比例才可以复现出该色,以及这种比例是否唯一,是我们需要立刻解决的问 题,只有解决了这些问题,我们才能给出一个完整的用 RGB 来定义颜色的方案,而且不同光与颜色的对应关 系也是一一对应的,奠定真实感图形学的颜色视觉基础。 实际上,上述的问题是一个颜色匹配的过程,最终的结果是使通过三原色混合后的光的颜色与对应给定光 的颜色相同。CIE(国际照明委员会)选取的标准红、绿、蓝三种光的波长分别为:红光,R, ; 绿光,G, ;蓝光,B, 。而光颜色的匹配可以用式子表示为: (4.1.1) 其中权值 r、g、b 为颜色匹配中所需要的 R、G、B 三色光的相对量,也就是三刺激的值。1931 年,CIE 给出 了用等能标准三原色来匹配任意颜色的光谱三刺激值曲线(图 4.1.5),这样的一个系统被称为 CIE-RGB 系 统。 在上面的曲线中我们发现,曲线的一部分三刺激值是负数,这表明我们不可能靠混合红、绿、蓝三种光来 匹配对应的光,而只能在给定的光上叠加曲线中负值对应的原色,来匹配另两种原色的混合。对应于在式 (4.1.1)中的权值会有负值,由于实际上不存在负的光强,而且这种计算极不方便,不易理解,人们希望找 出另外一组原色,用于代替 CIE-RGB 系统,因此,1931 年的 CIE-XYZ 系统利用三种假想的标准原色 X(红)、 Y(绿)、Z(蓝),以便使我们能够得到的颜色匹配函数的三刺激值都是正值。类似的,该系统的光颜色匹 配函数定义为如下的一个式子: (4.4.2) 在这个系统中,任何颜色都能由三个标准原色的混合(三刺激值是正的)来匹配。这样我们就解决了用怎样 的三原色比例混合来复现给定的颜色光的问题,下面我们来介绍一下得到的上述比例是否唯一的问题。 我们可以知道,用 R、G、B 三原色(实际上是 CIE-XYZ 标准原色)的单位向量可以定义一个三维颜色空间 (图 4.1.6),一个颜色刺激(C)就可以表示为这个三维空间中一个以原点为起点的向量,我们把该三维向 量空间称为(R、G、B)三刺激空间,该空间落在第一象限,该空间中的向量的方向由三刺激的值确定,因而 向量的方向代表颜色。为了在二维空间中表示颜色,我们在三个坐标轴上对称的取一个截面,该截面通过(R)、 (G)、(B)三个坐标轴上的单位向量,因而可知截面的方程为(R)+(G)+(B)=1。该截面与三个坐 标平面的交线构成一个等边三角形,它被称为色度图。每一个颜色刺激向量与该平面都有一个交点,因而色 度图可以表示三刺激空间中的所有颜色值,同时交点的个数是唯一的,说明色度图上的每一个点代表不同的 颜色,它的空间坐标表示为该颜色在标准原色下的三刺激值,该值是唯一的。对于三刺激空间中坐标为 X、Y、 Z 的颜色刺激向量 Q,它与色度图交点的坐标(x,y,z)即三刺激值也被称为色度值,有如下的表示: (4.1.3)
G 色度平面 Q R Z B=1 B 图41.6三刺激空间和色度图 我们把色度图投影到XY平面上,所得到的马蹄形区域称为CIE色度图(图4.1.7),马蹄形区域的边界 和内部代表了所有可见光的色度值,(因为x+y+z=1,所以只要二维x、y的值就可确定色度值)色度图的边 界弯曲部分代表了光谱在某种纯度为百分之百的色光。图中中央的一点C表示标准白光,CIE色度图有许多 种用途,如计算任何颜色的主波长和纯度,定义颜色域来显示颜色混合效果等,色度图还可用于定义各种图 形设备的颜色域,由于篇幅的原因,我们在这里不再详细介绍了。 520 510绿、540 580 青 0.4 600 红700 蓝 2 紫 700 2 0.4 0.6 图41.7C色度图 计算机图形学第四章第106页共36页
计算机图形学 第四章 第 106 页 共 36 页 我们把色度图投影到 XY 平面上,所得到的马蹄形区域称为 CIE 色度图(图 4.1.7),马蹄形区域的边界 和内部代表了所有可见光的色度值,(因为 x+y+z=1,所以只要二维 x、y 的值就可确定色度值)色度图的边 界弯曲部分代表了光谱在某种纯度为百分之百的色光。图中中央的一点 C 表示标准白光,CIE 色度图有许多 种用途,如计算任何颜色的主波长和纯度,定义颜色域来显示颜色混合效果等,色度图还可用于定义各种图 形设备的颜色域,由于篇幅的原因,我们在这里不再详细介绍了
虽然色度图和三刺激值给出了描述颜色的标准精确方法,但是,它的应用还是比较复杂的,在计算机图形 学中,通常使用一些通俗易懂的颜色系统,我们将在下一小节介绍几个常用的颜色模型,它们都是基于三维 颜色空间讨论的 4.1.4常用的颜色模型 所谓颜色模型就是指某个三维颜色空间中的一个可见光子集,它包含某个颜色域的所有颜色。例如,RGB 颜色模型就是三维直角坐标颜色系统的一个单位正方体。颜色模型的用途是在某个颜色域内方便的指定颜色 由于每一个颜色域都是可见光的子集,所以任何一个颜色模型都无法包含所有的可见光。在大多数的彩色图 显示设备一般都是使用红、绿、蓝三原色,我们的真实感图形学中的主要的颜色模型也是RGB模型,但是 红、绿、蓝颜色模型用起来不太方便,它与直观的颜色概念如色调、饱和度和亮度等没有直接的联系。因此, 在本小节中,我们除了讨论RGB颜色模型,还要介绍常见的OMY,HSV等颜色模型 RGB颜色模型通常使用于彩色阴极射线关等彩色光栅图形显示设备中,它是我们使用最多,最熟悉的颜色 模型。它采用三维直角坐标系。红、绿、蓝原色是加性原色,各个原色混合在一起可以产生复合色。如图4.1.8 所示。RGB颜色模型通常采用图4.1.9所示的单位立方体来表示。在正方体的主对角线上,各原色的强度相 等,产生由暗到明的白色,也就是不同的灰度值。(0,0,0)为黑色,(1,1,1)为白色。正方体的其他 个角点分别为红、黄、绿、青、蓝和品红,需要注意的一点是,RGB颜色模型所覆盖的颜色域取决于显示 设备荧光点的颜色特性,是与硬件相关的 概(0,0.1) 杳(0.1.1) 红 黄 =红 品红 白(1 白=红++蓝 绿 0,0) (1,0. 黄(1,1,0 图418RGB三原色混合效果 图41.9RGB立方体 以红、绿、蓝的补色青(Cyan)、品红( Magenta)、黄( Yellow)为原色构成的aMY颜色模型,常用于 从白光中滤去某种颜色,又被称为减性原色系统。CMY颜色模型对应的直角坐标系的子空间与RGB颜色模型 所对应的子空间几乎完全相同。差别仅仅在于前者的原点为白,而后者的原点为黑。前者是定义在白色中减 去某种颜色来定义一种颜色,而后者是通过从黑色中加入颜色来定义一种颜色 了解CMY颜色模型对于我们认识某些印刷硬拷贝设备的颜色处理很有帮助,因为在印刷行业中,基本上都 是使用这种颜色模型。我们简单的介绍一下颜色是如何画到纸张上的。当我们在纸面上涂青色颜料时,该纸 面就不反射红光,青色颜料从白光中滤去红光。也就是说,青色是白色减去红色。品红颜色吸收绿色,黄色 颜色吸收蓝色。现在假如我们在纸面上涂了黄色和品红色,那么纸面上将呈现红色,因为白光被吸收了蓝光 和绿光,只能反射红光了。如果在纸面上涂了黄色,品红和青色,那么所有的红、绿、蓝光都被吸收,表面 将呈黑色。有关的结果如图4.1.10所示。 蓝=白一紅一青=白一红 白一红一蓝 白红-绿-蓝 品红+白一绿 红=白一绿-蓝 图41.10CMY原色的减色效果 RGB和oMY颜色模型都是面向硬件的,相比较而言,HSV(Hue, Saturation, Value)颜色模型是面向用户的, 该模型对应于圆柱坐标系的一个圆锥形子集(图4.1.11)。圆锥的顶面对应于V=1,它包含RGB模型中的R=1, 计算机图形学第四章第107页共36页
计算机图形学 第四章 第 107 页 共 36 页 虽然色度图和三刺激值给出了描述颜色的标准精确方法,但是,它的应用还是比较复杂的,在计算机图形 学中,通常使用一些通俗易懂的颜色系统,我们将在下一小节介绍几个常用的颜色模型,它们都是基于三维 颜色空间讨论的。 4.1.4 常用的颜色模型 所谓颜色模型就是指某个三维颜色空间中的一个可见光子集,它包含某个颜色域的所有颜色。例如,RGB 颜色模型就是三维直角坐标颜色系统的一个单位正方体。颜色模型的用途是在某个颜色域内方便的指定颜色, 由于每一个颜色域都是可见光的子集,所以任何一个颜色模型都无法包含所有的可见光。在大多数的彩色图 形显示设备一般都是使用红、绿、蓝三原色,我们的真实感图形学中的主要的颜色模型也是 RGB 模型,但是 红、绿、蓝颜色模型用起来不太方便,它与直观的颜色概念如色调、饱和度和亮度等没有直接的联系。因此, 在本小节中,我们除了讨论 RGB 颜色模型,还要介绍常见的 CMY,HSV 等颜色模型。 RGB 颜色模型通常使用于彩色阴极射线关等彩色光栅图形显示设备中,它是我们使用最多,最熟悉的颜色 模型。它采用三维直角坐标系。红、绿、蓝原色是加性原色,各个原色混合在一起可以产生复合色。如图 4.1.8 所示。RGB 颜色模型通常采用图 4.1.9 所示的单位立方体来表示。在正方体的主对角线上,各原色的强度相 等,产生由暗到明的白色,也就是不同的灰度值。(0,0,0)为黑色,(1,1,1)为白色。正方体的其他 六个角点分别为红、黄、绿、青、蓝和品红,需要注意的一点是,RGB 颜色模型所覆盖的颜色域取决于显示 设备荧光点的颜色特性,是与硬件相关的。 以红、绿、蓝的补色青(Cyan)、品红(Magenta)、黄(Yellow)为原色构成的 CMY 颜色模型,常用于 从白光中滤去某种颜色,又被称为减性原色系统。CMY 颜色模型对应的直角坐标系的子空间与 RGB 颜色模型 所对应的子空间几乎完全相同。差别仅仅在于前者的原点为白,而后者的原点为黑。前者是定义在白色中减 去某种颜色来定义一种颜色,而后者是通过从黑色中加入颜色来定义一种颜色。 了解 CMY 颜色模型对于我们认识某些印刷硬拷贝设备的颜色处理很有帮助,因为在印刷行业中,基本上都 是使用这种颜色模型。我们简单的介绍一下颜色是如何画到纸张上的。当我们在纸面上涂青色颜料时,该纸 面就不反射红光,青色颜料从白光中滤去红光。也就是说,青色是白色减去红色。品红颜色吸收绿色,黄色 颜色吸收蓝色。现在假如我们在纸面上涂了黄色和品红色,那么纸面上将呈现红色,因为白光被吸收了蓝光 和绿光,只能反射红光了。如果在纸面上涂了黄色,品红和青色,那么所有的红、绿、蓝光都被吸收,表面 将呈黑色。有关的结果如图 4.1.10 所示。 RGB 和 CMY 颜色模型都是面向硬件的,相比较而言,HSV(Hue,Saturation,Value)颜色模型是面向用户的, 该模型对应于圆柱坐标系的一个圆锥形子集(图 4.1.11)。圆锥的顶面对应于 V=1,它包含 RGB 模型中的 R=1
=1,B=1三个面,因而代表的颜色较亮。色彩H由绕V轴的旋转角给定,红色对应于角度0度,绿色对应于 角度120度,蓝色对应于角度240度。在HSV颜色模型中,每一种颜色和它的补色相差180度。饱和度S取 值从0到1,由圆心向圆周过渡。由于HSV颜色模型所代表的颜色域是CIE色度图的一个子集,它的最大饱 和度的颜色的纯度值并不是100%。在圆锥的顶点处,V=0,H和S无定义,代表黑色,圆锥顶面中心处S=0, V=1,H无定义,代表白色,从该点到原点代表亮度渐暗的白色,即不同灰度的白色。任何V=1,S=1的颜色 都是纯色。 色浓 纯色 色调 灰 色深 蓝 品 0. 黑 图41.11HsV颜色模型 图41.12颜色三角形图41.13RGB正六边形 HSⅤ颜色模型对应于画家的配色的方法。画家用改变色浓和色深的方法来从某种纯色获得不同色调的颜色。 其做法是:在一种纯色中加入白色以改变色浓,加入黑色以改变色深,同时加入不同比例的白色,黑色即可 得到不同色调的颜色。如图4.1.12所示,为具有某个固定色彩的颜色三角形表示。 从RGB立方体的白色顶点出发,沿着主对角线向原点方向投影,可以得到一个正六边形,如图4.1.13所 示,容易发现,该六边形是HSV圆锥顶面的一个真子集。RGB立方体重所有的顶点在原点,侧面平行于坐标 平面的子立方体往上述方向投影,必定为HSV圆锥中某个与Ⅴ轴垂直的截面的真子集。因此,可以认为RGB 空间的主对角线,对应于HSV空间的V轴。这是两个颜色模型之间的一个联系关系 4.2简单光照明模型 当光照射到物体表面时,光线可能被吸收、反射和透射。被物体吸收的部分转化为热。反射、透射的 光进入人的视觉系统,使我们能看见物体。为模拟这一现象,我们建立一些数学模型来替代复杂的物理 模型。这些模型就称为明暗效应模型或者光照明模型。三维形体的图形经过消隐后,再进行明暗效应的 处理,可以进一步提高图形的真实感 为了使读者对于光照明模型有一个感性上的认识,我们先介绍一下光照明模型的早期发展情况: 1967年, Wylie等人第一次在显示物体时加进光照效果[WYLI67]。 Wylie认为:物体表面上一点的光强, 与该点到光源的距离成反比。 1970年, Boukni ght在Com.ACM上发表论文,提出第一个光反射模型[BOUK70],指出物体表面朝向是确 定物体表面上一点光强的主要因素,用 Lambert漫反射定律计算物体表面上各多边形的光强,对光照射不到 的地方,用环境光代替。 1971年, Gourand在 IEEE Trans. Computers上发表论文[GOUR71],提出漫反射模型加插值的思想。对多 面体模型,用漫反射模型计算多边形顶点的光亮度,再用增量法插值计算。 1975年, Phong在Comm.ACM上发表论文[PHON75],提出图形学中第一个有影响的光照明模型。 Phong模 型虽然只是一个经验模型,但是其真实度已达到可以接受的程度 在下面一小节中,我们首先介绍与光照明模型相关的一些光学上的物理知识。这些知识是光照明模型的物 理基础,不仅在本节中起作用,而且还作用于后面的章节 4.2.1相关知识 1.光的传播 在正常的情况下,光沿着直线传播,当光遇到介质不同的表面时,会产生反射和折射现象,而且在反射和 折射的时候,它们遵循反射定律和折射定律。 (1)反射定律:入射角等于反射角,而且反射光线、入射光线与法向量在同一平面上。 计算机图形学第四章第108页共36页
计算机图形学 第四章 第 108 页 共 36 页 G=1,B=1 三个面,因而代表的颜色较亮。色彩 H 由绕 V 轴的旋转角给定,红色对应于角度 0 度,绿色对应于 角度 120 度,蓝色对应于角度 240 度。在 HSV 颜色模型中,每一种颜色和它的补色相差 180 度。饱和度 S 取 值从 0 到 1,由圆心向圆周过渡。由于 HSV 颜色模型所代表的颜色域是 CIE 色度图的一个子集,它的最大饱 和度的颜色的纯度值并不是 100%。在圆锥的顶点处,V=0,H 和 S 无定义,代表黑色,圆锥顶面中心处 S=0, V=1,H 无定义,代表白色,从该点到原点代表亮度渐暗的白色,即不同灰度的白色。任何 V=1,S=1 的颜色 都是纯色。 HSV 颜色模型对应于画家的配色的方法。画家用改变色浓和色深的方法来从某种纯色获得不同色调的颜色。 其做法是:在一种纯色中加入白色以改变色浓,加入黑色以改变色深,同时加入不同比例的白色,黑色即可 得到不同色调的颜色。如图 4.1.12 所示,为具有某个固定色彩的颜色三角形表示。 从 RGB 立方体的白色顶点出发,沿着主对角线向原点方向投影,可以得到一个正六边形,如图 4.1.13 所 示,容易发现,该六边形是 HSV 圆锥顶面的一个真子集。RGB 立方体重所有的顶点在原点,侧面平行于坐标 平面的子立方体往上述方向投影,必定为 HSV 圆锥中某个与 V 轴垂直的截面的真子集。因此,可以认为 RGB 空间的主对角线,对应于 HSV 空间的 V 轴。这是两个颜色模型之间的一个联系关系。 4.2 简单光照明模型 当光照射到物体表面时,光线可能被吸收、反射和透射。被物体吸收的部分转化为热。反射、透射的 光进入人的视觉系统,使我们能看见物体。为模拟这一现象,我们建立一些数学模型来替代复杂的物理 模型。这些模型就称为明暗效应模型或者光照明模型。三维形体的图形经过消隐后,再进行明暗效应的 处理,可以进一步提高图形的真实感。 为了使读者对于光照明模型有一个感性上的认识,我们先介绍一下光照明模型的早期发展情况: 1967 年,Wylie 等人第一次在显示物体时加进光照效果[WYLI67]。Wylie 认为:物体表面上一点的光强, 与该点到光源的距离成反比。 1970 年,Bouknight 在 Comm. ACM 上发表论文,提出第一个光反射模型[BOUK70],指出物体表面朝向是确 定物体表面上一点光强的主要因素,用 Lambert 漫反射定律计算物体表面上各多边形的光强,对光照射不到 的地方,用环境光代替。 1971 年,Gourand 在 IEEE Trans. Computers 上发表论文[GOUR71],提出漫反射模型加插值的思想。对多 面体模型,用漫反射模型计算多边形顶点的光亮度,再用增量法插值计算。 1975 年,Phong 在 Comm. ACM 上发表论文[PHON75],提出图形学中第一个有影响的光照明模型。Phong 模 型虽然只是一个经验模型,但是其真实度已达到可以接受的程度。 在下面一小节中,我们首先介绍与光照明模型相关的一些光学上的物理知识。这些知识是光照明模型的物 理基础,不仅在本节中起作用,而且还作用于后面的章节。 4.2.1 相关知识 1.光的传播 在正常的情况下,光沿着直线传播,当光遇到介质不同的表面时,会产生反射和折射现象,而且在反射和 折射的时候,它们遵循反射定律和折射定律。 (1)反射定律:入射角等于反射角,而且反射光线、入射光线与法向量在同一平面上
光源 法向量 入射光 射光 视线 图421反射定律示意 n1 sIn o (2)折射定律:折射角与入射角满足:7281n 且折射线在入射线与法线构成的平面上,式 子中的符号如下图所示。 入射光 T 折射光 图422折射定律示意 (3)能量关系:在光的反射和折射现象中,能量是守恒的,能量的分布情况满足这样的一个式子:I1=Ia I。+It+I。其中 Ii为入射光强,由直接光源或间接光源引起;I为漫反射光强,由表面不光滑引起 I为镜面反射光强,由表面光滑性引起:I为透射光,由物体的透明性引起 Ⅰ为被物体所吸收的光,由能量损耗引起 2.光的度量 (1)立体角:面元d向点光源P所张的立体角为: d 其中r为点光源到面元中心的垂直距离 计算机图形学第四章第109页共36页
计算机图形学 第四章 第 109 页 共 36 页 (2)折射定律:折射角与入射角满足: , 且折射线在入射线与法线构成的平面上,式 子中的符号如下图所示。 (3)能量关系:在光的反射和折射现象中,能量是守恒的,能量的分布情况满足这样的一个式子:Ii = Id + Is + It + Iv。其中: Ii为入射光强,由直接光源或间接光源引起; Id为漫反射光强,由表面不光滑引起 Is为镜面反射光强,由表面光滑性引起; It为透射光,由物体的透明性引起 Iv为被物体所吸收的光,由能量损耗引起。 2.光的度量 (1)立体角:面元 ds 向点光源 P 所张的立体角 为: 其中 r 为点光源到面元中心的垂直距离
图423点发光强度定义 (2)点发光强度 光通量:单位时间内通过面元ds的光能量,记为dF 发光强度:点光源在某个方向上的发光强度,定义为该方向上单位立体角的内的光通量,即 dh dF a ds 各向同性的点光源,在各个方向上单位立体角内通过的光通量相等,即在各个方向上发光强度相等。设发 F ldm=4x·l 光强度为I,则点光源向外辐射的整个光通量为球立体角内的光通量,即 4.2.2 Phong光照明模型 光照到物体表面时,物体对光会发生反射( Reflection)、透射( Transmission)、吸收( Absorption)、衍 射( Diffraction)、折射( Refraction)、和干涉( Interference)。对于其中的一些现象,我们会在后面的小节 中陆续给出真实感图形学中的模拟,首先我们先来介绍对于光反射现象的研究。 简单光照明模型模拟物体表面对光的反射作用。光源被假定为点光源,反射作用被细分为镜面反射 ( Specular Reflection)和漫反射 (Diffuse Reflection)。简单光照明模型只考虑物体对直接光照的反射作用, 而物体间的光反射作用,只用环境光( Ambient Light)来表示。 Phong光照明模型这样的一种模型。下面,我 们分别从光反射作用的各个组成部分来介绍这个简单光照明模型。 1.理想漫反射 当光源来自一个方向时,漫反射光均匀向各方向传播,与视点无关,它是由表面的粗糙不平引起的,因而 漫反射光的空间分布是均匀的。记入射光强为In,物体表面上点P的法向为M,从点P指向光源的向量为L 两者间的夹角为 theta,由 Lambert余弦定律,则漫反射光强为 2=1,*K4*(,∈(0.z12) 其中,K是与物体有关的漫反射系数,0<K4<1。当L、N为单位向量时,上式也可用如下形式表达 I,=l,ka *(L 在有多个光源的情况下,可以有如下的表示: l-k∑2*( 漫反射光的颜色由入射光的颜色和物体表面的颜色共同设定,在RGB颜色模型下,漫反射系数Kd有三个分 量人命,g,的,分别代表RGB三原色的漫反射系数,它们是反映物体的颜色的,通过调整它们,可以设 定物体的颜色。同样的,我们也可以把入射光强I设为三个分量8”,通过这些分量的值来调整光源的 颜色 2.镜面反射光 对于理想镜面,反射光集中在一个方向,并遵守反射定律。对一般的光滑表面,反射光集中在一个范围内 且由反射定律决定的反射方向光强最大。因此,对于同一点来说,从不同位置所观察到的镜面反射光强是不 同的。镜面反射光强可表示为 1,=l,*E,*cos(a,a∈(0,x/2) 计算机图形学第四章第110页共36页
计算机图形学 第四章 第 110 页 共 36 页 (2)点发光强度 光通量:单位时间内通过面元 ds 的光能量,记为 dF。 发光强度:点光源在某个方向上的发光强度,定义为该方向上单位立体角的内的光通量,即 各向同性的点光源,在各个方向上单位立体角内通过的光通量相等,即在各个方向上发光强度相等。设发 光强度为 I,则点光源向外辐射的整个光通量为球立体角内的光通量, 即 4.2.2 Phong 光照明模型 光照到物体表面时, 物体对光会发生反射(Reflection)、透射(Transmission)、吸收(Absorption)、衍 射(Diffraction)、折射(Refraction)、和干涉(Interference)。对于其中的一些现象,我们会在后面的小节 中陆续给出真实感图形学中的模拟,首先我们先来介绍对于光反射现象的研究。 简单光照明模型模拟物体表面对光的反射作用。光源被假定为点光源,反射作用被细分为镜面反射 (Specular Reflection)和漫反射(Diffuse Reflection)。简单光照明模型只考虑物体对直接光照的反射作用, 而物体间的光反射作用,只用环境光(Ambient Light)来表示。Phong 光照明模型这样的一种模型。下面,我 们分别从光反射作用的各个组成部分来介绍这个简单光照明模型。 1.理想漫反射 当光源来自一个方向时,漫反射光均匀向各方向传播,与视点无关,它是由表面的粗糙不平引起的,因而 漫反射光的空间分布是均匀的。记入射光强为 Ip,物体表面上点 P 的法向为 N ,从点 P 指向光源的向量为 L, 两者间的夹角为 theta,由 Lambert 余弦定律,则漫反射光强为: , 其中,Kd是与物体有关的漫反射系数, 0<Kd<1 。当 L、N 为单位向量时,上式也可用如下形式表达: 。 在有多个光源的情况下,可以有如下的表示: 。 漫反射光的颜色由入射光的颜色和物体表面的颜色共同设定,在 RGB 颜色模型下,漫反射系数 Kd有三个分 量 ,分别代表 RGB 三原色的漫反射系数,它们是反映物体的颜色的,通过调整它们,可以设 定物体的颜色。同样的,我们也可以把入射光强 I 设为三个分量 ,通过这些分量的值来调整光源的 颜色。 2.镜面反射光 对于理想镜面,反射光集中在一个方向,并遵守反射定律。对一般的光滑表面,反射光集中在一个范围内, 且由反射定律决定的反射方向光强最大。因此,对于同一点来说,从不同位置所观察到的镜面反射光强是不 同的。镜面反射光强可表示为: