当前位置: 首页 > 专利查询>福州大学专利>正文

一种基于AABB与OBB自适应的虚拟装配中实时碰撞检测方法技术

技术编号:14835338 阅读:153 留言:0更新日期:2017-03-17 03:23
本发明专利技术涉及一种基于AABB与OBB自适应的复合包围盒算法。首先,设定方向轴夹角阈值eps;其次,由顶点坐标和索引数据计算包围盒的中心位置m;计算协方差矩阵C;求协方差矩阵C的特征向量并单位化,作为零件的三个方向轴;分别计算零件三个方向轴与标准坐标轴XYZ的夹角θ1、θ2、θ3;最后,将θ1、θ2、θ3分别与给定阈值eps进行比较,若都小于等于给定阈值eps,则采用AABB包围盒,计算AABB包围盒的长、宽、高,根据中心m构建AABB包围盒;若其中有一个夹角大于给定阈值eps,则根据中心位置m、绕标准坐标轴的旋转角度

【技术实现步骤摘要】

本专利技术属于三维虚拟环境中的实时碰撞检测领域,具体涉及一种基于AABB与OBB自适应的复合包围盒算法。
技术介绍
碰撞检测是计算机图形仿真中的关键问题之一,在游戏、虚拟仿真等领域是一个非常重要的组成部分。在具体应用过程中,实现碰撞检测的一种有效方法是采用包围盒的层次结构来近似描述物体模型。包围盒具有简单性和精密性两个重要的属性,而且这两个属性具有排斥性,在具体实现的时候,按照具体情况的要求不同,对其做相应的折中处理。其中,轴向包围盒(AABB)、包围球等构造简单,而方向包围盒(OBB)紧密性好,经常会被结合使用。现有的基于OBB的复合包围盒算法中,一般对某一固定对象采用AABB包围盒,而对另一固定对象采用OBB包围盒;或者固定在层次包围盒树顶层使用AABB包围盒或包围球,而在其他层使用OBB包围盒以实现碰撞检测功能。西北农林科技大学的秦铨等,针对叶片形态提出了一种基于AABB-OBB混合包围盒的碰撞检测方法。首先通过AABB盒相交测试剔除部分未相交对象;然后根据叶片形态特点,对可能相交对象构造OBB盒二叉树。青岛大学范晓磊的硕士论文“混合包围盒碰撞检测算法研究”中提出一种基于OBB与AABB的混合包围盒碰撞检测算法,对于虚拟环境中的刚体对象采用OBB建立包围盒,而对于会发生变形的对象则AABB用建立包围盒。大连海事大学的宁涛等提出一种利用混合包围盒优化的碰撞检测方法。该方法根据碰撞相交刚体不同组件的复杂度进行层次设置,在层次包围盒树顶层使用包围球,在其他层使用OBB包围盒以实现碰撞检测功能。中华人民共和国专利技术专利(申请号:201210318465.2)公开了“一种基于有向包围盒和轴向包围盒的脚楦匹配方法”。该专利技术是通过脚和鞋子匹配或者脚和表示鞋子内部空间的鞋楦匹配,首先求出三维模型脚和鞋楦的OBB,根据OBB的轴向将脚和鞋楦与世界坐标系的三个轴分别对齐;再计算出脚和鞋楦模型的轴向包围盒AABB,将脚模型AABB底面四边形的中心平移到鞋楦模型AABB底面四边形的中心,匹配之后,如果鞋子偏大或者偏小,可对鞋子进行适当地缩放。中华人民共和国专利技术专利(申请号:201110322775.7)公开了一种面向虚拟装配的基于AABB-OBB混合包围盒的碰撞检测方法。在预处理阶段对变形物体的模型进行剖分,逐层建立OBB层次二叉树,建立整体模型的AABB包围盒。实时阶段,在二叉树的顶点维护AABB包围盒,对模型整体进行粗略的碰撞检测;在其余节点维护OBB包围盒,利用OBB进行精确的碰撞检测;最后进行面片级的碰撞检测。该方法包括:载入三维模型;对模型进行剖分,建立层次二叉树;粗略碰撞检测阶段用AABB进行碰撞检测;精细碰撞阶段采用OBB碰撞检测;最后采用面片级的碰撞检测。上述技术存在如下缺点:现有的基于OBB的复合包围盒算法中,一般对某一固定对象采用AABB包围盒,而对另一固定对象采用OBB包围盒;或者固定在层次包围盒树顶层使用AABB包围盒或包围球,而在其他层使用OBB包围盒,无法根据对象特征自适应地选用包围盒,其优化效果有限。论文“基于AABB-OBB盒的玉米叶片碰撞检测”提出的基于AABB-OBB混合包围盒的碰撞检测方法,主要适用于玉米叶片等数字植物虚拟仿真场景,不适用于刚体。硕士论文“混合包围盒碰撞检测算法研究”中提出的一种基于OBB与AABB的混合包围盒碰撞检测算法,主要适用于一个是刚体,另一个是变形对象的虚拟环境,如:在虚拟手术中,手术刀为刚体,人体组织为变形对象。论文“用混合包围盒优化碰撞检测方法”提出的一种利用混合包围盒优化的碰撞检测方法,只是对层次包围盒树的顶层使用包围球,而在其他层仍使用OBB包围盒,计算量减少有限。专利技术专利(申请号:201210318465.2)所提“一种基于有向包围盒和轴向包围盒的脚楦匹配方法”,同样只适用于脚和鞋楦匹配的特殊场合。专利技术专利(申请号:201110322775.7)所提“一种面向虚拟装配的基于AABB-OBB混合包围盒的碰撞检测方法”,同样只是对层次包围盒树的顶点使用AABB包围盒,而在其他节点仍使用OBB包围盒,优化效果有限。本专利技术针对大部分机械零件是轴对称结构,采用AABB包围盒即可满足碰撞检测精度要求;而小部分机械零件是不规则的,需采用OBB包围盒才能满足碰撞检测精度要求。因此提出一种基于AABB与OBB自适应的复合包围盒算法,能够根据三维零件模型的实际情况,自适应地选择采用AABB方法或OBB方法构造零件包围盒;充分结合AABB包围盒计算简单、OBB包围盒精度高的优点,以进一步提高虚拟装配过程中实时碰撞检测的性能。同时,该方法也可应用于层次包围盒树中递归地构建各层次包围盒。
技术实现思路
本专利技术的目的在于提供一种基于AABB与OBB自适应的复合包围盒算法,该方法能够根据三维零件模型的实际情况,自适应地选择采用AABB方法或OBB方法构造零件包围盒;充分结合AABB包围盒计算简单、OBB包围盒精度高的优点,以进一步提高虚拟装配过程中实时碰撞检测的性能;该方法也可应用于层次包围盒树中递归地构建各层次包围盒。为实现上述目的,本专利技术的技术方案是:一种基于AABB与OBB自适应的复合包围盒算法,包括如下步骤,S1:设定方向轴夹角阈值eps;S2:由顶点坐标和索引数据计算包围盒的中心位置m;S3:计算协方差矩阵C;S4:求协方差矩阵C的特征向量并单位化,作为零件的三个方向轴;S5:分别计算零件三个方向轴与标准坐标轴XYZ的夹角θ1、θ2、θ3;S6:将θ1、θ2、θ3分别与给定阈值eps进行比较,若都小于等于给定阈值eps,则采用AABB包围盒,计算AABB包围盒的长、宽、高,根据中心m构建AABB包围盒;若其中有一个夹角大于给定阈值eps,则采用OBB包围盒,将顶点坐标分别往零件三个方向轴上投影,计算OBB包围盒的长、宽、高,由夹角θ1、θ2、θ3计算绕X轴的旋转角度、绕Y轴的旋转角度、绕Z轴的旋转角度,最后,根据中心位置m、绕标准坐标轴的旋转角度、、构建OBB包围盒。在本专利技术一实施例中,所述步骤S2的中心位置m计算公式如下,其中,、和分别为包围盒包围的n个三角形中第i个三角形的顶点矢量。在本专利技术一实施例中,所述步骤S3的协方差矩阵C计算公式如下,其中,j、k代表顶点的分量;,均为三维向量。相较于现有技术,本专利技术具有以下有益效果:1、本专利技术能够根据三维零件模型的实际特征,自适应地选择采用AABB方法或OBB方法构造零件包围盒,灵活性好,具有一定的智能化水平;2、本专利技术可应用于层次包围盒树中递归地构建各层次包围盒,除了顶层能得到优化,其他层次也能得到优化,性能优化较全面。附图说明图1为本专利技术基于AABB与OBB自适应的复合包围盒算法流程图。具体实施方式下面结合附图,对本专利技术的技术方案进行具体说明。如图1所示,本专利技术的一种基于AABB与OBB自适应的复合包围盒算法,包括如下步骤,S1:设定方向轴夹角阈值eps;S2:由顶点坐标和索引数据计算包围盒的中心位置m;S3:计算协方差矩阵C;S4:求协方差矩阵C的特征向量并单位化,作为零件的三个方向轴;S5:分别计算零件三个方向轴与标准坐标轴XYZ的夹角θ1、θ2、θ3;S6:将θ1、θ2、θ3分别与给定阈值eps进行比较,本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/201610936567.html" title="一种基于AABB与OBB自适应的虚拟装配中实时碰撞检测方法原文来自X技术">基于AABB与OBB自适应的虚拟装配中实时碰撞检测方法</a>

【技术保护点】
一种基于AABB与OBB自适应的复合包围盒算法,其特征在于:包括如下步骤,S1:设定方向轴夹角阈值eps;S2:由顶点坐标和索引数据计算包围盒的中心位置m;S3:计算协方差矩阵C;S4:求协方差矩阵C的特征向量并单位化,作为零件的三个方向轴;S5:分别计算零件三个方向轴与标准坐标轴XYZ的夹角θ1、θ2、θ3;S6:将θ1、θ2、θ3分别与给定阈值eps进行比较,若都小于等于给定阈值eps,则采用AABB包围盒,计算AABB包围盒的长、宽、高,根据中心m构建AABB包围盒;若其中有一个夹角大于给定阈值eps,则采用OBB包围盒,将顶点坐标分别往零件三个方向轴上投影,计算OBB包围盒的长、宽、高,由夹角θ1、θ2、θ3计算绕X轴的旋转角度、绕Y轴的旋转角度、绕Z轴的旋转角度,最后,根据中心位置m、绕标准坐标轴的旋转角度、、构建OBB包围盒。

【技术特征摘要】
1.一种基于AABB与OBB自适应的复合包围盒算法,其特征在于:包括如下步骤,S1:设定方向轴夹角阈值eps;S2:由顶点坐标和索引数据计算包围盒的中心位置m;S3:计算协方差矩阵C;S4:求协方差矩阵C的特征向量并单位化,作为零件的三个方向轴;S5:分别计算零件三个方向轴与标准坐标轴XYZ的夹角θ1、θ2、θ3;S6:将θ1、θ2、θ3分别与给定阈值eps进行比较,若都小于等于给定阈值eps,则采用AABB包围盒,计算AABB包围盒的长、宽、高,根据中心m构建AABB包围盒;若其中有一个夹角大于给定阈值eps,则采用OBB包围盒,将顶点坐标分别...

【专利技术属性】
技术研发人员:朱晓林杨轩黄敏纯
申请(专利权)人:福州大学
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1