计算机图形学06.ppt

上传人:牧羊曲112 文档编号:4536273 上传时间:2023-04-26 格式:PPT 页数:94 大小:1.40MB
返回 下载 相关 举报
计算机图形学06.ppt_第1页
第1页 / 共94页
计算机图形学06.ppt_第2页
第2页 / 共94页
计算机图形学06.ppt_第3页
第3页 / 共94页
计算机图形学06.ppt_第4页
第4页 / 共94页
计算机图形学06.ppt_第5页
第5页 / 共94页
点击查看更多>>
资源描述

《计算机图形学06.ppt》由会员分享,可在线阅读,更多相关《计算机图形学06.ppt(94页珍藏版)》请在三一办公上搜索。

1、,计算机图形学,Computer Graphics,使用班级:地信2009级 王增武 WangZTel:13518208752QQ:64434430,第六章 真实图形,6.1 线消隐6.2 面消隐光照模型光线跟踪表面图案与纹理6.3 颜色空间,为什么要消隐?,投影变换失去了深度信息,往往导致图形的二义性要消除二义性,就必须在绘制时消除被遮挡的不可见的线或面,习惯上称作消除隐藏线和隐藏面,简称为消隐。经过消隐得到的投影图称为物体的真实图形。,所以:如果想有真实感地显示三维物体,必须在视点确定之后,将对象表面上不可见的点、线、面消去。执行这种功能的算法,称为消隐算法。例如:,消隐的对象是三维物体。

2、消隐结果与观察物体有关,也与视点有关。线框图 消隐图 真实感图形,按消隐对象分类线消隐:消隐对象是物体上的边,消除的是物体上不可见的边。面消隐:消隐对象是物体上的面,消除的是物体上不可见的面。,第六章 真实图形,6.1 线消隐6.2 面消隐6.3 颜色空间,线段和多边形的关系有:线段与多边形的任何边均不相交。处理方法比较简单。线段与多边形相交。那么多边形的边把线段投影的参数区间0,1分割成若干子区间,每个子区间对应一条子线段(如下图所示),进一步判断各子线段的隐藏性。,线段投影被分为若干子线段,6.1 线消隐,可见子线段的确定,把各个子线段与所有需要比较的多边形依次进行隐藏性判别,记下各条隐藏

3、子线段的位置。最后,对这些区间进行求并集运算,即可确定总的隐藏子线段的位置,余下的则是可见子线段(右图),6.1 线消隐,第六章 真实图形,6.1 线消隐6.2 面消隐6.3 颜色空间,消隐算法的分类:第一类(图像空间的消隐算法):以窗口内的每个像素为处理单元;如Zbuffer、扫描线、Warnock算法。第二类(物体空间的消隐算法):以场景中的物体为处理单元;如光线投射算法。,6.2 面消隐,第一类(图像空间的消隐算法):以窗口内的每个像素为处理单元;for(窗口内的每一个像素)确定距视点最近的物体,以该物体表面的颜色来显示像素,6.2 面消隐,假设场景中有k个物体,平均每个物体表面由h个多

4、边形构成,显示区域中有m x n个像素,则:算法的复杂度为:O(mnkh),6.2 面消隐,第二类(物体空间的消隐算法):以场景中的物体为处理单元;for(场景中的每一个物体)将其与场景中的其它物体比较,确定其表面的可见部分;显示该物体表面的可见部分;,6.2 面消隐,假设场景中有k个物体,平均每个物体表面由h个多边形构成,显示区域中有m x n个像素,则:算法的复杂度为:O(kh)*(kh),6.2 面消隐,提高消隐算法效率的常见方法,利用连贯性将透视投影转换成平行投影包围盒技术背面剔除空间分割技术物体分层表示,提高消隐算法效率的常见方法1,利用连贯性:相邻事物的属性之间有一定的连贯性,其属

5、性值通常是平缓过渡的,如颜色值、空间位置关系等。物体连贯性面的连贯性区域连贯性扫描线的连贯性深度连贯性,提高消隐算法效率的常见方法1,物体连贯性:如果物体A与物体B是完全相互分离的,则在消隐时,只需比较A、B两物体之间的遮挡关系就可以了,无须对它们的表面多边形逐一进行测试。例如,若A距视点较B远,则在测试B上的表面的可见性时,无须考虑A的表面。面的连贯性:一张面内的各种属性值一般都是缓慢变化的,允许采用增量形式对其进行计算。区域连贯性:区域指屏幕上一组相邻的像素,它们通常为同一个可见面所占据,可见性相同。区域连贯性表现在一条扫描线上即为扫描线上的每个区间内只有一个面可见。,提高消隐算法效率的常

6、见方法1,扫描线的连贯性:相邻两条扫描线上,可见面的分布情况相似。深度连贯性:同一表面上的相邻部分深度是相近的,而占据屏幕上同一区域的不同表面的深度不同。这样在判断表面间的遮挡关系时,只需取其上一点计算出深度值,比较该深度值即可得到结果。,提高消隐算法效率的常见方法2,将透视投影转换成平行投影 消隐与透视关系密切,体现在:1)消隐必须在投影之前完成;2)物体之间的遮挡关系与投影中心(视点)的选取有关;3)物体之间的遮挡关系与投影方式有关,提高消隐算法效率的常见方法3,包围盒技术定义:一个形体的包围盒指的是包围它的简单形体。一个好的包围盒要具有两个条件:包围和充分紧密包围着形体;对其的测试比较简

7、单。,提高消隐算法效率的常见方法3,应用避免盲目求交例如:两个空间多边形A、B在投影平面上的投影分别为A,B,因为A、B的矩形包围盒不相交,则A、B不相交,无须进行遮挡测试。右下图:包围盒相交,投影也相交;包围盒相交,投影不相交。,提高消隐算法效率的常见方法4,背面剔除 外法向:规定每个多边形的外法向都是指向物体外部的。前向面:若多边形的外法向与投影方向(观察方向)的夹角为钝角,称为前向面。后向面:若多边形的外法向与投影方向(观察方向)的夹角为锐角,称为后向面(背面)。剔除依据:背面总是被前向面所遮挡,从而不可见。,提高消隐算法效率的常见方法4,前向面 后向面 多面体的隐藏线消除图中的JEAF

8、、HCBG和DEABC所在的面均为后向面。其它为前向面。,提高消隐算法效率的常见方法5,空间分割技术依据:场景中的物体,它们的投影在投影平面上是否有重叠部分?(是否存在相互遮挡的可能?)对于根本不存在相互遮挡关系的物体,应避免这种不必要的测试。方法:将投影平面上的窗口分成若干小区域;为每个小区域建立相关物体表,表中物体的投影于该区域有相交部分;则在小区域中判断那个物体可见时,只要对该区域的相关物体表中的物体进行比较即可。,提高消隐算法效率的常见方法5,复杂度比较:不妨假定每个小区域的相关物体表中平均有h个物体,场景中有k个物体,由于物体在场景中的分布是分散的,显然h远小于k。根据第二种消隐方法

9、所述,其算法复杂度为O(h*h),远小于O(k*k)。,提高消隐算法效率的常见方法6,物体分层表示表示形式:模型变换中的树形表示方式 原理:减少场景中物体的个数,从而降低算法复杂度。,提高消隐算法效率的常见方法6,方法:将父节点所代表的物体看成子节点所代表物体的包围盒,当两个父节点之间不存在遮挡关系时,就没有必要对两者的子节点做进一步测试。父节点之间的遮挡关系可以用它们之间的包围盒进行预测试。,主要算法:画家算法Z缓冲器算法扫描线Z缓冲器算法,6.2 面消隐,画家算法 1972年M.E.Newell受画家由远至近作画的启发景物空间消隐算法,画家算法(列表优先算法),由来:画家的作画顺序暗示出所

10、画物体之间的相互遮挡关系算法基本思想:1)先把屏幕置成背景色2)先将场景中的物体按其距观察点的远近进行排序,结果放在一张线性表中;(线性表构造:距观察点远的称优先级低,放在表头;距观察点近的称优先级高,放在表尾。该表称为深度优先级表)3)然后按照从远到近(从表头到表尾)的顺序逐个绘制物体。关键:如何对场景中的物体按深度(远近)排序,建立深度优先级表?一种针对多边形的排序算法如下:,画家算法(列表优先算法),Step 1:将场景中所有多边形存入一个线性表,记为L;Step 2:如果L中仅有一个多边形,算法结束;否则根据每个多边形的Zmin对它们预排序。不妨假定多边形P落在表首,即Zmin(P)为

11、最小。再记Q为L P(表中其余多边形)中任意一个;Step 3:判别P,Q之间的关系,有如下二种:(1):对所有的Q,有Zmax(P)Zmin(Q),需进一步判别:,画家算法(列表优先算法),A)若P,Q的投影P,Q的包围盒不相交(图a),则P,Q在表中的次序不重要,令L=L P,返回step 2;否则进行下一步。,画家算法(列表优先算法),B)若P的所有顶点位于Q所在平面的不可见的一侧(图b),则P,Q关系正确,令L=L P,返回step 2;否则进行下一步。,画家算法(列表优先算法),C)若Q的所有顶点位于P所在平面的可见的一侧(图c),则P,Q关系正确,令L=L P,返回step 2;否

12、则进行下一步。,画家算法(列表优先算法),D)对P,Q投影P,Q求交,若P,Q不相交(图d),则P,Q在表中的次序不重要,令L=L P,返回step 2;否则在它们所相交的区域中任取一点,计算P,Q在该点的深度值,如果P的深度小,则P,Q关系正确,令L=L P,返回step 2;否则交换P,Q,返回step 3.,画家算法,本算法不能处理的情况:多边形循环遮挡多边形相互穿透 解决办法:分割成两个,Z-Buffer算法,由来:帧缓冲器 保存各像素颜色值 Z缓冲器-保存各像素处物体深度值 Z缓冲器中的单元与帧缓冲器中的单元一一对应,Z-Buffer算法,思想:先将Z缓冲器中个单元的初始值置为最小值

13、。当要改变某个像素的颜色值时,首先检查当前多边形的深度值是否大于该像素原来的深度值(保存在该像素所对应的Z缓冲器的单元中),如果大于,说明当前多边形更靠近观察点,用它的颜色替换像素原来的颜色;否则说明在当前像素处,当前多边形被前面所绘制的多边形遮挡了,是不可见的,像素的颜色值不改变。,Z-Buffer算法-算法描述,帧缓存全置为背景色深度缓存全置为最小Z值for(每一个多边形)for(该多边形所覆盖的每个象素(x,y)计算该多边形在该象素的深度值Z(x,y);if(Z(x,y)大于Z缓存在(x,y)的值)把Z(x,y)存入Z缓存中(x,y)处 把多边形在(x,y)处的颜色值存入帧缓存的(x,y

14、)处,需要计算的像素深度值次数=多边形个数*多边形平均占据的像素个数,Z-Buffer算法,Z缓冲器算法是所有图像空间算法中最简单的一种隐藏面消除算法。它在象素级上以近物取代远物,与形体在屏幕上的出现顺序无关。优点:1)简单稳定,利于硬件实现 2)不需要整个场景的几何数据缺点:1)需要一个额外的Z缓冲器 2)在每个多边形占据的每个像素处都要计算深度值,计算量大,Z-Buffer算法-改进算法,只用一个深度缓存变量zb的改进算法。一般认为,Z-Buffer算法需要开一个与图象大小相等的缓存数组ZB,实际上,可以改进算法,只用一个深度缓存变量zb。,Z-Buffer算法-改进算法过程,帧缓存全置为

15、背景色for(屏幕上的每个象素(i,j)深度缓存变量zb置最小值MinValue for(多面体上的每个多边形Pk)if(象素点(i,j)在pk的投影多边形之内)计算Pk在(i,j)处的深度值depth;if(depth大于zb)zb=depth;indexp=k;if(zb!=MinValue)在交点(i,j)处用多边形Pindexp的颜色显示,Z-Buffer算法-改进算法,关键问题:判断象素点(i,j)是否在多边形Pk的投影多边形之内计算多边形Pk在点(i,j)处的深度。设多边形Pk的平面方程为:,扫描线Z-buffer算法,由来:Z缓冲器算法中所需要的Z缓冲器容量较大,为克服这个缺点可

16、以将整个绘图区域分割成若干个小区域,然后一个区域一个区域地显示,这样Z缓冲器的单元数只要等于一个区域内像素的个数就可以了。如果将小区域取成屏幕上的扫描线,就得到扫描线Z缓冲器算法。,扫描线Z-buffer算法,算法思想:在处理当前扫描线时,开一个一维数组作为当前扫描线的Z-buffer。首先找出与当前扫描线相关的多边形,以及每个多边形中相关的边对。对每一个边对之间的小区间上的各象素,计算深度,并与Z-buffer中的值比较,找出各象素处可见平面。写帧缓存。采用增量算法计算深度。,扫描线Z-buffer算法,for(v=0;v Z缓冲器的第u单元的值)置帧缓冲器的第(u,v)单元值为当前多边形颜

17、色;置Z缓冲器的第u单元值为d;/处理下一条扫描线,扫描线Z-buffer算法,改进之一:将窗口分割成扫描线Z缓冲器的单元数只要等于一条扫描线内像素的个数就可以了。,扫描线Z-buffer算法,改进之二:采用多边形分类表、活性多边形表避免多边形与扫描线的盲目求交,扫描线Z-buffer算法,改进之三:利用边、边的分类表、边对、活化边对表避免边与扫描线的盲目求交,扫描线Z-buffer算法,改进之四:利用连贯性计算深度水平方向:当沿扫描线u递增一个像素时,多边形所在平面n坐标的增量,对方程au+bv+cn+d=0来说,nu=-a/c 竖直方向nv:当沿扫描线v递增一个像素时,多边形所在平面n坐标

18、的增量,nv=-b/c下一条扫描线与边对左侧边交点处的深度值:nl=nl+DnuDul+Dnv,扫描线Z-buffer算法,缺点在每一个被多边形覆盖像素处需要计算深度值被多个多边形覆盖的像素需要多次计算深度值,区间扫描线算法,与Z-Buffer算法相比,扫描线算法有了很大改进,比如所需的Z-Buffer大大减小,计算深度利用了面连贯性等;缺点:每个像素处都计算深度值,甚至不止一次的计算,运算量仍然很大。改进:在一条扫描线上,每个区间只计算一次深度,即区间扫描线算法,又称扫描线算法。,区间扫描线算法,基本思想:如下图,多边形P1、P2的边界在投影平面上的投影将一条扫描线划分成若干个区间0,u1u

19、1,u2u2,u3u3,u4,u4,umax,覆盖每个区间的有0个、1个或多个多边形,但仅有一个可见。在区间上任取一个像素,计算该像素处各多边形(投影包含了该像素的多边形)的深度值,深度值最大者即为可见多边形,用它的颜色显示整个区间。,区间扫描线算法,注意:该算法要求多边形不能相互贯穿,否则在同一区间上,多边形深度值的次序会发生变化。如图:在区间u1,u2上,多边形P1的深度值大,在区间u3,u4上,多边形P2的深度值大,而在区间u2,u3上,两个多边形的深度值次序发生交替。,区间扫描线算法,数据结构多边形分类表活化多边形表边的分类表活化边表类似于扫描线Z-Buffer算法中的数据结构,区间扫

20、描线算法-算法描述,for(绘图窗口内的每一条扫描线)求投影与当前扫描线相交的所有多边形 求上述多边形中投影与当前扫描线相交的所 有边,将它们记录在活化边表AEL中 求AEL中每条边的投影与扫描线的交点;按交点的u坐标将AEL中各边从左到右排序,两两配对组成一个区间;for(AEL中每个区间)求覆盖该区间的所有多边形,将它们记入活化多边形表APL中;在区间上任取一点,计算APL中各多边形在该点的深度值,记深度最大者为P;用多边形P的颜色填充该区间,区间扫描线算法,相比较扫描线Z-Buffer算法而言,区间扫描线算法做了如下改进:1、在一条扫描线上,以区间为单位确定多边形的可见性 2、不再需要Z

21、-Buffer,第六章 真实图形,6.1 线消隐6.2 面消隐6.3 颜色空间,颜 色 空 间,要生成具有高度真实感的图形,就必须考虑被显示物体的颜色。对颜色的研究非常复杂,涉及到物理学、心理学、美学等领域。描述颜色最简单的方法是用颜色名词,给每种颜色一个固定的名称,并冠以适当的形容词,如大红、血红、铁锈红、浅黄、柠檬黄等等。于是人们可以用颜色名词来交流色知觉信息。但是这种方式不能定量表示色知觉量。在计算机图形学中,我们需要对颜色进行定量的讨论。,物体的颜色与物体本身,光源,周围环境的颜色,以及观察者的视觉系统都有关系。有些物体(如粉笔、纸张)只反射光线,另外有些物体(如玻璃、水)既反射光,又

22、透射光,而且不同的物体反射和透射光的程度也不同。一个只反射纯红色的物体用纯绿色照明时,呈黑色。类似地,从一块只透红光的玻璃后面观察一道蓝光,也是呈黑色。正常人可以看到彩色,全色盲患者则只能看到黑、白、灰色。,按照1854年发表的格拉斯曼(H.Grassmann)定律,从视觉的角度,颜色包含三个要素:色调(hue)、饱和度(saturation)和亮度(lightness)。色调也称色彩,就是我们通常所说的红、蓝、紫等,是使一种颜色区别于另一种颜色的要素。饱和度就是颜色的纯度。在某种颜色中添加白色相当于减少该颜色的饱和度。例如,鲜红色的饱和度高,而粉红色的饱和度低。亮度也叫明度,就是光的强度。,

23、这三个要素在光学中也有对应的术语:主波长(dominant wavelength)、纯度(purity)和辉度(luminance)。主波长是我们观察光线所见颜色光的波长,对应于视觉所感知的色调。光的纯度对应于颜色的饱和度。辉度就是颜色的亮度。一种颜色光的纯度是定义该颜色光的(主波长的)纯色光与白色光的比例。每一种纯色光都是百分之百饱和的,因而不包含白色光。,从物理学知识我们知道,光在本质上是电磁波,波长为400至700 nm。这些电磁波被我们视觉系统感知为紫、青、蓝、绿、黄、橙、红等颜色。可以用光谱能量分布图来表征光源特性。横坐标为波长,纵坐标表示各个波长的光在光源中所含的能量值。事实上,许

24、多具有不同光谱分布的光产生的视觉效果(即颜色)是一样的,也就是说,光谱与颜色的对应是多对一的。光谱分布不同而看上去相同的两种颜色称为条件等色。我们可以用主波长、纯度和辉度三元组来简明地描述任何光谱分布的视觉效果。,1 颜色的基本概念,大红、血红、铁锈红、浅黄、柠檬黄 格拉斯曼(Grassmann H.)定律,从视觉的角度看,颜色包含3个要素,即色调(hue)、饱和度(saturation)和亮度(brightness)。分别对应光学中的术语:主波长(dominant wavelength)、纯度(purity)和辉度(luminance)。可以用光谱能量分布图来表征光源特性,彩色图形显示器(C

25、RT)上每个象素是由红、绿、蓝 三种荧光点组成。这是以人眼的生理特性为基础设计的。人类眼睛的视网膜中有三种锥状视觉细胞,分别对红绿蓝三种光最敏感。实验表明,对蓝色敏感的细胞对波长为440nm左右的光最敏感;对绿色敏感的细胞对波长为545nm左右的光最敏感;对红色敏感的细胞对波长为580nm左右的光最敏感。而且,人类眼睛对蓝光的灵敏度远远低于对红光和绿光的灵敏度。实验表明,在三种视觉细胞的共同作用下,人眼对波长为550nm左右的黄绿色光最为敏感。,2 CIE色度图,一般地,我们称具有如下性质的三种颜色为原色:用适当比例的这三种颜色混合,可以获得白色,而且这三种颜色中的任意两种的组合都不能生成第三

26、种颜色。我们希望用三种原色的混合去匹配,从而定义可见光谱中的每一种颜色。在彩色图形显示器上,通常采用的红、绿、蓝三种基色,就具有以上的性质,因而是三种原色。可以用红、绿、蓝三色来匹配可见光谱中的颜色,光的匹配可用式子表示为c=rR+gG+bB,其中等号表示两边所代表的光看起来完全相同,加号表示光的叠加(当对应项的权值r,g或b为正时),c为光谱中某色光,R、G、B为红、绿、蓝三种原色光,权r、g、b表示匹配等式两边所需要的R、G、B三色光的相对量。若权值为负,则表示我们不可能靠叠加红、绿、蓝 三原色来匹配给定光,而只能在给定光上叠加负值对应的原色,去匹配另二种原色的混合。如果要用红、绿、蓝三原

27、色来匹配任意的可见光,权值中将会出现负值。由于实际上不存在负的光强,人们希望找出另外一组原色,用于替代R、G、B使得匹配时的权值都为正。,1931年,国际照明委员会(简称CIE)规定了三种标准原色X,Y,Z,用于颜色匹配。对于可见光谱中的任何主波长的光,都可以用这三个标准原色的叠加(即正权值)来匹配。即对于可见光谱中任一种颜色c,我们可以找到一组正的权(x,y,z),使得 c=xX+yY+zZ,即用CIE标准三原色去匹配c。XYZ空间中包含所有可见光的部分形成一个锥体,也就是CIE颜色空间。由于权值均为正,整个锥体落在第一卦限。若从原点引一条任意射线穿过该锥体,则该射线上任意两点(x y z)

28、和(x y z)间具有关系(x y z)=a(x y z)(a 0)所以该射线上任意两点(除原点外)代表的色光具有相同的主波长和纯度,只是辉度不同。如果我们只考虑颜色的色调和饱和度,那么在每条射线上各取一点,就可以代表所有的可见光。习惯上,这一点取作射线与平面X+Y+Z=1的交点,把它的坐标称为色度值。,2 CIE色度图,我们可以通过把式中的权规格化,即使得x+y+z=1,即获得颜色c的色度值(x,y,z)。,x y zx+y+z x+y+z x+y+z,x=y=z=,所有色度值落在锥形体与x+y+z=1平面的相交区域上。把这个区域投影到xOy平面上,所得的马蹄形区域称为CIE色度图。如图所示

29、,CIE色度图,马蹄形区域的边界和内部代表了所有可见光的色度值(因为当x,y确定之后,z=1-x-y也随着确定)。弯曲部分上每一点,对应光谱中某种纯度为百分之百的色光。线上标明的数字为该位置所对应的色光的主波长。从最右边的红色开始,沿边界逆时针前进,依次是黄、绿、青、蓝、紫等颜色。图中央一点C对应于一种用于近似太阳光的标准白光。C点接近于,但不等于x=y=z=1/3的点。,CIE色度图的一个重要用途是定义颜色域(color gamut),或称颜色区域(color range),以便显示叠加颜色的效果。如图所示,图用CIE色度图定义颜色域,如图所示,I和J是两个任意的颜色。当它们用不同的比例叠加

30、时,可以产生它们之间连线上的任意一种颜色。如果加入第三种颜色K,则用三种颜色的不同比例可以产生三角形IJK中的所有颜色。对于任意一个三角形,如果它的三个顶点全落在马蹄形可见光区域中,则它们的混合所产生的颜色不可能覆盖整个马蹄形区域,这就是红、绿、蓝三色不能靠叠加来匹配所有可见颜色的原因。,3 几种常用的颜色模型,颜色模型指的是三维颜色空间中的一个可见光子集。RGB颜色模型是一种常见的颜色模型。虽然大多数彩色图形显示器使用红、绿、蓝三原色,但是,红、绿、蓝颜色模型使用起来不太方便。本节将讨论以下几种颜色模型:RGB颜色模型 CMY颜色模型 HSV颜色模型 HLS颜色模型,红、绿、蓝(RGB)颜色

31、模型通常用于彩色阴极射线管和彩色光栅图形显示器。它采用直角坐标系。红、绿、蓝原色是加性原色。也就是说,各个原色的光能叠加在一起产生复合色。,RGB颜色模型,红、绿、蓝(RGB)颜色模型是加性原色。也就是说,各个原色的光能叠加在一起产生复合色,图 RGB三原色叠加效果示意图,RGB颜色模型通常用单位立方体来表示。在正方体的主对角线上,各原色的量相等,产生由暗到亮的白色,即灰度。(0,0,0)为黑,(1,1,1)为白。正方体的其它六个角点分别为红、黄、绿、青、蓝和品红。RGB模型所复盖的颜色域取决于显示器荧光点的颜色特性。颜色域随显示器上荧光点的不同而不同。如果要把在某个显示器上的颜色域里指定的颜

32、色转换到另一个显示器的颜色域中,必须以CIE颜色空间为中介进行转换。,RGB立方体,RGB颜色模型通常用下图所示的单位立方体来表示,与RGB颜色模型不同,以红、绿、蓝的补色青(Cyan)、品红(Magenta)、黄(yellow)为原色构成的CMY颜色系统,常用于从白光中滤去某种颜色,故称为减性原色系统。CMY颜色模型对应的直角坐标系的子空间与RGB模型所对应的子空间几乎完全相同。判别仅在于前者的原点为白,而后者的原点为黑。前者是通过从白色中减去某种颜色来定义一种颜色,而后者是通过向黑色中加入某种颜色来定义一种颜色。,CMY颜色模型,静电或喷墨绘图仪、打印机、复印机等硬拷贝设备将颜色画在纸张上

33、时,使用的是CMY颜色系统。当我们在纸面上涂上青色颜料时,该纸面就不反射红光:青色颜料从白光中滤去红光。也就是说,青色白色红色。类似地,品红颜料吸收绿色,黄色颜料吸收蓝色。如果在纸面上涂了黄色和品红色,则由于纸面同时吸收蓝光和绿光,只能反射红光,所以该纸面呈红色。如果我们在纸面上涂了黄色、品红、和青色的混合,则所有的红、绿、蓝 都被吸收,故表面呈黑色。,CMY颜色模型的减色效果:,图CMY三原色的减色效果示意图,RGB和CMY颜色模型是面向硬件的。比较而言,下面要介绍的HSV(色调hue,饱和度saturation,value)颜色模型则是面向用户的。该模型对应于圆柱坐标系中的一个圆锥形子集.

34、,HSV颜色模型,HSV颜色模型示意图,该模型对应于圆柱坐标系中的一个圆锥形子集,如图所示。,圆锥的顶面对应于V=1,它包含RGB模型中的R=1,G=1,B=1三个面,所代表的颜色较亮。色彩H由绕V轴的旋转角给定。红色对应于角度0,绿色对应于角度120,蓝色对应于角度240。在HSV颜色模型中,每一种颜色和它的补色相差180。饱和度S取值从0到1,所以圆锥顶面的半径为。HSV颜色模型所代表的颜色域是CIE色度图的一个子集,这个模型中饱和度为百分之百的颜色,其纯度一般小于百分之百。,在圆锥的顶点(即原点)处,V=0,H和S无定义,代表黑色。圆锥的顶面中心处S=0,V=1,H无定义,代表白色。从该

35、点到原点代表亮度渐暗的灰色,即具有不同灰度的灰色。对于这些点,S=0,H的值无定义。可以说,HSV模型中的V轴对应于RGB颜色空间中的主对角线。在圆锥顶面的圆周上的颜色,V=1,S=1,这种颜色是纯色。,HSV模型对应于画家配色的方法。画家用改变色浓和色深的方法从某种纯色中获得不同色调的颜色。在一种纯色中加入白色以改变色浓,加入黑色以改变色深,同时加入不同比例的白色,黑色即可获得各种不同的色调。,如图所示,是具有某个固定色彩的颜色的三角形表示。,色浓、色深、色调之间的关系,如上所述,纯色颜料对应于V=1,S=1。添加白色改变色浓,相当于减小S,即在圆锥顶面上从圆周向圆心移动。添加黑色改变色深,相当于减小V值。同时改变S、V值即可获得不同的色调。许多流行的图象处理软件包(如Adobe Photoshop等)提供了对多种颜色模型的支持,并能够把图象在不同颜色模型间转换。当然,由于不同的颜色模型的颜色空间存在差异,原来的颜色模型下的某些颜色在新的颜色模型下可能无法表达,此时,转换所得的图象和原图象的颜色将不会完全相同。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号