一种优化森林仿真的碰撞检测及响应算法研究

作者:王林龙; 张怀清*; 杨廷栋; 张京; 雷可欣; 陈传松; 张华聪; 刘洋; 崔泽宇; 左袁青
来源:南京林业大学学报(自然科学版), 2023, 47(05): 19-27.

摘要

【目的】针对森林碰撞检测研究中存在碰撞检测对象冗余、碰撞响应模式单一性等问题,研究突破碰撞检测算法时间复杂度高、响应模式缺乏与环境因子交互的技术瓶颈,实现虚拟森林场景快速碰撞检测与真实响应。【方法】以亚热带林业实验中心山下林场的典型林分杉木(Cunninghamia lanceolata)人工纯林为研究对象,选择碰撞检测总消耗的时间t1、包围盒交叉测试时间t2、包围盒构建时间t3、包围盒更新时间t4作为评价指标,比较单一包围盒树(axis-aligned bounding box, AABB)、混合包围盒树体(mixed bounding volume tree, MBVT)算法及引入最近4株树搜索法的MBVT优化算法的碰撞检测效率,分析不同规模大小(20、50、100、200、400、600、800、1 000)及林分株行距(1 m×1 m、2 m×2 m、3 m×3 m、4 m×4 m)双因子对碰撞检测效率的影响机制,最后模拟验证考虑光照因子碰撞响应策略的可行性。【结果】(1)相对MBVT算法,基于最近4株树搜索法的混合包围盒层次树MBVT优化算法耗时缩短了13.75 ms,约为原MBVT算法耗时的29%,能有效减少层次包围盒(bounding volume hierarchies, BVHs)交叉测试时间消耗t2与BVHs构建消耗时间t3,而更新时间t4无明显差异。相对单一包围盒层次树AABB,MBVT算法与基于最近4株树搜索法的MBVT优化算法,分别缩短了124.93、138.68 ms,约为单一包围盒层次树法AABB总耗时的73%、81%。(2)种群规模大小与BVHs碰撞检测总消耗时间t1、BVHs交叉测试时间t2及构建时间t3均表现为正相关性;株行距大小与碰撞检测总耗时间t1与相交测试时间t2呈负相关性,与BVHs构建时间t3无明显关联性;随种群规模增大,株行距减小,总碰撞时间消耗t1、BVHs交叉测试时间t2呈增加趋势,而BVHs构建时间t3几乎没有变化。(3)相比传统的碰撞响应模式,提出的顾及光照因子碰撞响应模式,考虑了植物的趋光性生长特征,模拟的杉木林虚拟场景更为真实。测试虚拟场景的帧率为8.6帧/s,准确度为100%,能很好地实现相邻树木之间碰撞检测及其响应。【结论】引入最近4株树搜索法的MBVT优化碰撞算法,优化混合包围盒层次树法MBVT的碰撞检测对象数量,减少了BVHs交叉测试和构建消耗时间,从而有效提高杉木林虚拟场景的碰撞检测效率;顾及树木生长趋光性的相邻树木碰撞响应算法,通过兰伯特光照模型Lambert Model计算碰撞点周围的光照强度,结合碰撞响应函数完成树木碰撞后可能发生的趋光生长情景模拟,有效解决了森林碰撞响应缺乏与环境因子交互的问题,提高了杉木林虚拟场景的真实感。