工学图形学学习.pptx
A A 缓冲器方法缓冲器方法(1)场景中的多边形先按y排序,然后,对位于给定扫描线活化多边形表中的多边形先按x再按z排序。(2)如果某个像素被一个多边形完全覆盖,且该多边形离视点最近,则像素显示该多边形的颜色。如果像素窗口中含有多个多边形(包括已裁剪的多边形面片),则采用z z排序多边形表,从最近的多边形开始,用前面的多边形裁剪后面的多边形,直至遇到包围多边形(或背景)或裁剪到最后一个多边形为止。像素的光亮度由各裁剪多边形的光亮度按其在像素中可见区域所占面积进行加权平均得到。xyz象 素射线射 线平面第1页/共38页A缓冲器算法A缓冲器算法采用子像素位屏蔽字来近似计算多边形在像素内的可见区域及面积。将整个像素划分为84个子区域,每一子区域用一机器位来表示,因此整个像素可用一32位字长的机器字来表示 0000000 0 00 0 000000000111 1 1 11 1 11 111100 000 0 0 00 0000 0000000000 xorxor0000000000 0001110000000000000 000000 00 0 0000 000000001111111 111 1111=00 0 0 0 00 0 00 00 0 01 1 10 010 1 10 通过边的位屏蔽字构造多边形的位屏蔽字多边形所覆盖的像素位屏蔽字可采用下述方法确定:首先求得表面多边形每一条边的像素位屏蔽字(右边屏蔽位全置1),然后异或所有边的像素位屏蔽字即可获得该像素的位屏蔽字。边的像素位屏蔽字可通过一查找表来求得一个84的像素位屏蔽字对应95个网格点,每一网格点可与其余任一网格点构成一条边,因此屏蔽位查找表总共包括4545个像素位屏蔽字。对于多边形的任一边,首先在像素位屏蔽字中求得与其端点最近的网格点,然后由这两个网格点构成一索引在查找表中查得该边的像素位屏蔽字。第2页/共38页由 和 计算Ain和Aout 的面积取全1像素屏蔽字作为查找屏蔽字 当前多边形 的像素位屏蔽字为 A缓冲器各像素颜色的计算 M:8X4的像素位屏蔽字 A:面积(0-1)C:颜色 Opacity:不透明度(0-1)设最前面的多边形片为 ,它将整个像素区域分为被覆盖的部分和未被覆盖的部分,其对应的像素位屏蔽字分别为 和 ,面积分别为 和 。设 和 分别表示 和 部分的颜色,则该像素的颜色可表示为 1 1 1f求Ain和Aout Aout=1-Ain第3页/共38页A A 缓冲器方法缓冲器方法例:设像素被A和B两个物体覆盖,物体A较物体B更靠近观察者,像素位屏蔽字为 ,设 和 分别表示A和B两表面的像素位屏蔽字,则查找屏蔽字和像素位屏蔽字为的初始状态如下:1 1 1 1 1 1 1 1 1 AB像素被A,B两物体覆盖第4页/共38页3.将 作为新的 ,将 作为新的 ,缓冲器方法缓冲器方法1.处理面片A2.处理面片B1 1 1 1 1 1 1 1 1 AB像素被A,B两物体覆盖得Ain=6/13,Aout=7/13得Ain=7/7,Aout=0/7第5页/共38页 不透明 为该多边形片的颜色值 透明 区域的颜色 的颜色 紧跟 后面的多边形的颜色 的不透明度和颜色值分别为Opacityfront和Cfront,紧跟后面且其投影区域与 重叠的多边形为back,其像素位屏蔽字为 颜色为 缓冲器方法缓冲器方法确定 区域的颜色 设面片f挡住了面片e1 1 1fe如果面片e不透明如果面片e透明,则 由下式计算Ain=1,Aout=2第6页/共38页A A 缓冲器方法缓冲器方法上述方法是一递归过程,当 为零时递归结束 A缓冲器方法可直接用于基于z-缓冲器消隐的图形绘制算法中,稍加修改后也可用于扫描线绘制算法。使用A缓冲器技术可有效克服边界像素中的图形走样现象,绘制出复杂场景的高质量的真实感图形,而且计算耗费增加不多,这使得它在一些实用图形系统中得到广泛应用。茶壶轮廓细节描述茶壶把交叉处细节描述第7页/共38页光线跟踪的图形反走样技术光线跟踪的图形反走样技术一束入射光线射至曲面相交于A,B和C三点。入射光线相对于A,B和C三点的镜面反射光线分别为r1,r2和r3,当曲面的曲率较大时,反射光线r1,r2和r3将不能和位于这些反射光线之间的物体相交,从而使曲面的镜面映射效果变得不真实。中心RB点采样导致图形走样G入射光线ABCr1r2r3反射产生的图形走样像素细分技术:其基本思想是将发生图形走样的像素细分为四个子像素,分别对子像素进行光线跟踪。若子像素仍有图形走样,则对子像素继续细分,直到每一子像素的光亮度都大致正确为止。最后取各子像素光亮度的加权平均即可得到整个像素的光亮度。I3I4I34I41:原有的采样点:增加的采样点I1I2I12I23Im图12.37 算法中的像素细分和增加的采样点第8页/共38页设像素e的四个角点分别为 四个角点处对应的光亮度分别为I1,I2,I3和I4,像素e上的光亮度定义为 像素e上的光亮度I应为其上所有光亮度的平均值 光线跟踪的图形反走样技术光线跟踪的图形反走样技术细分技术和滤波技术结合使用一种简单的滤波方法是将通过像素中心点发射的光线改为通过像素的四个角点发射光线,最终像素的光亮度是该像素四个角点光亮度的算术平均值。I3I4I1I2第9页/共38页光线跟踪的图形反走样技术光线跟踪的图形反走样技术procedure Antialiasing(I1,I2,I3,I4,I)begin:if (I1,I2,I3,I4大致相等或子像素的面积小于给定值)then I=(I1+I2+I3+I4)/4I3I4I34I41:原有的采样点:增加的采样点I1I2I12I23Im图12.37 算法中的像素细分和增加的采样点elsebegin在像素四条边界线的中点及像素中心点发射光线,计算五个采样点处的光亮度I12,I23,I34,I41和Im;Antialiasing(I1,I12,Im,I41,Ia);Antialiasing(I12,I2,I23,Im,Ib);Antialiasing(Im,I23,I3,I34,Ic);Antialiasing(I41,Im,I34,I4,Id);I=(Ia+Ib+Ic+Id)/4endend 第10页/共38页12.6 12.6 辐射度方法 光线跟踪算法能模拟景物表面间的镜面反射,规则透射及阴影等整体光照效果,但很难模拟景物表面间的多重漫反射效果,因而不能重现诸如色彩辉映等光照现象。实际场景中大多数景物表面为漫射面,如同景物表面之间存在镜面反射和规则透射一样,漫射表面之间也存在光能传递。日常生活中,我们会发现靠墙悬挂的红衣裳会给洁白的墙面留下一片淡淡的红晕,这种相距较近的景物表面之间的颜色辉映现象正是表面之间漫射光能传递的结果。本节中将介绍一种模拟漫射表面间的多重漫反射效果的方法辐射度方法。辐射度方法是继光线跟踪算法后真实感图形绘制技术的一个重要发展。第11页/共38页辐射度方法的原理 辐射度方法基于热辐射工程中的能量传递和守恒理论,即一个封闭环境中的能量经多重反射以后,最后会达到一种平衡状态。由于这种能量平衡状态可以用一种系统方程来定量表达,因而与以往光照模型和绘制算法不同,辐射度方法是一种整体求解技术。一旦得到辐射度系统方程的解,就知道了每个景物表面的辐射度分布,因此就可选取一视点或视线方向对整个场景进行绘制。第12页/共38页辐射度方程辐射度方程 为表面某一单位面积微元上朝某辐射方向发出的光通量,与光亮度I 的关系为:该单位面积微元向其四周半空间总的辐射度:辐射度与光亮度的关系r理想漫反射表面每点处的辐射度值与光亮度值之比为一常数因子 某一表面 上的微面元 向周围环境辐射的能量由两部分组成:它自身所具有的辐射光能;接受来自环境中其它景物表面向该微面元辐射的光能所产生的反射光能。辐射度方法可模拟景物表面间的多重漫反射效果。把求光亮度问题转化为求辐射光能讨论 的辐射度第13页/共38页微面元 的辐射度 为 在封闭场景中,入射到微面元 处的光通量 是 向 发射的 光通量 的总和。用 来表示从 微面元 辐射到 的光能占它向 四周辐射的总光能的比例,称为 对 的形状因子。则 对 的入射光能为 ,其中 为微面元 的面积。因此 可表示为 辐射度方程辐射度方程Ni NjdSj dSi rij i j点j对i的形状因子几何说明其中S表示环境中的所有表面理想漫反射表面接受到来自空间任一方向的光能后会均匀地朝四周反射出去,故形状因子 只与微面元 和 的相对位置和几何大小有关,即 仅是一个纯几何量。如何计算形状因子第14页/共38页沿 方向辐射的光能 与光亮度I的关系 到 的形状因子为:接收到 发出的能量为 计算形状因子Ni NjdSj dSi rij i j点j对i的形状因子几何说明当从 处观察 时,所张成的立体角为 为 与 之间的距离 为遮挡函数 若 与 之间存在遮挡物 第15页/共38页微面元 的辐射度 为辐射度方程辐射度方程一般理想漫射环境的辐射度方程 为Ni NjdSj dSi rij i j点j对i的形状因子几何说明入射到微面元 处的光通量所以,一般理想漫射环境的辐射度方程 设 的周围环境由j个面片构成,所以第16页/共38页辐射度方程辐射度方程假设分割后的场景中第i个面片 的辐射度为 ,其自身拥有的辐射度为 ,漫反射系数为 ,其面积为 矩阵表示形式简化后的漫反射环境的辐射度系统方程微面元 辐射度方程 第17页/共38页形状因子 有以下良好的性质:(1)和 服从交换率 (2)由能量守恒定律得 (3)若 为一平面或凸曲面片 形状因子形状因子由 和对称性得第18页/共38页 在 的基面上的投影面积在整个底面中所占的比例为 Nusselt发现微面元 到 面片的无遮挡形状因子 可以用投影的方法来进行计算,通常称这种方法为Nusselt相似性方法。对于微面元 ,首先以它的中心为球心,沿正法向方向建立一个半径为1的辐射空间半球面,把面片投影到半球面上,所得的投影区域再继续垂直向下投影到半球面的基面上。微面元 对面片 的形状因子等价于 在基面上的投影与基面圆的面积之比。半立方体半立方体形状因子与立体角的关系dSjSiNjSk形状因子计算公式没有精确的解析表达式。因而,在热辐射工程和图形学中常采用数值方法来求解形状因子半立方体算法。第19页/共38页半立方体半立方体形状因子与立体角的关系dSjSiNjSk 半立方体网格剖分Sj数值方法求解形状因子基础:如果两个面片在半球面上的投影区域相同,那么,基面片对于这两个面片的形状因子相等 半立方体(hemi-cube)算法 半立方体算法的基本思想:在每个面元的中心处沿其正法向量方向放置一个虚拟的半立方体,半立方体的五个表面被剖分成均匀正方形网格(通常为5050或100100),每一网格均对应朝向半球面空间的一个微立体角,从而形成个半空间立体角查找表。算法预先计算、存储好半立方体中心面元对各表面网格的微形状因子。第20页/共38页如果面片 投影于半立方体的侧面 如果面片 投影于半立方体的顶部 半立方体半立方体zx y1r顶 面 网 格A 顶面网格小形状因子的推导 (x,y,1)jijiz侧面网格Ax y1rz 侧面网格小形状因子的推导半立方体上各网格的小形状因子值的可通过 的近似公式计算得顶部网格的小形状因子为 得侧面网格的小形状因子为 面片Sj对面片Si完整的形状因子为 第21页/共38页形状因子计算步骤 (1)计算面片的半立方体网格的小形状因子并存放于一个查找表中;(2)对于场景中的每一个面片 :1)以面片 的中心为原点,建立坐标系和半立方体,并将场景中的其他所有 面片都变换到所建立的坐标系当中;2)对于半立方体上的每一个网格,用深度缓存消隐算法求各面片在其上的投影,并将在投影方向上离该网格最近的面片号记入深度缓存中;(3)根据深度缓存中记录的面片号和微形状因子查找表,将微形状因子累加起来,形成面片 到 的形状因子。半立方体半立方体zx y1r顶 面 网 格A 顶面网格小形状因子的推导 (x,y,1)jijiz侧面网格Ax y1rz 侧面网格小形状因子的推导第22页/共38页12.7 12.7 基于图像的绘制技术基于图像的绘制技术基于图像的绘制(Image-Based Rendering)是指用预先获得的一组图像(合成的或真实的)重构出三维场景,与基于几何建模的三维场景表示不同,这里重构出的三维场景不需要具有场景的完整几何定义,新图像的合成则是通过适当地组合原有的图像来实现。受相机视野的限制,有时一个感兴趣的区域需要拍摄多幅图像,这样对该区域进行重构就不可避免地要涉及图像拼合。本节简要介绍基于图像的绘制技术和图像的拼接技术。Virtual Museum第23页/共38页基于图像的绘制技术基于图像的绘制技术对基于图像的绘制技术,主要介绍基于视图插值的技术约定有关的概念:将已知的、系统输入的图像称为参考图像(reference image);经过合成的在不同视点上的图像称为理想图像(desired image)或合成视图(synthesis view),也简称新视图。将IBR所能表示的相机/视点运动方式分为相机旋转(位置不变,方向改变)、对象旋转(方向不变,位置绕对象改变)、相机移动(位置和方向都在变化)及缩放(改变焦距)等。第24页/共38页Quick Time VR 系统第25页/共38页1.基于视图插值的技术视图插值(view interpolation,也称图像插值)是一种由离散图像生成连续的画面的技术.从本质上来说,视图插值过程是一种特殊的二维图像变形过渡(Morphing)技术。对实际拍摄的图像来说,有两种方法可用来获得有关信息:一是用深度摄像机来获得图像的深度信息,并记录其摄像机的有关参数;二是采用计算机视觉理论来恢复深度信息及其摄像机参数。在下面的讨论中,假设相邻两帧图像(称为左图像和右图像)的深度值及其相关摄像机参数均为已知,且它们表现同一静态场景。第26页/共38页1.基于视图插值的技术深度图像间像素对应关系的自动建立MpZ1Y1 O1X1O2X2Y2qZ2I1I2视图插值(view interpolation)是一种由离散图像生成连续的画面的技术,该技术能在相邻采样点图像(或环境映照)之间实现光滑自然的过渡,从而逼真地再现各相邻采样点间场景透视效果的变化。fz1Mp(u1,v1)aWO1 摄像机成像原理图第27页/共38页左图像上的像素p和右图像上的像素q之间的对应关系由摄像机原理知:fz1Mp(u1,v1)aWO1 摄像机成像原理图M点在右图像上的位置:为了提高插值速度,可以将q点的坐标用相对坐标,(u2-u1,v2-v1)表示。该坐标定义了像素p与q的相对位置,称为p点的偏移量。所以第28页/共38页O1、O2之间的距离较小时,可以采用线性插值来计算可见点在中间画面上的投影坐标。两幅图像之间进行插值(动画)当摄像机作线性的平行移动时,即摄像机坐标系保持互相平行,则可以通过下式计算中间图像上的像素的摄像机坐标投影(xc,yc):第29页/共38页2.基于全视函数的方法 全视函数:全视函数是一个参数化函数,它定义了空间任意点处,在任何时刻和任一波长范围内的所有可见信息。对空间任一视点V,从该视点出发的任一条视线均可用视线的仰角和方位角来定义。记光波波长为,则视点V处的全视函数在t时刻可定义在一个七维的参数空间上:V(Vx,Vy,Vz)全视函数的几何描述图 像 样本图像样本部分立方体全景 立方体全景图示意图像样本部分圆柱面全景 圆柱面全景示意第30页/共38页PlenOptic Modeling 系统(圆柱面全景图)(动画)第31页/共38页目前IBR技术面临的问题主要有:1)表示模式:怎样找到一种简便有效且适合计算机的表示模式,能精确完整地对场景进行编码。2)捕获方法:是用手持相机还是数控摄像机、图像采样的数量多少、采样模式及样本均匀性等都会影响问题求解的难度和精度。3)走样与空洞:如何解决因采样引起的走样和空洞问题。4)信息压缩:基于图像的方法不可避免地面临着大量图像的压缩问题,怎样利用数据间的连贯性,找到合理有效的压缩机制。5)完全漫游:如何实现基于表示模式的完全实时漫游。包括模拟相机旋转、对象旋转、相机移动及缩放等相机运动方式。第32页/共38页图像的拼接图像的拼接图像拼接一般应满足几个条件:1)相邻的图像之间有足够的重叠区域,以便匹配能够实现;2)这些图像拍摄时的光照条件、相机参数等尽量接近或相同,以减少外部环境带来的噪声因素。1.Feature-based方法 2.Area-based方法第33页/共38页1.Feature-based方法 (1)图像的降噪和边缘检测运算 (2)轮廓特征的计算:封闭轮廓、非封闭轮廓、交叉点等。描述其形状最常用的属性有轮廓的周长、面积、似圆度和 中心矩等 (3)基于特征的判定运算:利用两幅图像中的相似特征进行匹配,可根据周长、面积作为判定依据来进行特征匹配 (4)图像拼接:图像全部拼接完成后有可能导致首尾出现缝隙 2.Area-based方法Area-based方法的基本原理是在被检测的两幅图像中,各取一个小窗口进行判定,如果两个窗口的颜色信息相似,则认为两个窗口满足颜色特征匹配,然后对图像进行自动拼接。第34页/共38页图像2图像1折叠变换折叠变换局部匹配图像整合坐标映射图像拼合的算法流程第35页/共38页+一幅全景图的拼接结果第36页/共38页全景图的拼接第37页/共38页感谢您的观看。第38页/共38页