
真实感图形学.ppt
65页第四章 真实感图形学颜色视觉简单光照明模型局部光照明模型光透射模型纹理及纹理映射整体光照明模型实时真实感图形学技术4.1颜色视觉分析以下的基本现象:为什么计算R、G、B三个分量就可以使人有颜色的视觉感觉?基本概念•颜色是外来的光刺激作用于人的视觉器官而产生的主观感觉,影响的因素有:–物体本身–光源–周围环境–观察者的视觉系统颜色的特性•颜色的三个视觉特性(心理学度量)–色调(Hue)红、绿、蓝–饱和度(Saturation) 颜色的纯度–亮度(Lightness)光的强度•对应的颜色物理特性–主波长(Dominant Wavelength)–纯度(Purity)–明度(Luminance)颜色纺锤体•颜色三特性的空间表示•垂直轴线表示白黑亮度变化•水平圆周上的不同角度点代表了不同色调的颜色•从圆心向圆周过渡表示同一色调下饱和度的提高平面圆形上的色调和饱和度不同,而亮度相同光的物理知识•光是人的视觉系统能够感知到的电磁波–波长在400nm到700nm之间•光可以由它的光谱能量分布 来表示–各种波长的能量大致相等,为白光–各波长的能量分布不均匀,为彩色光–包含一种波长的能量,其他波长都为零,是单色光•光谱能量分布定义颜色十分麻烦•光谱与颜色的对应关系是多对一•两种光的光谱分布不同而颜色相同的现象称为“异谱同色”•必须采用其他的定义颜色的方法,使光本身与颜色一一对应三色学说•颜色视觉及真实感图形学的生理基础,颜色科学中最基本、最重要的理论•颜色具有恒常性,颜色之间的对比效应能使人区分不同颜色•颜色具有混合性,牛顿在十七世纪后期用棱镜把太阳光分散成光谱上的颜色光带,证明白光由很多颜色光混合而成•十九世纪初–Yaung提出某种波长的光可以通过三种不同波长的光混合而复现出来的假说–红(R)、绿(G)、蓝(B)三原色–把三种原色按照不同的比例混合就能准确的复现其他任何波长的光–三原色等量混合产生白光•1862年,Helmhotz在上面的基础上提出颜色视觉机制学说,即三色学说,也称为三刺激理论•用三种原色能够产生各种颜色的三色原理是当今颜色科学中最重要的原理和学说•近代三色学说–视网膜中存在着三种椎体细胞,对光刺激的兴奋程度不同,分别感受红、绿、蓝光。
作用与颜色混合相同–黄光刺激眼睛的例子•三色学说是真实感图形学中RGB颜色模型提出的理论基础CIE色度图•三色学说原理说明任何一种颜色可以用红、绿、蓝三原色按照不同比例混合来得到还有如何使三原色按某唯一比例混合复现给定颜色的问题•颜色匹配-混合光与给定光的颜色相同•CIE-国际照明委员会–选取的标准红、绿、蓝三种光CIE-RGB系统•光的颜色匹配式子:–权值r、g、b为颜色匹配中所需要的R、G、B三色光的相对量•1931年,CIE等能标准三原色匹配任意颜色的光谱三刺激值曲线CIE-XYZ系统•CIE-RGB曲线一部分三刺激值是负数,表明只能在给定光上叠加曲线中负值对应的原色,去匹配另两种原色的混合–计算不便,不易理解•1931年CIE-XYZ系统,利用利用三种假想的标准原色X、Y、Z,使颜色匹配三刺激值都是正值:•CIE系统-复现颜色的三原色比例值存在色度图•复现颜色的三原色比例值是否唯一?•三刺激空间-用三原色的单位向量定义三维颜色空间•颜色刺激表示为三刺激空间中以原点为起点的向量,向量的方向代表颜色•三刺激空间•色度平面•色度图•在三刺激空间上取通过(R)、(G)、(B)坐标轴单位向量的截面,截面的方程为(R)+(G)+(B)=1。
该截面与三个坐标平面的交线构成一个等边三角形,称为色度图•颜色刺激向量与色度图有且仅有唯一交点,色度图可以唯一的表示三刺激空间中的所有颜色值•色度图上每一个点代表不同的颜色,对于三刺激空间中坐标为X、Y、Z的颜色刺激向量Q,它与色度图交点的坐标(x,y,z)即三刺激值也被称为色度值CIE色度图•CIE色度图-色度图投影到XY平面上•马蹄形区域的边界和内部代表了所有可见光的色度值•边界弯曲部分代表了光谱在某种纯度为百分之百的色光•色度图与三刺激值是描述颜色的标准精确方法,应用较复杂•CIE色度图•Z=1-X-Y•二维表示常用颜色模型•颜色模型是指某个三维颜色空间中的一个可见光子集,包含某个颜色域的所有颜色•颜色模型的用途是在某个颜色域内方便的指定颜色RGB颜色模型•通常使用于彩色光栅图形显示设备中•真实感图形学中的主要的颜色模型•采用三维直角坐标系•RGB立方体•红、绿、蓝原色混合在一起可以产生复合色•三原色混合效果CMY颜色模型•以红、绿、蓝的补色青、品红、黄为原色构成的颜色模型•常用于从白光中滤去某种颜色,又被称为减性原色系统,在白色中减去某种颜色来定义一种颜色•用于印刷行业中•印刷硬拷贝设备的颜色处理•在白纸面上涂黄色和品红色,纸面上将呈现红色白光被吸收了蓝光和绿光,只能反射红光•RGB颜色模型与CMY颜色模型都是面向硬件模型HSV颜色模型•HSV颜色模型是面向用户的•对应圆柱坐标系的圆锥形子集•圆锥的顶面对应于V=1•色彩H由绕V轴的旋转角给定•饱和度S取值从0到1,由圆心向圆周过渡画家配色方法•HSV模型对应画家的配色的方法•在一种纯色中加入白色以改变色浓,加入黑色以改变色深。
同时加入不同比例的白色,黑色即可得到不同色调的颜色RGB模型与HSV模型联系•RGB立方体从白色顶点沿着主对角线向原点方向投影,可以得到一个正六边形,该六边形是HSV圆锥顶面的一个真子集•RGB空间的主对角线,对应于HSV空间的V轴4.2简单光照明模型模拟物体表面的光照明物理现象的数学模型-光照明模型简单光照明模型只考虑光源对物体的直接光照早期发展•1967年,Wylie等人第一次在显示物体时加进光照效果•1970年,Bouknight提出第一个光反射模型:Lambert漫反射+环境光•1971年,Gourand提出漫反射模型加插值的思想•1975年,Phong提出图形学中第一个有影响的光照明模型相关物理知识•光的传播–反射定律:入射角等于反射角,而且反射光线、入射光线与法向量在同一平面上折射定律–折射定律:折射线在入射线与法线构成的平面上,折射角与入射角满足能量关系–在光的反射和折射现象中的能量分布:–下标为i,d,s,t,v的能量项分别表示为入射光强,漫反射光强,镜面反射光强,透射光强,吸收光强–能量是守恒的光的度量•立体角:面元ds向点光源P所张的立体角为•点发光强度–单位时间内通过面元ds的光能量为光通量dF–点发光强度为某个方向上单位立体角的内的光通量Phong光照明模型•简单光照明模型模拟物体表面对光的反射作用•光源为点光源•反射作用分为–镜面反射(Specular Reflection)–漫反射(Diffuse Reflection)•物体间作用用环境光(Ambient Light)表示Phong模型几何Phong模型的表示•理想漫反射–漫反射光均匀向各方向传播,与视点无关–由Lambert余弦定律,漫反射光强为– 是与物体有关的漫反射系数,–漫反射系数 有三个分量 ,分别代表RGB三原色的漫反射系数,通过调整它们来设定物体的颜色镜面反射光•对一般的光滑表面,反射光集中在一个范围内,且由反射定律决定的反射方向光强最大•镜面反射光强可表示为– 是与物体有关的镜面反射系数,n为反射指数,反映物体表面的光泽程度,数目越大物体表面越光滑–反射方向计算–镜面反射光将会在反射方向附近形成很亮的光斑,称为高光现象–镜面反射光产生的高光区域只反映光源的颜色–镜面反射系数 是一个与物体的颜色无关的参数环境光•环境光是指光源间接对物体的影响•光在物体和环境之间多次反射,最终达到平衡•同一环境下的环境光光强分布均匀•近似表示:– 为物体对环境光的反射系数Phong光照明模型•Phong光照明模型的综合表述:由物体表面上一点P反射到视点的光强I I为环境光的反射光强 、理想漫反射光强 、和镜面反射光 的总和。
Phong模型的实现•对物体表面上的每个点P,均需计算光线的反射方向为了减少计算量,假设:–光源在无穷远处,L为常向量–视点在无穷远处,V为常向量–(H•N)近似(R•V),H为L与V的平分向量•对所有的点总共只需计算一次H的值,节省了计算时间•Phong光照明模型的RGB颜色模型形式:Phong光照明模型的不足•Phong光照明模型是真实感图形学中提出的第一个有影响的光照明模型•经验模型,Phong模型存在不足:–显示出的物体象塑料,无质感变化–没有考虑物体间相互反射光–镜面反射颜色与材质无关–镜面反射大入射角失真现象Phong模型示例_1增量式光照明模型•Phong模型光强计算公式是物体表面法向量的函数•多边形内部的象素颜色相同•不同法向的多边形邻接处有光强突变及马赫带效应•保证多边形之间的颜色光滑过渡-增量式光照明模型基本思想•在每个多边形顶点处计算光照明强度或参数,然后在各个多边形内部进行双线性插值,得到多边形光滑均匀颜色分布•两个主要算法–双线性光强插值、Gouraud明暗处理–双线性法向插值、Phong明暗处理Gouraud双线性光强插值•Gouraud于1971年提出,又被称为Gouraud明暗处理•计算多边形各顶点的光强,再用双线性插值,求出多边形内部各点的光强算法描述•算法步骤的基本描述:–计算多边形顶点的平均法向–用简单光照明模型计算顶点的平均光强–插值计算离散多边形边上的各点光强–插值计算多边形内域中各点的光强。
•与某个顶点相邻的所有多边形的法向平均值近似作为该顶点的近似法向量•顶点A相邻的多边形有k个,它的法向量计算为:•计算出的平均法向一般与该多边形物体近似曲面的切平面比较接近顶点法向计算顶点平均光强计算•用Phong光照明模型及平均法向量计算在顶点A处的光强•Gourand提出明暗处理方法时,Phong模型还没有出现,采用:光强插值•双线性光强插值–由顶点的光强插值计算各边的光强,然后由各边的光强插值计算出多边形内部点的光强增量算法•扫描线由j变成j+1,新扫描线上边点光强:•扫描线内部,横坐标由i增为i+1,扫描线上象素点的光强:Phong双线性法向插值•双线性光强插值解决了相邻多边形之间的颜色突变问题,镜面反射效果不太理想,相邻多边形的边界处的马赫带效应不能完全消除•改进-Phong提出双线性法向插值,以时间为代价,引入镜面反射,解决高光问题算法特点•保留双线性插值,对多边形边上的点和内域各点,采用增量法•对顶点的法向量进行插值,而原顶点的法向量,仍用相邻多边形的法向作平均•由插值得到法向,来计算多边形每个象素的光强度•假定光源与视点均在无穷远处,光强只是法向量的函数法向插值方法•方法与光强插值类似,其中的光强项用法向量项来代替。
基本公式:•增量插值计算也类似,用法向代替光强增量式光照明模型评价•双线性光强插值能有效的显示漫反射曲面,计算量小•双线性法向插值可以产生正确的高光区域,但是计算量要大的多•增量式光照明模型的不足–物体边缘轮廓是折线段而非光滑曲线–等间距扫描线会产生不均匀效果–插值结果决定于插值方向增量式模型示例•牛的三角网格模型• 用简单光照明模型显示• 用增量式光照明模型显示阴影的生成•点光源产生的阴影光源作为观察点,用传统隐藏面消除算法可求得阴影区域•阴影多边形算法–1978年,Atherton等人提出–第一次用隐藏面消除技术来生成阴影–相对光源可见的多边形被称为阴影多边形–区分阴影多边形,阴影区域域减少显示光强•阴影域多面体算法–光源照射不到的物体后面形成的三维多面体阴影区域为阴影域–阴影域是一个以被光照面为顶面,表面的边界与光源所张的平面系列为侧面的一个半开三维区域–物体的阴影域被视空间四棱椎裁剪得到的三维阴影域变成封闭多面体,为阴影域多面体–包含于阴影多面体内的物体表面是阴影区域–物体与阴影多面体三维布尔交求阴影区域,涉及大量的复杂三维布尔运算,算法的计算复杂度是相当可观–Crow于1977年提出基于扫描线隐藏面消除算法来生成阴影,可以有效的判定一个物体表面是否包含在阴影域多面体之内。
在传统算法基础上稍加改动即可,应用广泛其他方法•整体光照明模型如光线跟踪算法和辐射度算法都可以很好的处理阴影的生成问题,将在后面讨论。












