Key Laboratory of Urban Land Resources Monitoring and Simulation, Ministry of Land and Resources, Shenzhen, China.
Changjiang Institute of Survey, Planning, Design and Research, Wuhan, China.
PLoS One. 2020 Feb 21;15(2):e0229038. doi: 10.1371/journal.pone.0229038. eCollection 2020.
In this paper, a novel 3D roaming algorithm considering collision detection and interaction is proposed that adopts a triangle mesh to organize and manage massive spatial data and uses a customized bounding box intersector to rapidly obtain the potential collided triangles. The proposed algorithm can satisfy the requirements of timeliness and practicability during complicated large 3D scene collision detection. Moreover, we designed a method to calculate the collision point coordinates according to the spatial position relation and distance change between the virtual collision detection sphere and triangles, with the triangle edges and three vertices being considered. Compared to the methods that use the native intersector of OpenSceneGraph (OSG) to obtain the collision point coordinates, the calculation efficiency of the proposed method is greatly improved. Usually, when there is a big split/pit in the scene, the viewpoints will fly off the scene due to the fall of the collision detection sphere, or the region interior cannot be accessed when the entrance of some local region (e.g., internal grotto) of the scene is too small. These problems are solved in this paper through 3D scene-path training and by self-adaptively adjusting the radius of the virtual collision detection sphere. The proposed 3D roaming and collision detection method applicable for massive spatial data overcomes the limitation that the existing roaming and collision detection methods are only applicable to 3D scenes with a small amount of data and simple models. It provides technical supports for freewill browsing and roaming of indoor/outdoor and overground/underground of the 3D scene in cases of massive spatial data.
本文提出了一种新的考虑碰撞检测和交互的三维漫游算法,该算法采用三角形网格来组织和管理大量的空间数据,并使用定制的包围盒交集器来快速获取潜在的碰撞三角形。该算法可以满足复杂的大型三维场景碰撞检测中对实时性和实用性的要求。此外,我们设计了一种根据虚拟碰撞检测球体与三角形之间的空间位置关系和距离变化来计算碰撞点坐标的方法,考虑了三角形的边和三个顶点。与使用 OpenSceneGraph (OSG) 的本机交集器获取碰撞点坐标的方法相比,该方法的计算效率大大提高。通常,当场景中有大的裂缝/坑时,由于碰撞检测球体的坠落,视点会飞出场景,或者当场景的某些局部区域(例如内部洞穴)的入口太小时,内部区域无法访问。通过三维场景路径训练和自适应调整虚拟碰撞检测球体的半径,可以解决这些问题。所提出的适用于大量空间数据的三维漫游和碰撞检测方法克服了现有漫游和碰撞检测方法仅适用于少量数据和简单模型的三维场景的局限性。它为大规模空间数据下的三维场景的自由浏览和漫游提供了技术支持,无论是室内/室外还是地上/地下。