[发明专利]一种虚拟现实系统的随机碰撞检测算法在审
申请号: | 201710126764.9 | 申请日: | 2017-03-06 |
公开(公告)号: | CN108536880A | 公开(公告)日: | 2018-09-14 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 上海盟云移软网络科技股份有限公司 |
主分类号: | G06F17/50 | 分类号: | G06F17/50;G06T17/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 201306 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 算法 包围盒 碰撞检测 虚拟现实系统 终止条件 干涉 相交 虚拟现实技术 粒子群搜索 二维空间 二维搜索 几何模型 几何元素 不相交 粒子群 实时性 采样 退出 构建 数组 搜索 包围 响应 | ||
本发明公开了一种虚拟现实系统的随机碰撞检测算法,涉及虚拟现实技术领域,包括以下步骤:1、用OBB包围盒算法为输入的几何模型构建OBB包围盒,计算出OBB包围盒的中心位置;2、建立二维搜索空间D,进行特征采样,并存入相应的数组里;3、粒子群在二维空间D中进行搜索,判断包围基本几何元素的OBB包围盒是否发生干涉,不干涉,转6;4、如果包围盒发生干涉,则判断三角形是否相交,不相交,则转7;5、如果三角形相交,做出碰撞后的响应;6、算法是否满足终止条件,满足则退出粒子群搜索算法,否则,转3;7、算法是否满足终止条件,满足则退出程序,否则,转4。本发明有效提高碰撞检测的实时性和精确性。
技术领域
本发明涉及虚拟现实技术领域,尤其是一种虚拟现实系统的随机碰撞检测算法。
背景技术
目前大多数碰撞检测算法都是采用离散的碰撞检测算法,当离散检测设置的步长过大时,两模型就可能发生刺穿现象。当模型运动到狭窄物体两侧时,离散算法无法正确地检测出应有的碰撞。目前存在一些连续的碰撞检测算法,虽然能解决离散碰撞检测算法存在的问题,但是该种算法的时间复杂度和空间复杂度比较高,不适合对实时性要求较高的系统中。因此,碰撞检测领域急需解决的一个实时性和精确性高的碰撞检测算法。
发明内容
本发明提出的一种虚拟现实系统的随机碰撞检测算法,提高碰撞检测的精度。
本发明的技术方案是这样实现的:
一种虚拟现实系统的随机碰撞检测算法,包括以下步骤:
步骤1、用OBB包围盒算法为输入的几何模型构建OBB包围盒,计算出OBB包围盒的中心位置;
步骤2、建立二维搜索空间D,进行特征采样,并存入相应的数组里;
步骤3、粒子群在二维空间D中进行搜索,判断包围基本几何元素的OBB包围盒是否发生干涉,不干涉,转步骤6;
步骤4、如果包围盒发生干涉,则判断三角形是否相交,不相交,则转步骤7;
步骤5、如果三角形相交,做出碰撞后的响应;
步骤6、算法是否满足终止条件,满足则退出粒子群搜索算法,否则,转步骤3;
步骤7、算法是否满足终止条件,满足则退出程序,否则,转步骤4。
作为优选,所述步骤6和步骤7的终止条件包括:
(1)、找到第一个干涉点以后则终止粒子的演化进程,但是若在演化进程中,一直没有找到干涉点,则当粒子的演化代数达到最大演化代数时,终止运行;
(2)、如果想寻找几何模型之间所有的碰撞点,终止条件可以设为达到最大演化代数。
本发明通过提供的一种虚拟现实系统的随机碰撞检测算法,其有益效果在于:能快速的排除不相交的模型,避免了粒子群算法因目标空间大而搜索速度慢或是早熟,也减少了层次包围盒算法占用大量的内存空间和更新速度慢等问题,有效提高碰撞检测的实时性和精确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为OBB包围盒的中心距离示意图;
图2为随机碰撞检测算法流程图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海盟云移软网络科技股份有限公司,未经上海盟云移软网络科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710126764.9/2.html,转载请声明来源钻瓜专利网。