[发明专利]基于八叉树结构分割的快速碰撞检测方法有效
申请号: | 202110288962.1 | 申请日: | 2021-03-18 |
公开(公告)号: | CN113001551B | 公开(公告)日: | 2022-09-23 |
发明(设计)人: | 王向伟;沙建军;孙英贺;彭锐晖;杨高峰;荣先辉 | 申请(专利权)人: | 青岛九维华盾科技研究院有限公司 |
主分类号: | B25J9/16 | 分类号: | B25J9/16 |
代理公司: | 北京开阳星知识产权代理有限公司 11710 | 代理人: | 姚金金 |
地址: | 266555 山东省青岛市*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 八叉树 结构 分割 快速 碰撞 检测 方法 | ||
1.一种基于八叉树结构分割的快速碰撞检测方法,其特征在于包括以下步骤:
(1)根据模型体积先验知识,将三维模型设定为大模型和小模型;
(2)将大模型的包围盒按八叉树结构分割;
(3)归类大模型三角面片;
(4)判断小模型包围盒是否与大模型八叉树结构的第一层立方体盒相交;
(5)如果步骤(4)判定为否,则停止判断;如果判定为是,则继续判断是否与八个子节点的立方体盒相交,同理,自顶向下逐层判断直至叶节点;
(6)将所有判断为相交的叶节点所存储的三角面片索引Index存储到一个验证集容器中;
(7)判断小模型是否与验证集容器中的三角面片相交;
(8)场景变换,小模型相对于大模型运动,更新小模型的信息,重复步骤(4)~(7);
所述步骤(2)整个八叉树的深度Depth由大模型立方体盒边长Lo和设定的叶节点边长Lleaf决定:
所述步骤(3)的归类方法为:如果三角面片包围球与八叉树中某个叶节点的立方体空间相交,则将该三角面片索引存储在该叶节点的容器内;
对于第k个叶节点和索引为index的面片,根据以下公式判断是否相交:
其中,pindex和Rindex表示索引为index的面片的包围球的球心和半径,pk和Lleaf表示第k个叶节点的立方体的中心和边长;
将满足上述条件的全部面片索引加入到第k个叶节点的容器Vk中:
Vk={indexi,i=1,2,...,Nk};
其中,Nk表示第k个叶节点中的三角面片的索引个数。
所述步骤(4)中小模型直接用包围盒替代,无需细节三角面片信息,通过验证小模型包围盒中心与第一层八叉树立方体盒中心的距离,根据以下公式判断是否可能存在相交:
其中,pb表示小模型包围盒中心,po1表示大模型第一层八叉树立方体盒中心,Lb表示小模型包围盒边长,Lo1表示第一层八叉树立方体盒边长;
若满足上述公式,则判断相交,若不满足,则判断不相交。
2.如权利要求1所述的基于八叉树结构分割的快速碰撞检测方法,其特征在于:步骤(6)验证集容器中的Index具有唯一性,不会重复加入。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛九维华盾科技研究院有限公司,未经青岛九维华盾科技研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110288962.1/1.html,转载请声明来源钻瓜专利网。