第十一讲面消隐 ?基本概念 ?提高消隐算法效率的常见方法 ?画家算法 ?乙缓冲器算法 ?扫描线Z缓冲器算法 ?区域子分算法 ?光线投射算法
第十一讲 面消隐 ?基本概念 ?提高消隐算法效率的常见方法 ?画家算法 ?Z缓冲器算法 ?扫描线Z缓冲器算法 ?区域子分算法 ?光线投射算法
基本概念 生真实感的方法之 反映三维场景中的相互遮挡关系 ●面消隐与线消隐 表面模型与线框模型 物体表面:平面与曲面 面消隐对象:由平面多边形构成的多面体
基本概念 产生真实感的方法之一: 反映三维场景中的相互遮挡关系 面消隐与线消隐 表面模型与线框模型 物体表面:平面与曲面 面消隐对象: 由平面多边形构成的多面体
基本概念 ●消隐算法的分类 1)类:以窗口内的每个像素为处理单元 for(窗口内的每一个像素) 确定距视点最近的物体,以该物体表面的颜色来显示像 素} 2)类:以场景中的物体为处理单元; for(场景中的每一个物体) 将其与场景中的其它物体比较,确定其表面的可见部分 显示该物体表面的可见部分;
基本概念 消隐算法的分类 1)类:以窗口内的每个像素为处理单元; for (窗口内的每一个像素) { 确定距视点最近的物体,以该物体表面的颜色来显示像 素} 2)类:以场景中的物体为处理单元; for (场景中的每一个物体) { 将其与场景中的其它物体比较,确定其表面的可见部分; 显示该物体表面的可见部分; }
基本概念 算法复杂度 假设场景中有k个物体,平均每个物体表 面由h个多边形构成,显示区域中有mxn 个像素,则 第一种算法的复杂度为:O(mnkh) 第二种算法的复杂度为:O(kh)*(kh)
基本概念 算法复杂度 假设场景中有k个物体,平均每个物体表 面由h个多边形构成,显示区域中有m x n 个像素,则: 第一种算法的复杂度为:O(mnkh) 第二种算法的复杂度为:O((kh)*(kh))
提高消隐算法效率的常见方法 ●利用连贯性 将透视投影转换成平行投影 ●包围盒技术 背面剔除 ●空间分割技术 ●物体分层表示
提高消隐算法效率的常见方法 利用连贯性 将透视投影转换成平行投影 包围盒技术 背面剔除 空间分割技术 物体分层表示