[发明专利]一种大规模场景中的粗碰撞检测方法有效
申请号: | 202010688879.9 | 申请日: | 2020-07-17 |
公开(公告)号: | CN111968149B | 公开(公告)日: | 2022-03-22 |
发明(设计)人: | 王沫楠;曹家齐;李东辉 | 申请(专利权)人: | 哈尔滨理工大学 |
主分类号: | G06T7/20 | 分类号: | G06T7/20 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 150080 黑龙*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 大规模 场景 中的 碰撞 检测 方法 | ||
本发明涉及计算机图形处理领域,尤其涉及一种大规模场景中的粗碰撞检测方法。本方法主要用来粗略检测大规模虚拟场景中发生的碰撞,通过引入两个参数判断场景中的物体分布与动静情况,判断优先采用空间推理还是优先采用时间推理的数据处理方式,进一步执行粗碰撞检测。实现较低数据复杂度情况下快速的碰撞剔除。
技术领域
本发明涉及计算机图形处理领域,尤其涉及一种大规模场景中的粗碰撞检测方法。
背景技术
碰撞检测应用在许多领域,如计算机仿真、物理模拟、实时建模及机器人运动规划中,都起到相当重要的作用。尤其是比较大的模拟场景中,对碰撞检测的要求更高,因为需要处理较多的数据,同时满足较快的检测速度。目前比较普遍的碰撞检测方法,主要由两阶段组成,分为粗碰撞检测(Broad-phase Collision Detection)和精确碰撞检测(Narrow-phase Collision detection)。粗碰撞检测通过枚举检测所有可能的碰撞对,获得潜在的碰撞对,减少精确碰撞检测的数据处理量;精碰撞检测方法通过检测潜在的碰撞检测对,进一步确定碰撞与否。
粗碰撞检测通常通过三种策略来处理全局的碰撞,即形状简化,空间推理和时间推理。这三种策略允许快速接近检测对象,输出足够接近且可能发生碰撞的对象列表。形状简化包括用简单的几何图元完全限制每个对象,提供快速的碰撞检测。轴对齐包围盒是应用最多的简化图元,其他的例如球体,定向包围盒和K-离散定向多边形。尽管简化形状在局部作用于每个对象,但空间推理在整体上起作用,对对象的分布进行推理,并识别它们之间的关系,例如簇,分隔轴和排序的方法。通常,通过使用空间分区数据结构,空间排序或散列来实现空间推理。时间推理在于利用模拟中的先前知识并预测其未来的行为,例如识别静态对象,重用先前框架中的计算和结构,甚至推断轨迹以预测碰撞。
目前的方法大多采用单一的数据处理策略进行粗碰撞检测,且其应用场景具有局限性。虽然某一种方法在其所实验的场景具有较好的碰撞检测效果,但应用于其他场景中时效果极差。
发明内容
本发明提供了一种大规模场景中的粗碰撞检测方法,通过不同顺序的数据处理方式,实现较低的碰撞检测数据复杂度,进一步提高粗碰撞检测的速度。本发明为了实现较快速的粗碰撞检测,并且可应用于大部分的大规模场景中,提供了如下技术方案:
一种大规模场景中的粗碰撞检测方法,通过以下步骤实现:
第一步:获取场景中物体的数据;
第二步:构建或者更新空间层次包围盒结构;
第三步:引入参数,记录场景中物体的分布与运动情况,其具体实现方法为:
在构建层次包围盒时,引入参数a:记录场景中物体的分布情况,参数a表示为其中树结构中的理论节点数通过树的度乘以叶节点的层次得到,树结构中的实际节点数为树结构的所有叶节点数;当a=0时表示场景中物体分布非常不均匀,当a=1时表示场景中物体分布均匀;同时定义影响系数α,其影响系数具体取值由大规模场景决定,其默认值取为α=1;
在构建层次包围盒时,引入参数b:记录场景中角色的动静比例,参数b表示为其中当b=0时表示场景中物体均静止,当b=1时表示场景中物体均运动;同时定义影响系数β,其影响系数具体取值由大规模场景决定,其默认值取为β=1;
第四步:执行粗碰撞检测。比较两个参数,判断优先采用哪种方式处理数据:
若aα<bβ,说明场景中物体运动多、静止少,且分布相对不均匀,选择优先采用空间推理处理数据,再采用时间推理处理数据,通过以下步骤并行多线程实现粗碰撞检测:
(1)采用空间细分方法,将物体较多的区域分配更多的资源,使负载均衡;
(2)采用扫描修剪算法,将包围盒排序降维至一维轴中,存储列表;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨理工大学,未经哈尔滨理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010688879.9/2.html,转载请声明来源钻瓜专利网。