基于加速算法线性八叉树快速动态生成研究.docVIP

基于加速算法线性八叉树快速动态生成研究.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于加速算法线性八叉树快速动态生成研究

基于加速算法线性八叉树快速动态生成研究   摘 要:为了满足三维图形系统的交互操作需要,提出了进一步利用深度缓存对基本算法进行了加速。实验结果表明,基本算法为一种速度较快地稳健算法,采用加速后的算法,线性八叉树生成过程可以在高分辨率下快速地执行。   关键词:八叉树深度缓存3D GIS体建模   中图分类号:TP3 文献标识码:A 文章编号:1007-9416(2010)09-0050-01      在真三维GIS、CAD/CAM和虚拟现实系统等三维图形系统中,三维几何实体一般有两种表示形式:一种为面表示(surface representation),另一种为体表示(volumetric representation)。系统的交互操作中,常需要实时地将表达用户感兴趣区域(ROI)的面表示实体转换成体表示进行操作、量算与体绘制。例如在三维地学建模系统中,对某区域矿体储量的估算首先就需要将用户圈出的面表示区域转换成体表示,进而进行相关的块操作和定量量算,并通过体绘制把储量信息直观地反映给用户。然而当体表示模型达到一定的规模和精度时,其较慢生成速度和大量地存储空间会严重影响其在应用中的效率。为了解决速度问题,有学者是采用基于图形硬件加速的实时体素化[1,2]来生成体数据。而解决存储空间过大的方法则是将体数据转换成八叉树等压缩模型,并在此基础上进行操作。为了更好地解决体表示实体在应用中的时间与空间效率问题,本文就图形硬件加速条件下,如何快速动态生成线性八叉树进行了研究。      1 八叉树与线性八叉树的生成   很多学者对从面表示模型生成八叉树或线性八叉树的方法进行了研究[9]。主要分为两类方法:一种是基于连通部分标记技术[10]的填充算法[11,12],这种方法先将实体的每个面片转换成体元表示,通过连通标记来决定实体的内部或外部,从而向体内填充八分体。这种方法不需逐个判断实体中每个体元的属性。然而当实体面片数目巨大时,这种方法并不合适。   另一种为暴力算法,这种算法将空间分解成2n×2n×2n的体元,然后判断每个体元是否处于实体内。如在实体内,则为黑,否则为白。最后将体元以至底向上的合并生成八叉树模型。这种算法具有稳健特性,但是在实体面片数量巨大时,判断体元在实体内的过程会十分烦琐。对于线性八叉树的生成,暴力算法与从三维空间栅格向线性八叉树转换的方法类似,首先需要扫描空间,并记录下体元的位置码。设空间中某体元的位置(I,J,K)可用八进制数表示为:   8      式中cl、dl和el分别为坐标J、I和K二进制数的第l位上的值。如体元(3,4,2)可编码为162。对整个空间扫描完成后,将得到存储了一个无序编码的表。因此需要对表进行排序,并将表达8个相邻体元的编码压缩为表达它们父亲的编码。      2 加速算法   按上述的方法进行编码需要扫描整个空间,通常会扫过大量的不会生成线性八叉树的背景部分,效率不够理想,所以必须减少扫描区域。事实上,可将整个空间2n×2n×2n视为2r+l×2r+l×2r+l,r为某一特定分辨率,l为等于n-r的自然数。如果用一组l阶八分体作为分辨率为r的“粗体元”来近似实体,窗扫描-栈操作只需在这组l阶八分体的的区域中“分治”进行。   2.1 八分体近似   八分体近似的思路是:先获取实体包围盒,并获取与包围盒相交的一组l阶八分体,再从组中找出否含有实体区域的l阶八分体,所得到含有实体区域的l阶八分体就是实体的八分体近似。   因为在深度缓存中可以通过深度值很容易地区分目标与背景,所以任意扫描两片不同方向上的深度缓存,获得目标部分两个在两个不同方向上的包围框便可得到包围盒的范围。设包围盒的由两个体元(Imin,Jmin,Kmin)和(Imax,Jmax,Kmax)表达,可知体元处于的l阶八分体在r分辨率下的坐标为(Irmin,Jrmin,Krmin)和(Irmax,Jrmax,Krmax)。则在r分辨率下,坐标范围处于这两个坐标之间的l阶八分体即与包围盒相交。   从与包围盒相交的那组l阶八分体中分辨出哪些哪些含有实体区域的方法仍然是基于深度缓存,并与判断体元在实体内外的原理类似。只是原来是检查体元坐标是否处于深度范围内,而对于八分体则是检查八分体在深度方向上的范围是否与深度范围相交。如果三个方向上都相交,则八分体与实体相交,含有实体。   从三对深度缓存中分别获得三对大小为2r×2r×2r的深度图像[X’1,X’2],[Y’1,Y’2],[Z’1,Z’2],图像的每个像素对应于在原深度图像上大小为2l×2l一个采样格,其值为采样格中所有像素的中最小深度值(近点)或最大深度值(远点)。设在r分辨率下,有位置为(Ir,Jr,Kr)的某l阶八分体Ol,它分

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档