期刊文献+

高效的多边形布尔计算方法 被引量:6

Efficient algorithm for Boolean operations on polygons
下载PDF
导出
摘要 针对计算机图形学中应用广泛的多边形布尔计算,提出了一种新的、适用于一般多边形的并集、交集和差集算法。算法主要分为计算交点、将交点插入多边形顶点序列、遍历三个步骤。通过采用循环单链表的数据结构、避开复杂的出入点计算、及预先的一些碰撞检测以避开复杂的求交运算与链表遍历等技巧,提高了算法的执行速度、减少了存储单元。算法能够很好地处理一些奇异情形(边界情形),比如重叠边、交点为边的顶点等情形,具有很好的鲁棒性。与经典的Weiler算法、Vatti算法和Greiner-Hormann算法相比,该算法具有较低的时间复杂度O((m+n+k)log d))和空间复杂度。实验结果显示该算法在处理2 222×2 222个顶点、42个交点时比经典的Weiler算法速度提高了296倍。算法的主要思想对确定两个多面体的交、并、差问题亦有参考价值。 In this paper, a new algorithm was proposed for Boolean operations on general polygons, including union,intersection and difference calculations of two polygons, which are of wide application in computer graphics. Our algorithm includes three main steps: computing the intersection points, inserting the intersection points into the polygon vertex lists, and vertex traversal. The adoption of single-linked list data structure enables less storage space. And through uniform processing on intersection points and beforehand collision detection to avoid complicated intersection calculation, this algorithm can accelerate the execution speed and reduce further the storage space. The algorithm possesses good robustness since it can tackle with many singular cases very well. Compared with the classical Weiler algorithm, Vatti algorithm and Greiner-Hormann algorithm, our algorithm has lower time complexity( O(( m + n + k) log d)) and space complexity. The experiments illustrate the efficiency of this algorithm. For a case with 2 222 × 2 222 vertices and 42 intersection points, this algorithm is 296 faster than Weiler algorithm. The main idea of this algorithm is also applicable to the union, intersection and difference calculation of polyhedra.
作者 齐东洲 吴敏
出处 《计算机应用》 CSCD 北大核心 2014年第A02期78-82,共5页 journal of Computer Applications
基金 国家自然科学基金面上项目(11371143) 创新研究群体科学基金资助项目(61321064) 华东师范大学科研创新基金资助项目
关键词 多边形布尔计算 多边形裁剪 交点 循环单链表 polygon Boolean operation polygon clipping intersection point circular single-linked list
  • 相关文献

参考文献21

  • 1尹建伟,陈刚,董金祥.AutoCAD环境下快速裁剪算法的研究[J].计算机工程与应用,2000,36(1):57-58. 被引量:2
  • 2SATO A K, MARTINS T C, GUERRA TSUZUKI M S. Collision free region determination by modified polygonal Boolean operations [ J]. Computer-Aided Design, 2013, 45(7) : 1029 - 1041.
  • 3LIANG Y, BARSKY B A. An analysis and algorithm for polygon dip- ping[J]. Communications of the ACM, 1953, 26(11) :868 -877.
  • 4MAILLOT P G. A new, fast method for 2D polygon dipping: Anal- ysis and software implementation[ J]. ACM Transactions on Graph-ics, 1992, 11(3):276-290.
  • 5O'ROURKE J. Computational Geometry in C [ M]. New York: Cambridge University Press, 1994.
  • 6PREPARATA F P, SHAMOS M I. Computational geometry: an in- troduction[M]. Berlin: Springer, 1985.
  • 7陈涛.适用于凹多边形的Cyrus-Beck改进算法[J].计算机科学,2006,33(12):217-220. 被引量:5
  • 8RIVERO M, FEITO F R. Boolean operations on general planar pol- ygons[ J]. Computers & Graphics, 2000, 24(6) : 881 - 898.
  • 9朱雅音,王化文,万丰,于雷易.确定两个任意简单多边形交、并、差的算法[J].计算机研究与发展,2003,40(4):576-583. 被引量:19
  • 10李旭健,韩丛英.封闭多边形的并、交、差运算[EB/OL].[ 2014-01-01]. http://www, paper, edu. cn/index, php/default/ releasepaper/downPaper/200402 -166.

二级参考文献41

共引文献109

同被引文献48

引证文献6

二级引证文献13

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部