图形消隐算法综述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2. 1. 1 旋转变换 物体绕 Y轴旋转的角度 α的三维旋转变换矩
阵为 : co sα 0 - sinα 0
01 0 0 T = sinα 0 co sα 0
00 0 1
物体绕 Z轴旋转的角度 β的三维旋转变换矩
阵为 :
co sβ sinα 0 0
- sinβ co sβ 0 0
T=
0
0 10
0
0 01
关系有以下 4种 :
①多边形包围了窗口 ;
②多边形与窗口相交 ;
③窗口包围了多边形 ;
④窗 口 与 多 边 形
图 2 子分的过程
分离 。 对于一个窗口 ,当满
足下列条件之一时 ,不再分解 :
①所有多边形位于窗口之外 ;
②仅一个多边形与窗口相交 ,或这个多边形包
含在窗口内 ;
③仅一个多边形与窗口相交 ,这个多边形把窗
关键词 计算机图形学 消隐 物体空间法 图象空间法 算法 中图分类号 TP301. 6
A Summary of A lgor ithm s for Rem ov ing the H idden L ines and Surfaces
J in Ha iliang1) , 2) Gao J ingx iang2) ( Territory Resources Information and Surveying Engineering Department, Xuzhou Normal University1) , Xuzhou 221116)
Key words Coຫໍສະໝຸດ Baiduputer Graphics, H idden L ines and Surfaces Removal, Object Space A lgorithm , Image Space A lgorithm , A l2 go rithm
C la ss num ber TP301. 6
根据解析几何原理 ,通过标准的平面方程可以 判断给定点是在平面的正面还是背面 。平面公式 法利用此原理来判断观察点位于物体表面的哪一 面 ,如位于背面一侧 ,则表面不可见 ,应被消隐 ;反 之则可见 。
对物体的任意表面 ,可将其划分为若干个平 面 ,在根据平面上任意三点的坐标可以求得其平面 方程 。标准的平面方程为 :
隔离平面法主要用于多个物体之间的消隐处 理 ,其基础是平面公式法 。其基本原理是 ,在需要 进行消隐处理的两个物体之间建立一个虚拟平面 , 并根据平面公式法判断出两个物体分别位于该平 面的哪一侧 ,以及该平面的哪一侧朝向观察点 ,则 可以推论得到位于平面朝向观察点一侧的物体离 观察点较近 ,将遮挡位于平面背向观察点一侧的物 体 。即位于平面背向观察点一侧的物体应被首先 画出 ,且应进行消隐 。 2. 2. 5 深度排序法
2. 2 消隐算法 常用的物体空间消隐算法包括平面公式法 、径
向预排序法 、径向排序法 、隔离平面法 、深度排序
法 、光线投射法和区域子分法 。其中前三种算法最
常用 ,它们的基础都是背面消隐原理 。所谓背面消 隐原理 ,即是相对观察点来说朝向后面的物体表面
是不可见的 ,应被隐藏 。 2. 2. 1 平面公式法
1 引言
消隐就是要运用某种算法把物体上看不见的 线或面从画面中消去或者用虚线画出 。为消去隐 藏面 ,要把每一个组成物体的面与每一个不透明面 进行遮蔽判断 ,把可见的或部分可见的与不可见的 或部分不可见的区别开来 ,最后绘出那些可见面或 面的可见部分 ,这样就可得到经过消隐处理的立 体图 。
消隐处理是计算机绘图中一个引人注目的 问题 ,目前已提出多种算法 ,基本上可以分为两 大类 :即物 体 空 间 方 法 和 图 象 空 间 方 法 。物 体 空间方法是通过比较物体和物体的相对关系来 决定可见与不可见的 ; 而图象空间方法则是根
( School of Environment & Spatial Information, Chinese University of M ining&Technology2) , Xuzhou 221008)
Abstract By the p rincip le of the removing the hidden lines and surfaces, the advantages, disadvantages and the range of ap2 p lication of algorithm s for removing the hidden lines and surfaces are analyzed. The object space algorithm has high accuracy, for the resolution factor lim it of equipment; the algorithm is suitable for accurate engineering app lication. The tableau obtained by image space algorithm can not be satisfied, but in the p rocess of raster scanning the continuity can be utilized easily, so the algorithm is ef2 ficient for realization.
图 1 径向预排序法示例
径向预排序法消隐的要点是先对物体及物体 的表面进行由远及近的排序 ,对具有相同角位置的 物体或表面 ,先画较远的 ,后画较近的 ,这样如果较
第 34卷 (2006)第 9期 计算机与数字工程
29
近的物体或表面挡住了较远的物体或表面 ,则被遮 挡的部分被覆盖而实现消隐 。但对具有不同角位 置的物体或表面 ,先画哪一个可根据需要来决定 。 如果存在凹面物体的消隐 ,一般应先画物体中心部 分 ,再画物体的两侧 ,以正确地表现互相重叠的凹 面模型 。
3 收到本文时间 : 2006年 1月 20日 基金项目 :徐州师范大学科学基金资助项目 (编号 05XLA12)资助
28
图形消隐算法综述 第 34卷
而得到物体的观察坐标 。物体的观察坐标能得到
描述物体的更好视角 ,所以物体空间法通常都是在 观察坐标系中进行的 。观察坐标系的原点一般即
是观察点 。
物体空间法消隐包括两个基本步骤 ,即三维坐 标变换和选取适当的隐藏面判断算法 。
2. 1 三维坐标变换 选择合适的观察坐标系不但可以更好地描述
物体 ,而且可以大大简化和降低消隐算法的运算 。 因此 ,利用物体空间法进行消隐的第一步往往是将 物体所处的坐标系转换为适当的观察坐标系 。这
需要对物体进行三维旋转和平移变换 。
据在图象象素点上各投影点之间的关系来确定 可见与否的 。用这两类方法就可以消除凸型模 型 、凹形模型和多个模型同时存在时的隐藏面 。 本文将概括 、讨论多种隐藏面的消除方法 ,以期 能为更好 、更快 、更完善地编写绘制立体图消隐 程序提供一些参考 。
2 物体空间法
物体空间法是在三维坐标系中 ,通过分析物体 模型间的几何关系 ,如物体的几何位置 、与观察点 的相对位置等 ,来进行隐藏面判断的消隐算法 。世 界坐标系是描述物体的原始坐标系 ,物体的世界坐 标描述了物体的基本形状 。为了更好地观察和描 述物体 ,经常需要对其世界坐标进行平移和旋转 ,
深度排序法也是主要用于分析多个物体之间 是否存在表面遮挡的消隐算法 。其原理是比较不 同物体或表面的表示远近的 z坐标 ,在观察点位于 原点的观察坐标系中 , | z |值越大的物体或表面离 观察点越远 ,被消隐的可能性越大 ,应先画出 ; | z | 值越小的物体或表面离观察点越近 ,将可能遮挡较 远的物体或表面 ,应后画出 。
摘 要 根据图形消隐的基本原理 ,概述了当前在三维图形处理中最主要的物体空间消隐算法和图象空间消隐算法 , 对各种算法的优缺点和适用范围作了总结和比较 。认为物体空间算法精度高 ,受设备的分辨率限制 ,适用于要求精密的工 程应用领域 ;而图象空间算法生成的画面放大后往往不能令人满意 ,但由于它在光栅扫描过程中易于利用画面的连贯性 , 实现的效率往往更高 。
不同的光线路径时 ,能自动地消除隐藏面 。缺点是
占用内存多 ,计算量大 。
2. 2. 7 区域子分法
这是一种所谓分而治之的方法 ,即整个屏幕称
为窗口 ,分而治之算法是一个递推的 4 等分过程 ,
每一次把矩形的窗口等分成 4个相等的小矩形 ,分
成的矩形也称为窗口 ,如图 2所示. 每一次子分 ,均
需把要显示的多边形与窗口的关系作一比较 ,这种
物体绕 X轴旋转的角度 γ的三维旋转变换矩
阵为 :
1
0 T=
0
0
00
co sγ sinγ 0
- sinγ co sγ 0
00
01
2. 1. 2 平移变换
三维平移变换矩阵如下 :
1 0 00
0 1 00 T=
0 0 10 Δx Δy Δz 1 其中 Δx、Δy、Δz分别为物体沿 X、Y、Z轴的平 移量 。
深度排序法需要用到深度信息和绘图顺序 ,通 常用于模型数据中包含深度信息和绘图顺序的物 体造型 。 2. 2. 6 光线跟踪法
光线跟踪法也叫光线投影法 。一束光线照射 在物体上 ,经反射后 ,触到人们的眼睛 ,最接近观察 者的表面应该是被画的表面 。
此法要求分析显示屏幕上的每一点 ,每个点都 要给出能反映表面反射特性及物体亮度特性的颜 色参数 。它最大的优点是高度的真实性 ,当它跟踪
径向预排序法可以对任意形状的物体进行消 隐处理 。但需要预先知道观察角度 ,并根据角位置 对物体的画图顺序预先排序 。而且构造模型的编 码受到这种排序的限制 ,模型不能进行旋转变换 。 2. 2. 3 径向排序法
径向排序法是对径向预排序法的改进算法 ,使 得构造模型的编码能根据观察角度的变化 ,来自动 调整物体或表面的远近顺序即画图顺序 ,以实现对 模型的旋转变换 ,以便能从不同的角度来观察物 体 。算法需要检测旋转变换的角度 ,并随角度的变 化而调整物体或表面的远近顺序 。 2. 2. 4 隔离平面法
Ax +B y + Cz +D = 0; 其中 A、B、C、D 为决定平面的常数 。 当把一个平面想象成一个凸型多面体时 ,设观 察点坐标为 ( x, y, z) : 如果 Ax + By + Cz + D = 0,则观察点 ( x, y, z) 是该平面表面上的一个点 ; 如果 Ax + By + Cz + D > 0,则观察点 ( x, y, z) 在凸型 多 面 体 内 部 (称 该 表 面 是 不 可 见 的 或 隐 藏的 ) ; 如果 Ax +By +Cz +D < 0,则观察点 ( x, y, z)在凸 型多面体外表面 (称该表面是可见的 ) ,应被画出。 通过对物体进行适当旋转和平移后 ,可将物体 变换到以观察点为原点的观察坐标系中 ,如果在观 察坐标系中求得了平面的方程 Ax + B y + Cz + D = 0,将观察点坐标代入上面的判断准则 ,则可得出如 下的简单判据 : D > 0,则平面不可见 ,应被隐藏 ; D < 0,则平面是可见面 ,应被画出 。 平面公式法算法简便 ,安全可靠 ,是在实际中 使用最频繁的消隐算法 。但它只能用于凸面体的 消隐 ,而不适用于凹面体消隐 。 2. 2. 2 径向预排序法 径向预排序法根据物体在三维坐标系 XY平 面中的角位置来判断哪些物体挡住了其它物体 ,物 体的哪些表面挡住了其它表面 。对具有相同角位 置的物体或表面 ,与观察点较近的将挡住较远的 。 如图 1所示 。
第 3 4卷 ( 20 06 )第 9 期 计 算 机 与 数 字工 程 2 7
图形消隐算法综述 3
靳海亮 1) , 2) 高井祥 2)
(徐州师范大学国土信息与测绘工程系 1) 徐州 221116) (中国矿业大学环境与测绘学院 徐州 221008)