计算机科学 ›› 2025, Vol. 52 ›› Issue (4): 222-230.doi: 10.11896/jsjkx.240700042
宋海川1, 邱荪泓1,2, 汪鑫星1, 李一锦3, 陈振华1, 陈小雕4
SONG Haichuan1, QIU Sunhong1,2, WANG Xinxing1, LI Yijin3, CHEN Zhenhua1, CHEN Xiaodiao4
摘要: 隐藏线消除,即消除在一定视角下被遮挡的线段,是解决三维场景中视觉混淆问题的关键技术。其中,物体空间的隐藏线消除技术可以计算可见性变化点的精确坐标,因此在实际工程中被广泛用于三维可视化建模、高精度图纸的绘制等。然而,先前的物体空间消隐算法在处理实际工程中常用的网格体模型时,往往会因为模型面内部含有大量三角面片而计算效率低下。因此,提出了基于轮廓线的网格体物体空间快速消隐算法。该算法通过网格体轮廓线投影的交集进行三角面片的筛选及其求交计算,从而避免了大部分的无效求交计算。同时,在求交后根据待定可见性变化点所在线段与轮廓线和模型的射入、射出情况进行快速可见性判断,进一步提高了算法效率。实验结果显示,在两种常见的消隐模式下处理普通和复杂网格体模型的消隐,所提算法相较于对比算法效率分别提高了20倍和80倍以上,与主流几何内核ACIS的消隐处理效率差距在2.5倍以内。
中图分类号:
[1]SUN J G,HU S M.Fundamental Course in Computer Graphics [M].Beijing:Tsinghua University Press,2009. [2]SUTHERLAND I E,SPROULL R F,SCHUMACKER R A.A characterization of ten hidden-surface algorithms[J].ACM Computing Surveys(CSUR),1974,6(1):1-55. [3]JIN H L,GAO J X.A Summary of Algorithms for Removing the Hidden Lines and Surfaces [J].Computer and Digital Enginee-ring,2006,34(9):27-31. [4]GUO H,FU H G,LUO D H.Realization of hidden line removal in 3D dynamic geometry [J].Journal of Computer Applications,2007,27(3):663-665. [5]LUO G L,WANG R,WU H,et al.Fast hidden line removalmethod for large-scale 3D substation scene model based on Z-buffer algorithm optimization [J].Journal of Graphics,2021,42(5):775. [6]RUOBERTS L G.Machine perception of three-dimensional so-lids[D].Massachusetts:Massachusetts Institute of Technology,1963. [7]WEISS R A.BE VISION,a package of IBM 7090 FORTRANprograms to draw orthographic views of combinations of plane and quadric surfaces[M]//Seminal graphics:pioneering efforts that shaped the field.1998:7-17. [8]WEILER K,ATHERTON P.Hidden surface removal using poly-gon area sorting[J].ACM SIGGRAPH computer graphics,1977,11(2):214-222. [9]APPEL A.The notion of quantitative invisibility and the ma-chine rendering of solids[C]//Proceedings of the 1967 22nd National Conference.1967:387-393. [10]GALIMBERTI R.An algorithm for hidden line elimination[J].Communications of the ACM,1969,12(4):206-211. [11]LOUTREL P P.A solution to the hidden-line problem for computer-drawn polyhedra[J].IEEE Transactions on Computers,1970,100(3):205-213. [12]DEVAI F.Quadratic bounds for hidden line elimination[C]//Proceedings of the Second Annual Symposium on Computational Geometry.1986:269-275. [13]GHALI S.A survey of practical object space visibility algo-rithms[J/OL].https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=3a735dce573effddf635dd03310ef50fafc2c3e9. [14]OTTMANN T,WIDMAYER P.Solving visibility problems by using skeleton structures[C]//International Symposium on Mathematical Foundations of Computer Science.Berlin,Heidelberg:Springer,1984:459-470. [15]OTTMANN T,WIDMAYER P,WOOD D.A worst-case efficient algorithm for hidden-line elimination[J].International Journal of Computer Mathematics,1985,18(2):93-119. [16]NURMI O.A fast line-sweep algorithm for hidden line elimination[J].BIT Numerical Mathematics,1985,25(3):466-472. [17]GOODRICH M T.A polygonal approach to hidden-line and hidden-surface elimination[J].CVGIP:Graphical Models and Image Processing,1992,54(1):1-12. [18]HSU W I,HOCK J L.An algorithm for the general solution of hidden line removal for intersecting solids[J].Computers & graphics,1991,15(1):67-86. [19]SONG R J,ZHANG J L,LI X D.Study and improvementation of hidden-line removal algorithm for convex polyhedrons [J].Computer Engineering and Design,2012,33(6):2358-2362. [20]XU X,SHI K L,YONG J H.Hidden-Line Elimination with To-lerance [J].Journal of System Simulation,2013,25(9):2079-2084. [21]ELBER G,COHEN E.Hidden curve removal for free form surfaces[J].ACM SIGGRAPH Computer Graphics,1990,24(4):95-104. [22]JANSSEN T L.A simple efficient hidden line algorithm[J].Computers & Structures,1983,17(4):563-571. [23]SPILLERS W R,LAW K H.On the hidden line removal problem[J].Computers & structures,1987,26(4):709-717. [24]3D ACIS Modeler[EB/OL].(2024-06-15) [2024-06-16].https://www.spatial.com/products/3d-acis-modeling. |
|