[发明专利]基于K_DOPs快速连续碰撞检测方法有效
申请号: | 201210020950.1 | 申请日: | 2012-01-30 |
公开(公告)号: | CN102609321A | 公开(公告)日: | 2012-07-25 |
发明(设计)人: | 张平;杜广龙 | 申请(专利权)人: | 华南理工大学 |
主分类号: | G06F11/00 | 分类号: | G06F11/00 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 何淑珍 |
地址: | 510640 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 k_dops 快速 连续 碰撞 检测 方法 | ||
1.基于K_DOPs快速连续碰撞检测方法,其特征在于包括以下步骤:
S1、给定初始时间点和终止时间点,用静态K_DOPs算法检测两个对象在初始点和终止点是否发生碰撞,如果有发生碰撞,则退出,否则,转步骤2;
S2、根据两个对象的运动路径进行包围盒动态相交检测;
S3、若两个对象的K_DOPs包围盒不相交,退出,否则转步骤4;
S4、对发生碰撞的包围盒中的基本元素进行碰撞检测;
S5、若基本元素发生碰撞,则报告碰撞并退出,否则报告没有发生碰撞并退出。
2.根据权利要求1所述的基于K_DOPs快速连续碰撞检测方法,其特征在于
步骤S1中首先构建两个对象的静态K_DOPs包围盒,然后在离散时间点上进行包围盒的相交测试从而判断两个物体是否有碰撞可能。
3.根据权利要求1所述的基于K_DOPs快速连续碰撞检测方法,其特征在于所述步骤S2包括以下步骤:
S21、设碰撞对中碰撞对象一的K_DOPs包围盒Q1为:B1={b11,b12,...b1j,...b1K},碰撞对中碰撞对象二的K_DOPs包围盒Q2为:B2={b21,b22,...b2j,...,b2K},其中b1j表示碰撞对象一的包围盒的第j个方向投影点到原点的距离,b2j表示碰撞对象二的包围盒的第j个方向投影点到原点的距离,K为包围盒轴数;K_Dops包围盒的相交检测实际上是对K条轴方向上的投影进行相交检测;设第i个轴的单位向量为Pi(pxi,pyi,pzi),B1与轴i的交点为F1=b1,i·(pxi,pyi,pzi),B2与轴i的交点为F2=b2,i·(pxi,pyi,pzi),i为1~K,则对于任意时刻t,Q1的位姿变换矩阵为M1(t),Q2的位姿变换矩阵为M2(t),物体运动后的包围盒是通过对物体包围盒运动后在K个轴方向上重新投影近似得到,那么根据姿态变化矩阵可以得到交点运动后的坐标:
S22、记原点为○,第i个轴上的某一点为(pxi,pyi,pzi),F1′在轴pi上的投影点记为F1”,则可以得到物体包围盒运动后在第i个轴方向上的投影点,从而得到碰撞对象一运动后的包围盒在第i个轴上的投影点到原点的距离,同理可以得到碰撞对象二运动后的包围盒在第i个轴上的投影点到原点的距离;
S23、由于K_Dops包围盒轴的每一个轴都对应有一条与该轴方向相反的轴,这里假设与第i个轴方向相反的轴为j,则根据上面的原理同样可以得到碰撞对象一与碰撞对象二运动后的包围盒在第j个轴上的投影点到原点的距离;
S24、对方向互反的两根轴上的投影线段进行相交测试,那么对于一对方向相反的轴i和j,两根线段只需要满足下面的公式的任意一个则可以判断两根线段是非相交的:
4.根据权利要求1所述的基于K_DOPs快速连续碰撞检测方法,其特征在于所述步骤S4包括:对于边与边的相交检测:假设a(t)b(t)代表一条边,c(t)d(t)代表另外一条边,如果下面的方程有根,则这两条边出现相交:
a(t)c(t)·(a(t)b(t)×c(t)d(t))=0 (3),
用方程求根法去求解上面的方程就知道方程是否有根,相交点在边上当且仅当根在(0,1)区间;对于于边与面的相交检测或面与边的相交检测:首先检测边与面的交点a(t),假设a(t)代表矢量,b(t)c(t)d(t)代表三角片,如果下面的方程有根,则边与面出现相交,基本元素发生碰撞,
a(t)b(t)·(b(t)c(t)×b(t)d(t))=0 (4),
用求根法去求解上面的方程就知道方程是否有根,边在面里当且仅当根在(0,1)区间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210020950.1/1.html,转载请声明来源钻瓜专利网。