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.镜面反射光 对于理想镜面,反射光集中在一个方向,并遵守反射定律。对一般的光滑表面,反射光集中在一个范围内, 且由反射定律决定的反射方向光强最大。因此,对于同一点来说,从不同位置所观察到的镜面反射光强是不 同的。镜面反射光强可表示为: