[发明专利]一种软体碰撞检测方法有效
申请号: | 201911153563.3 | 申请日: | 2019-11-22 |
公开(公告)号: | CN111062980B | 公开(公告)日: | 2022-03-25 |
发明(设计)人: | 宁小娟;王映辉;赵艳妮;王静文 | 申请(专利权)人: | 西安理工大学 |
主分类号: | G06T7/55 | 分类号: | G06T7/55;G06T7/60;G06T7/62;G06F30/20;G06F119/14 |
代理公司: | 西安弘理专利事务所 61214 | 代理人: | 曾庆喜 |
地址: | 710048 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软体 碰撞 检测 方法 | ||
1.一种软体碰撞检测方法,其特征在于,具体按照以下步骤实施:
步骤1:对虚拟环境中的运动物体和静止物体建立Sphere包围盒;
步骤2:当运动物体向静止物体靠近时,确定两个碰撞物体的碰撞方向,计算碰撞方向向量,即运动物体包围球的球心与静止物体包围球的球心的方向向量;
步骤3:根据静止物体或运动物体的中心点及碰撞方向向量分别建立空间切割平面,分别确定静止物体和运动物体的预估碰撞范围;
步骤4:对步骤3确定的两个预估碰撞范围构建空间层次体模型,再自顶向下建立两棵AABB层次结构树,判断碰撞相交并对相交包围盒内重叠部分进行空间分割;具体为:
步骤4.1:对预估范围内的点构建空间层次体模型,然后以构建后的空间层次体模型中心点为八叉树的分叉中心,按照自顶向下的方法分别构造静止和运动物体的AABB层次结构树,即从组成目标物体的根节点出发,利用分割性质递归地划分结点,直到达到叶子结点即可;
步骤4.2:对运动物体和静止物体构造的两棵AABB层次结构树进行相交测试,求出叶子结点的相交部分;
步骤4.3:利用八叉树算法将运动物体和静止物体包围盒内依据步骤4.2得到的两模型叶子结点的相交部分进行空间分割,首先划分为八个子空间,再以相同规则对含有重叠部分数据的每个子空间继续划分为八个更小的子空间,当子空间中包含的体素数据少于某指定阈值时,八叉树递归停止;
步骤4.4,遍历分割后的每一个小立方体,判断哪个小立方体中含有运动物体和静止物体建立的包围盒的公共点集;
步骤5:针对步骤4获得的含有两个模型的公共点集的小立方体中的基本几何元素进行相交测试,找到精确的碰撞点;
步骤6:步骤5获取精确的碰撞点,确定中心质点以及受力点,确定形变区域。
2.根据权利要求1所述的一种软体碰撞检测方法,其特征在于,所述步骤1具体为:按照以点O(ox,oy,oz)为球心,r为半径建立Sphere包围球;
其中,Xmax、Xmin、Ymax、Ymin、Zmax、Zmin分别表示运动物体或静止物体投影在X、Y、Z坐标轴上的最大最小值;
点P(px,py,pz)是运动物体或静止物体上距离包围球球心最远的点,半径r通过式(1)求取:
分别建立静止物体和运动物体的包围球(C1,r1)和(C2,r2),C1为静止物体对应建立的包围球球心,C2为运动物体对应建立的包围球球心,r1为静止物体对应建立的包围球半径,r2为运动物体对应建立的包围球半径。
3.根据权利要求1所述的一种软体碰撞检测方法,其特征在于,所述步骤2具体为:
步骤2.1:实时检测两个包围球的球心位置,将运动物体的包围盒球心作为碰撞方位向量的起点,记为C2(Xa,Ya,Za),而将静止物体的包围盒球心作为向量的终点,记为C1(Xb,Yb,Zb);
步骤2.2:计算碰撞方向向量
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安理工大学,未经西安理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911153563.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:灯具
- 下一篇:一种造模方法及动物模型及其应用