CN101093586A - 面向复杂场景实时交互操作的并行碰撞检测方法 - Google Patents
面向复杂场景实时交互操作的并行碰撞检测方法 Download PDFInfo
- Publication number
- CN101093586A CN101093586A CN 200710043743 CN200710043743A CN101093586A CN 101093586 A CN101093586 A CN 101093586A CN 200710043743 CN200710043743 CN 200710043743 CN 200710043743 A CN200710043743 A CN 200710043743A CN 101093586 A CN101093586 A CN 101093586A
- Authority
- CN
- China
- Prior art keywords
- model
- node
- bounding box
- collision detection
- collision
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
一种计算机应用技术领域的面向复杂场景实时交互操作的并行碰撞检测方法,首先用基于微机和局域网的并行化生成方法来加快用于碰撞检测的包围盒层次树模型的生成;接着使用动态确定碰撞检测对方法来减小碰撞检测处理量;然后使用一个基于层次树更新的方法来加快包围盒层次树模型间碰撞检测,在检测中使用复合方法加快两包围盒间干涉检测速度;最后使用一个基于微机和局域网并行化碰撞检测流程来加快整个碰撞检测过程,从而完成面向复杂场景中实时交互操作的完整碰撞检测。本发明最终实现实时并行碰撞检测,它能够为复杂场景的实时仿真实应用提供有力支持。
Description
技术领域
本发明涉及一种计算机应用技术领域的检测方法,具体地说,是一种在复杂场景虚拟仿真中的实时并行碰撞检测方法。
背景技术
几何模型之间碰撞检测是虚拟现实仿真的一个基本问题,仿真中碰撞检测被广泛用于探测对象之间的空间位置关系,如复杂产品设计中的干涉检查、机构运动中的碰撞检查、装配操作中的可装配性检查、虚拟手抓取物体时的手指与物体间相对位置判断;此外精确的碰撞检测信息还用于动力学仿真,如多刚体动力学仿真中碰撞点和侵入深度被用作计算反作用力或力矩的依据。
虚拟环境中几何对象通常是以多边形模型表达的,这类多边形具有如下特征:模型复杂性,外部输入的模型含有大量多边形;数据非结构化,一个几何模型是一个多边形组群,拓扑信息缺乏,且可能含有裂缝、孔洞、T形裂缝等特征。此外无法预测仿真时对象运动,运动完全由用户决定;交用户互操作时碰撞检测需要实时进行。这些因素导致碰撞检测成为虚拟仿真的主要难点之一。目前研究最广泛、最有效的是各类包围盒(Bound Volume,BV)层次树方法,其特点是一个模型对应一个包围盒层次组群(BV-LOD模型),组群中包含不同精度的包围盒,检测时按照由低精度小数目到高精度大数目包围盒组群的次序进行,精度和速度容易控制,具有较高的计算效率,且可以处理多种具有高复杂度的多面体模型,适用于静态或伪动态碰撞检测。
经对现有技术文献的检索发现,G.Zachmann等在《1st Workshop onSimulation and Interaction in Virtual Environments》(第一届虚拟环境下仿真与交互技术)(1995年)104~113页上发表的“The BoxTree:Enablingreal time and exact collision detection of arbitrary polyhedra”(包围盒层次树:任意多面体间实时精确碰撞检测的有效工具)中提出一种基于轴对齐包围盒(AABB)的碰撞检测方法,该方法特点是两个BV层次树模型变换到一个坐标系,其中一个又要在原来BV基础上构造新坐标系中的AABB包围盒。虽然AABB包围盒之间干涉检查简单,但构造新AABB包围盒时不但消耗时间还扩大了包围盒体积,使得需要检测的包围盒数目增加且降低了精度。且该方法仍为单机运行,无论包围盒生成还是干涉计算均在单机上完成,对100个模型以上的场景仍无法实现实时检测。检索中还发现,S.Gottschalk等在《ComputerGraphics Proc.SIGGRAPH’96》(1996年计算机图形学新加坡年会论文集)(1996年)171~180页上发表的“OBB-tree:A hierarchical structure forrapid interference detection”(OBB树:一种面向快速碰撞检测的层次树结构)中给出一种基于定向包围盒(OBB)的快速碰撞检测方法。该方法在减少碰撞次数上作了研究,但两个OBB包围盒间的干涉检查方法为速度角慢的单一完备方法,且也为单机方法,无法在机群上运行,因此仍不能满足大规模复杂场景实时仿真需求。
发明内容
本发明的目的在于克服当前BV-LOD碰撞检测方法的不足,提供一种面向复杂场景实时交互操作的并行碰撞检测方法,使用基于层次树更新的方法和基于微机和局域网的并行化生成方法,效率比单机完备方法高出10-15倍,能够为复杂场景的实时交互操作仿真应用提供有力支持。
本发明是通过以下技术方案实现的,本发明首先用基于微机和局域网的并行化生成方法来加快用于碰撞检测的BV-LOD模型(包围盒层次树模型)的生成,接着使用动态确定碰撞检测对方法来减小碰撞检测处理量,然后使用一个基于层次树更新的方法来加快BV-LOD模型间碰撞检测,在检测中使用复合方法加快两包围盒间干涉检测速度;最后使用一个基于微机和局域网并行化碰撞检测流程来加快整个碰撞检测过程,从而完成面向复杂场景中实时交互操作的完整碰撞检测。
所述的用基于微机和局域网的并行化生成方法来加快用于碰撞检测的BV-LOD模型(包围盒层次树模型)的生成,是指:
●多边形与包围盒之间位置关系的实现方法
首先使用坐标极限来粗略排除必然不干涉情况,随后使用向量点积法来进一步排除多边形与包围盒不干涉的情况,最后使用投影区域重叠测试法来检测最后是否干涉。该方法是由多边形模型生成包围盒层次树(BV-LOD)模型的基础,使用上述复合方法比常规的基于空间解析几何计算多边形与包围盒间相对位置关系的方法效率高出5-7倍,以此提高由多边形模型生成包围盒层次树模型的效率。
●从一个多边形模型生成BV-LOD模型的实现方法
生成过程的加速方法:记录与一个包围盒干涉的所有面片ID号,下层子包围盒从父包围那里继承这些面片,从而仅需要判断与这些面片间的干涉情况;针对正常形状包围盒合细长包围盒提供两种方法来生成包围盒:半短边准则法用于生成接近于立方体的包围盒层次树;半长边准则法用于适应细长或薄片状模型。模型生成时根据顶层包围盒的形状来判断选用哪一个方法。
●构建基于PC机群的多模型并行生成方法
第一步,初始化阶段:主控结点和计算结点启动,计算结点发送自身信息给主控结点;导入所有面片模型,主控结点将分解精度参数传递给每一个结点;
第二步,负载平衡计算:主控结点使用基于待处理模型数目、每个模型所含多边形数目、每个计算结点的计算速度来计算每个结点处理的模型ID列表;
第三步,分发模型:主控机将每个结点需要计算的模型ID列表发送给相应计算结点;
第四步,并行生成计算:在每个计算结点上,按照模型ID列表依次进行BV分解计算,在本机生成相应的BV-LOD模型文件;
第五步,结果整理:计算结点将BV-LOD模型文件传送主控计算机,主控机生成一个碰撞模型清单文件,该文件记录面片模型与碰撞模型对应关系信息。
所述的使用动态确定碰撞检测对方法来减小碰撞,其多用户交互操作仿真中一个完整的碰撞检测过程包括如下步骤:首先收集各用户当前操作信息,确定哪些模型被哪些用户所操作,据此计算可能产生碰撞的模型对,建立“待检测碰撞模型对列表”;随后依据该列表逐个检测模型间碰撞情况;将检测结果返回给虚拟场景。
本发明采用如下步骤来确定碰撞检测对:当存在一个或多个用户新获得模型的操作权时,系统更新“待检测碰撞模型对列表”,更新时遵循如下原则:被一个用户操作的模型与静止模型或被别的用户操作的所有模型间建立碰撞检测对;两个用户操作的模型之间仅建立一次碰撞检测对,即碰撞对中的两个模型先后次序不影响结果;被同一个用户操作的多个模型之间不用建立碰撞检测对。
所述的使用一个基于层次树更新的方法来加快BV-LOD模型间碰撞检测,包括以下步骤:
以下步骤一、步骤二在两个BV-LOD模型间碰撞检测过程中同时使用,首先使用步骤一减少同层的检测处理量,然后用步骤二对本层以下的子树进行更新。
步骤一、使用层间干涉信息传递加快碰撞检测:A与B的某一层存在干涉则需要检测下层结点,A当前层某一个结点的下层子结点仅需计算B当前与之干涉结点的下层子结点。为此把当前层结点与另一个模型当前层哪些结点间发生干涉传递到他们的下层结点。
步骤二、使用重叠包围盒更新BV-LOD模型层次树来加快碰撞检测:首先构造重叠包围盒,设两个模型A和B,按照如下方法构造重叠包围体并更新子树:在某一层次上计算A和B的包围盒重叠部分,若无重叠则二者分离,过程结束;若存在重叠则计算重叠区域,组成一个或多个“重叠包围体”,按照A和B的局部坐标系分别构造,过程继续;然后更新子树,使用“重叠包围体”对A和B进行改造:对于其该层次之后的下层结点,结点BV与重叠包围体干涉的保留,否则连同子树一起删除,由此得到新的层次模型A;对于层次模型B使用B坐标系下的“重叠包围体”进行同样的改造,得到新模型B。
所述的使用复合方法加快两包围盒间之间的空间干涉,包括以下步骤:
第一步,首先使用基于距离的快速检测方法:包围盒几何中心之间的距离大于二个包围盒对角线之和的一半则必然分离;若小于最小边长之和的一半则必然干涉。包围盒的最大对角线长和最小边长均为其属性值,不需要临时计算。
第二步,再使用角点与包围盒位置关系检测方法:检测是否有一个顶点被对方包含,若包含则必然干涉。将结点变换到一个坐标系中,只要判断结点是否落在AABB包围盒的三个坐标区间内即可。
第三步,若上述方法均未能检测出,则使用完备检测方法:B变换到A坐标系中,A在三个坐标面上投影得到三个四边形,B的每个面在三个坐标面上投影,若一个坐标面上存在B投影完全位于A投影之外,则说明而这分离,过程结束,否则继续;A变换到B坐标系中,B在三个坐标面上投影得到三个四边形,A的每个面在三个坐标面上投影,若一个坐标面上存在A投影完全位于B投影之外,则说明而这分离,过程结束,否则A与B干涉。
所述的使用一个基于微机和局域网并行化碰撞检测流程来加快整个碰撞检测过程,具体如下:
第一步,主控机收集用户抓取模型信息;
第二步,主控机确定碰撞检测对:依据用户操作模型信息,以及结点计算机的数目和各自计算性能来确定碰撞检测对列表;
第三步,主控机向计算结点机分发碰撞检测;
第四步,主控机接收运动模型的新位姿,向计算结点机发送运动模型的位姿信息;
第五步,每个结点计算机:更新运动模型的位姿;对于所承担的碰撞检测对列表的每一对模型,进行干涉计算,将计算结果存入临时链表;计算终了后将结果数据发送到主控机;
第六部,主控机收集各结点传来的计算结果整理后发送给仿真机。
若仿真中仅仅是模型移动,用户操作的对象未变,则仅需要执行上面的第四~六步即可。
虚拟仿真是现代计算机辅助设计和辅助制造的重要手段,它从根本上改变了新产品设计和制造模式,从而能大大降低设计和制造成本,缩短产品开发周期。而几何模型间碰撞检测是虚拟仿真的必不可少的功能之一,它用于实时确定仿真中各模型对象之间的相对位置关系,并为运动学、动力学效应计算提供初始参数。碰撞检测计算的复杂性使得它成为虚拟仿真的瓶颈之一,由于目前碰撞检测方法的局限性,使虚拟仿真的规模受到很大限制,为了实现大规模场景的实时虚拟仿真,往往需要专门的高性能计算机。
本发明改进了碰撞检测实现方法,一方面大大提高了检测效率,在单机上能够实现比目前方法更大规模的实时碰撞检测,与目前方法相比,单机检测速度提高了3-5倍;另一方面本发明能够基于普通的PC机群实现并行的碰撞检测,从而能够充分利用零散计算资源构成性能强大的计算网络,达到或超过高性能工作站具有的性能。据测试,6台PC机(双CPU,主频2GHz)组成的机群即达到了SGI Onyx 300高性能工作站的能力,而费用仅为后者5%-8%。
因此与目前的方法相比,本发明不但能够大大提高虚拟仿真中碰撞检测能力,使大规模场景的实时仿真成为可能,同时本发明对硬件性能没有特殊要求,在普通局域网和PC机上实现了高性能的计算,从而大大提高硬件利用率,降低了硬件费用。
附图说明
图1为本发明点与平面、包围盒与平面关系判断方法示意图
图2为本发明多个BV层次树模型并行生成方法基本流程图
图3为本发明两个BV-LOD模型间的干涉检查方法流程图
图4为本发明通过相交包围体来改造包围盒层次树示意图
图5为本发明并行碰撞检测方法流程图
图6为本发明实施例的硬件拓扑示意图
具体实施方式
下面结合附图对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
实施例——将本发明用于一个汽车底盘的多用户交互式虚拟装配中的碰撞检测,具体实现包括以下步骤:
实施例通过设计两个程序模块直接在运行的计算机上执行:并行化的包围盒层次树模型生成模块;并行化的多模型间碰撞检测模块。
第一步、开发并行化的包围盒层次树模型生成模块
并行化的包围盒层次树模型生成模块用于在碰撞检测应用之前,根据用户仿真显示用的多边形模型生成仿真时碰撞检测所用的包围盒层次树模型,每个多边形模型生成一个对应的包围盒层次树模型。
本模块可以导入多个多边形模型文件,生成对应的多个包围盒层次树模型文件。模块运行时需要一台PC机作为主控结点,多台PC机作为计算结点。
在开发“并行化的包围盒层次树模型生成模块”时,需要开发三个关键的子程序模块,即:一个包围盒与一个面片间位置关系检测子模块(子模块1);单个多边形模型的BV-LOD模型生成模块(子模块2);基于PC机群的并行化多模型生成方法实现子模块(子模块3)。实现子模块2时需要调用子模块1;实现子模块3时需要调用子模块2。这三个子程序模块实现过程如下:
①一个包围盒与一个面片间位置关系检测子模块(子模块1)依照下述步骤实现:
●首先根据多边形和包围盒坐标值过滤法进行粗略判断,初步排除必然不相交的情况;
●随后使用“向量点积法”判断包围盒与面片所在平面的位置关系:相交、正侧、负侧,若包围盒位于负侧或正侧,则包围盒与面片必然不相交;
●最后利用“投影区域重叠测试”来判断位于该面两侧的包围盒与面片是否相交。
上述过程的“向量点积法”和“投影区域重叠测试”实现如下:
●向量点积法:用平面上任意一点到空间一点构造一个向量(图1(a)),该向量与面的法向量做点积,点积为正则点位于正侧;为负则点位于负侧;为0在该点位于面上。包围盒所有顶点均作点积运算,若点均在面片一侧,则必然不相交;否则继续。
●投影区域重叠测试法:AABB包围盒为凸六面体,若它的所有顶点都位于面片的一侧则必然不相交,因此仅包围盒位于面片两侧的情况才需要进行投影区域重叠测试,如图1(b)所示。若存在包围盒一个延拓方向,如果在该方向上无论如何延长也不与面片相交,则二者不重叠。考虑到完备性,需要将面片与包围盒在三个坐标面上投影,对投影区域进行二维相交校验,存在一个方向投影无重叠则必然不相交,否则相交。
②单个多边形模型的BV-LOD模型生成子模块(子模块2)的实现:
本模块包含两个下级模块:半短边准则生成模块;半长边准则生成模块,它们均能够根据一个多边形模型生成一个包围盒层次树模型。半短边准则生成模块适应于顶层包围盒最大和最小边长比例小于1.8的情况,半长边准则生成模块适用于顶层包围盒最大和最小边长比例大等于1.8的情况。本模块运行时将根据多边形模型的顶层包围盒形状特点确定使用哪一种生成方法。
两个下级模块的实现方法如下:
●基于半短边准则的单个BV-LOD模型生成方法详细流程:
1)建立一个树结构
2)设定一个分解精度ε,相当于最小包围盒的最大边长
3)在模型坐标系内计算模型的BV,将包围盒填入根结点作为顶层BV,设三个边长大小依次为A、B、C,根据此包围盒的最短边长C和ε计算分解层数λ=[C/ε],(λ=1,2,……);
4)λ为包围盒层次树模型的总层数;从第0层到第λ-1层,下述的5)共需要执行λ次,每次分解一层,因此本步骤首先设计数器i=0;
5)对于树的第i层结点对应的每个BV:
·将BV分割成Ki+1个子BV,若i=0,则Ki=a×b×2,a=[A/C],b=[B/C];否则Ki+1=2×2×2=8;
·对每一个子BV,测试它与父BV关联的所有多边形的位置关系:
对于父BV的所有关联面片,调用方法1确定BV与面片间关系,若子BV与任何面片都不相交,则舍去;若面片与BV相交或被包含,将该BV添加到该结点的一个子结点(层次为i+1)中,并将所有与小包围盒干涉的多边形添加到小BV的关联面片表中;
6)计数器i=i+1,若i>λ,即最后一层是否已经分解过,若是则返回最终的BV模型树地址,否则跳转至第5)步,继续进行分解。
●基于半长边准则的单个BV-LOD模型生成方法详细流程:
第一步,建立一个树结构
第二步,设定一个分解精度ε,相当于最小包围盒的最大边长
第三步,在模型坐标系内计算模型的包围盒,将包围盒填入根结点作为顶层包围盒
第四步,设置i=1
第五步,对于树的第i层结点对应的每个包围盒,设三边长大小依次是Ai、Bi、Ci:
·测试是否满足Ai≥ε,若满足则继续,否则返回i和最终的BV模型树地址,分解结束;
·i=i+1
·将BV分割成Ki个子BV,Ki=2×b×c,b和c计算方法如下;
若|Ai/2/Bi|≥0.8,则b=1,否则b=2;
若|Ai/2/Ci|≥0.8,则c=1,否则c=2.
·对每一个子BV,测试它与父BV关联的所有多边形的位置关系:对于父BV的所有关联面片,调用方法1确定BV与面片间关系,若子BV与任何面片都不相交,则舍去;若面片与BV相交或被包含,将该BV添加到该结点的一个子结点(层次为i+1)中,并将所有与小包围盒干涉的多边形添加到小BV的关联面片表中;
·重复第五步。
③基于PC机群的并行化多模型生成方法实现子模块(子模块3)的实现
多个BV-LOD模型的并行生成方法目的是当需要生成多个面片模型的BV层次树模型时,用多台计算机同时生成BV层次树模型。
图2为生成BV层次模型的并行化方法实现流程,实现过程如下:
初始化阶段:主控结点和计算结点启动,计算结点发送自身信息给主控;导入所有面片模型;主控机将分解精度参数传递给每一个结点;
负载平衡计算:主控机使用上述方法计算每个结点需要计算的模型ID列表;
分发模型:主控机将每个结点需要计算的模型ID列表发送给相应计算结点;
并行生成计算:在每个计算结点上,按照模型ID列表使用子模块2依次进行BV分解计算,在本机生成相应的BV-LOD模型文件
结果整理:计算结点将BV-LOD模型文件传送主控计算机,主控机生成一个碰撞模型清单文件(该文件记录面片模型与碰撞模型对应关系信息)
子模块3实现过程中的负载平衡依照如下方法来实现:
使用一台PC机作为主控结点来控制个计算结点,主控结点记录每个面片模型所含面片数目、顶层BV数据,以及每个计算结点的能力描述(计算速度)。然后计算每个模型将要分解的BV层数。基于面片数目、BV层数和每个结点的能力依据负载平衡原则计算各个结点分配到的模型数目,过程如下:
设有J个计算结点,计算速度分别为Vj次/秒,n个模型,第i个模型含有Ni个面片,顶层包围盒边长依次为A、B、C,要分解λi层,设每个结点计算Kj个模型。
粗略计算理论校验次数:
总的理论计算时间约为
满足负载平衡则有t1≈t2≈K≈tJ=T/J
则有:
满足
不同的Mi对应着不同的Kj,可以按照i的从1依次到n凑tj,若按次序的Mi不能凑够tj,则依次在后面的Mi中找一个最接近的Mo对于剩下的Mi和tj,仍使用这个方法来确定一个tj对应的Kj和相应的Mi。
由于每个结点上已经读入了面片模型,此时主控机只要给每个结点发送一个对应的模型ID表。结点根据这个ID表使用方法3生成相应的BV层次模型。
(2)并行化的多模型间碰撞检测模块的实现
并行化的多模型问碰撞检测模块用于虚拟仿真中的实时碰撞检测,该模块与具体的虚拟仿真应用同步使用。仿真应用开始之前,多边形模型导入虚拟场景的同时,它们对应包围盒层次树模型也随之导入并行化的多模型碰撞检测程序模块。仿真时该模块从属于仿真过程运行,它使用一台PC机作为主控结点,多台PC机作为计算结点,主控结点管理和协调计算结点的运行,并处理与仿真场景之间的通信。
在开发“并行化的多模型间碰撞检测模块”时,需要开发三个关键的子程序模块,即:两个包围盒间位置关系检测子模块(子模块1);两个BV-LOD模型间位置关系检测子模块(子模块2);基于PC机群的并行化碰撞检测子模块(子模块3)。实现子模块3时需要调用子模块2;实现子模块2时需要调用子模块1。这三个子程序模块实现过程如下:
①两个包围盒间位置关系检测子模块(子模块1)的实现过程
包围盒之间的干涉判断是基于BV-LOD模型碰撞检测的最基本步骤,本发明的包围盒间干涉检查属于AABB包围盒与一个OBB包围盒之间的位置关系判断,为了加快判断速度,本发明对常规的包围盒间干涉判断方法进行了改进,使用三种判断方法联合进行包围盒间关系判断,依据改进后的一个AABB包围盒与一个OBB包围盒之间的位置关系检测方法实现本子模块,过程如下:
第一步,首先使用基于距离的快速判断方法:包围盒几何中心之间的距离大于二个包围盒对角线之和的一半则必然分离;若小于最小边长之和的一半则必然干涉。这里包围盒的最大对角线长和最小边长均为其属性值,不需要临时计算。
第二步,再使用点与包围盒关系判断方法:计算是否有一个顶点被对方包含,若包含则必然干涉。将结点变换到一个坐标系中,只要判断结点是否落在AABB包围盒的三个坐标区间内即可。
第三步,若上述方法均未能判断出,则使用完备判断方法:
B变换到A坐标系中,A在三个坐标面上投影得到三个四边形,B的每个面在三个坐标面上投影,若一个坐标面上存在B投影完全位于A投影之外,则说明而这分离,过程结束,否则继续;A变换到B坐标系中,B在三个坐标面上投影得到三个四边形,A的每个面在三个坐标面上投影,若一个坐标面上存在A投影完全位于B投影之外,则说明而这分离,过程结束,否则A与B干涉。
②两个BV-LOD模型间位置关系检测子模块(子模块2)实现过程
两个BV-LOD模型间的快速干涉检查方法(方法7)详细过程如附图3所示,过程简述如下:
设模型A有M层,B有N层,且M>N。则依照下属步骤实现两个BV-LOD模型之间的快速干涉检查如下:
第一步,预处理:置层次计数器i=0;将模型B变换到A的坐标系中;
第二步,获取包围盒链表:对当前的第i层次,分别获取A、B在该层的包围盒链表,若B已经处于第N层,则仍用N层的包围盒链表;
第三步,计算BV间干涉:对于从A、B获得的包围盒链表,依据继承来的干涉信息进行相应的包围盒间干涉判断,若都不存在干涉则在返回“二模型分离”信息,转第七步;否则继续;
第四步,判断是否已经处于最下层,即i是否等于或大于M,若是则返回“二模型干涉”信息转第七步;否则继续;
第四步,继承干涉信息:A的第i链表中每个结点将B第i层链表中与之干涉的结点ID传递给自己的子结点;
第五步,计算重叠包围体,模型树更新:依据方法6在A坐标系和B的原先坐标系中分别计算重叠包围体,并用重叠包围体对后面的层次树进行更新;
第六步,层数计数器增加1,转第二步;
第七步,干涉计算结束。
上述过程中,第四、第五步骤使用下面两种方法减少包围盒间位置关系检测次数:
步骤一,使用层间干涉信息传递加快碰撞检测:A与B的某一层存在干涉则需要检测下层结点,A当前层某一个结点的下层子结点仅需计算B当前与之干涉结点的下层子结点。为此把当前层结点与另一个模型当前层哪些结点间发生干涉传递到他们的下层结点。
步骤二,使用重叠包围盒更新BV-LOD模型层次树来加快碰撞检测:首先构造重叠包围盒,设两个模型A和B,按照如下方法构造重叠包围体并更新子树:在某一层次上计算A和B的包围盒重叠部分,若无重叠则二者分离,过程结束;若存在重叠则计算重叠区域,组成一个或多个“重叠包围体”,按照A和B的局部坐标系分别构造,过程继续;然后更新子树,使用“重叠包围体”对A和B进行改造:对于其该层次之后的下层结点,结点BV与重叠包围体干涉的保留,否则连同子树一起删除,由此得到新的层次模型A;对于层次模型B使用B坐标系下的“重叠包围体”进行同样的改造,得到新模型B。
③基于PC机群的并行化碰撞检测子模块(子模块3)的实现过程
附图5为并行化碰撞检测方法实现过程,具体如下:
第一步,主控机收集用户选取的模型信息;
第二步,主控机确定碰撞检测对:依据用户操作模型信息,以及结点计算机的数目和各自计算性能来确定碰撞检测对列表;
第三步,主控机向计算结点机分发碰撞检测对列表;
第四步,主控机接收运动模型的新位姿,向计算结点机发送运动模型的位姿信息;
第五步:每个结点计算机:更新运动模型的位姿;对于所承担的碰撞检测对列表的每一对模型,使用方法7进行干涉计算,将计算结果存入临时链表;计算终了后将结果数据发送到主控机;
第六步:主控机收集各结点传来的计算结果整理后发送给仿真计算机。
若仿真中仅仅是模型移动,用户操作的对象未变,则仅需要执行上面的第四~六步即可。
●上述过程的第二步,建立“待检测碰撞模型对列表”的实现过程如下:当存在一个或多个用户新获得模型的操作权时,系统更新“待检测碰撞模型对列表”,更新时遵循如下原则:被一个用户操作的模型与静止模型或被别的用户操作的所有模型间建立碰撞检测对;两个用户操作的模型之间仅建立一次碰撞检测对,即碰撞对中的两个模型先后次序不影响结果;被同一个用户操作的多个模型之间不用建立碰撞检测对。
●上述过程中的第二步,根据碰撞检测对数目、模型数据、计算结点数目和计算速度确定每个计算结点需要计算的碰撞检测对列表,称为负载平衡计算,其实现过程如下:
设共有I对模型,每对模型含有的mi,1和mi,2个包围盒,设有J个计算结点,计算速度分别为Vj次/秒
先近似计算每个碰撞对需要计算的理论次数:Mi=mi,1×mi,2
理论计算时间为
满足负载平衡有
则
式中:j=1,K,J,kj为第j个结点承担的碰撞对数目,K为第j个结点之前的所有结点已经承担的碰撞对数目,若j为1则K为0。依据此式可从第一个计算结点开始递推得到每个结点所要承担的碰撞对列表。
实施效果说明:
附图6a为本实施例并行模型生成时的硬件网络拓扑;附图6b为本实施例并行碰撞检测时的硬件网络拓扑。
(1)并行模型生成效果说明
该汽车底盘原始CAD模型是在UG NX3系统中设计的,因此需要把各零件的CAD模型输出成虚拟现实仿真中所需要的多边形模型,本实施例使用“*.stl”格式,共有213个模型,约315万个多边形。
在局域网内的5台计算机上安装“模型生成”模块;
在其中一台计算机上启动程序进行设置:将本机设置为主控机,其它计算机设置为计算结点;
在主控机上通过网络启动所有结点上的“模型生成”模块;
在主控机和各个结点上同时导入多边形模型文件;
主控机进行计算分配,将分配结果传送给各结点;
各结点分别进行模型生成运算,保存成碰撞模型文件“*.cdm”,并将文件传送到主控计算机。为了便于对比,分别使用单机、1个计算结点、2个计算结点、4个计算结点共四种情况下进行模型生成计算。单机运行时的详细耗时结果与并行计算时的详细耗时结果对比见表1,可见并行生成可以显著提高效率。1个结点时不如单机,这是因为结点与主控计算机的通信也要消耗时间;2个结点不能达到1个结点效率的2倍,4个结点不能达到2个结点的2倍,这是因为结点负载不可能完全平衡。
表1并行模型生成结果对比
方法类型 | PC机数 | 模型数/多边形数目 | 包围盒总数 | 消耗时间(秒) |
2(主控1,结点1) | 213个/315万 | 575.7万 | 398 |
并行 | 3(主控1,结点2) | 213个/315万 | 575.7万 | 214 |
5(主控1,结点4) | 213个/315万 | 575.7万 | 127 | |
单机 | 1 | 213个/315万 | 575.7万 | 367 |
(2)虚拟仿真中的实施碰撞检测效果说明
要求碰撞计算的所有PC机与虚拟仿真的PC机在同一个局域网内。
在局域网内的5台计算机上安装碰撞检测模块;
在其中一台计算机上启动程序进行设置:将本机设置为主控机即作为“碰撞计算服务器”,其它计算机设置为计算结点;
在主控机上通过网络启动所有结点上的碰撞检测模块;
在仿真场景初始化的同时,碰撞主控机和各个结点上同时导入BV-LOD模型文件(即*.cdm文件),依据仿真场景传来的模型位姿信息对碰撞模型进行位置初始化,仿真运行每一帧,仿真计算机向碰撞主控机传送仿真场景当前的信息,包括被移动的模型名、运动模型的新位姿,主控机确定碰撞对列表,分配计算任务、更新所有结点上的碰撞模型位姿,等待结点传送回碰撞计算结果,然后整理计算结果返回给碰撞场景。
上述过程,仅需要在初始化阶段对结点进行设置即可,仿真过程中不需要在碰撞服务器或碰撞计算结点上进行任何操作。
单机运行时的详细耗时结果与并行计算时的详细耗时结果对比见表2,可见并行碰撞检测计算可以显著提高效率。1个结点时不如单机,这是因为结点与主控计算机的通信也要消耗时间;2个结点不能达到1个结点效率的2倍,4个结点不能达到2个结点的2倍,这是因为结点负载不可能完全平衡。单机碰撞计算帧率为6.2帧/秒,已经慢于虚拟仿真的帧率,此时如果不用并行碰撞检测,则碰撞检测已经成为仿真限制环节。
表2单机运行与并行计算检测效率对比
方法类型 | PC机数 | 模型数/多边形数目 | 包围盒总数 | 帧率(帧/秒) |
并行 | 2(主控1,结点1) | 213个/315万 | 575.7万 | 5.7 |
3(主控1,结点2) | 213个/315万 | 575.7万 | 8.8 | |
5(主控1,结点4) | 213个/315万 | 575.7万 | 15.1 | |
单机 | 1 | 213个/315万 | 575.7万 | 6.2 |
Claims (10)
1、一种面向复杂场景实时交互操作的并行碰撞检测方法,其特征在于,步骤如下:
首先用基于微机和局域网的并行化生成方法来加快用于碰撞检测的包围盒层次树模型的生成;
接着使用动态确定碰撞检测对方法来减小碰撞检测处理量;
然后使用一个基于层次树更新的方法来加快包围盒层次树模型间碰撞检测,在检测中使用复合方法加快两包围盒间干涉检测速度;
最后使用一个基于微机和局域网并行化碰撞检测流程来加快整个碰撞检测过程,从而完成面向复杂场景中实时交互操作的完整碰撞检测。
2、根据权利要求1所述的面向复杂场景实时交互操作的并行碰撞检测方法,其特征是,所述的使用基于微机和局域网的并行化生成方法来加快用于碰撞检测的包围盒层次树模型的生成,包括以下内容:
●多边形与包围盒之间位置关系的实现方法
首先使用坐标极限来粗略计算排除必然不干涉情况,随后使用向量点积法来进一步排除多边形与包围盒必然不干涉的情况,最后使用投影区域重叠测试法来计算最后是否干涉;
●从一个多边形模型生成包围盒层次树模型的实现方法
生成过程的加速方法:记录与一个包围盒干涉的所有面片ID号,下层子包围盒从父包围那里继承这些面片,从而仅需要判断与这些面片间的干涉情况,针对正常形状包围盒合细长包围盒提供两种方法来生成包围盒:半短边准则法用于生成立方体的包围盒层次树和半长边准则法用于生成细长或薄片状模型,模型生成时根据顶层包围盒的形状来判断选用哪一个方法;
●构建基于PC机群的多模型并行生成方法
第一步,初始化阶段:主控结点和计算结点启动,计算结点发送自身信息给主控结点;导入所有面片模型,主控机将分解精度参数传递给每一个结点;
第二步,负载平衡计算:主控结点根据待处理模型数目、每个模型所含多边形数目、每个计算结点的计算速度来计算每个结点需要计算的模型ID列表;
第三步,分发模型:主控机将每个结点需要计算的模型ID列表发送给相应计算结点;
第四步,并行生成计算:在每个计算结点上,按照模型ID列表依次进行BV分解计算,在本机生成相应的包围盒层次树模型文件;
第五步,结果整理:计算结点将包围盒层次树模型文件传送主控计算机,主控机生成一个碰撞模型清单文件,该文件记录面片模型与碰撞模型对应关系信息。
3、根据权利要求2所述的面向复杂场景实时交互操作的并行碰撞检测方法,其特征是,所述的半短边准则法用于生成立方体的包围盒层次树,具体步骤如下:
第一步,建立一个树结构;
第二步,设定一个分解精度ε,即最小包围盒的最大边长;
第三步,在模型坐标系内计算模型的BV,将包围盒填入根结点作为顶层BV,设三个边长大小依次为A、B、C,根据此包围盒的最短边长C和ε计算分解层数λ=[C/ε],λ=1,2,……;
第四步,λ为包围盒层次树模型的总层数;从第0层到第λ-1层,下述的第五步骤共需要执行λ次,每次分解一层,因此本步骤首先设计数器i=0;
第五步,对于树的第i层结点对应的每个顶层BV:
·将BV分割成Ki+1个子BV,若i=0,则K1=a×b×2,a=[A/C],b=[B/C],否则Ki+1=2×2×2=8;
·对每一个子BV,测试它与父BV关联的所有多边形的位置关系:对于父BV的所有关联面片,调用多边形与包围盒之间位置关系的实现方法确定BV与面片间关系,若子BV与任何面片都不相交,则舍去;若面片与BV相交或被包含,将该BV添加到该结点的一个子结点中,并将所有与小包围盒干涉的多边形添加到小BV的关联面片表中;
第六步,计数器i=i+1,若i>λ,即最后一层是否已经分解过,若是则返回最终的BV模型树地址,否则跳转至第五步步,继续进行分解。
4、根据权利要求2所述的面向复杂场景实时交互操作的并行碰撞检测方法,其特征是,所述的半长边准则法用于生成细长或薄片状模型,具体步骤如下:
第一步,建立一个树结构;
第二步,设定一个分解精度ε,即最小包围盒的最大边长;
第三步、在模型坐标系内计算模型的BV,将包围盒填入根结点作为顶层BV;
第四步、设置i=1;
第五步、对于树的第i层结点对应的每个BV,设三边长大小依次是Ai、Bi、Ci:
·测试是否满足Ai≥ε,若满足则继续,否则返回i和最终的BV模型树地址,分解结束;
·i=i+1
·将BV分割成Ki个子BV,Ki=2×b×c,b和c计算方法如下;
若|Ai/2/Bi|≥0.8,则b=1,否则b=2;
若|Ai/2/Ci|≥0.8,则c=1,否则c=2;
·对每一个子BV,测试它与父BV关联的所有多边形的位置关系:对于父BV的所有关联面片,调用多边形与包围盒之间位置关系的实现方法确定BV与面片间关系,若子BV与任何面片都不相交,则舍去;若面片与BV相交或被包含,将该BV添加到该结点的一个子结点中,并将所有与小包围盒干涉的多边形添加到小BV的关联面片表中;
·重复第五步。
5、权利要求2所述的面向复杂场景实时交互操作的并行碰撞检测方法,其特征是,所述的构建基于PC机群的多模型并行生成方法中的负载平衡计算,具体如下:
使用一台计算机作为主控结点来控制多台计算结点,主控结点记录每个多边形模型所含面片数目、顶层包围盒数据,以及每个计算结点的计算速度描述。然后确定每个模型将要分解的BV层数,基于面片数目、BV层数和每个结点的能力依据负载平衡原则计算各个结点分配到的模型数目,过程如下:
设有J个计算结点,计算速度分别为Vj次/秒,n个模型,第i个模型含有Ni个面片,顶层包围盒边长依次为A、B、C,要分解λi层,设每个结点计算Kj个模型;
计算理论校验次数:Ml=2·a·b·8λl-1·Nl
总的理论计算时间为
满足负载平衡则有t1≈t2≈K≈tJ=T/J
则有:
满足
不同的Mi对应着不同的Kj,按照i的从1依次到n凑tj,若按次序的Mi不能凑够tj,则依次在后面的Mi中找一个最接近的M,对于剩下的Mi和tj,仍使用这个方法来确定一个tj对应的Kj和相应的Mi,由于每个结点上已经读入了面片模型,此时主控机只要给每个结点发送一个对应的模型ID表,结点根据这个ID表生成相应的BV层次模型。
6、根据权利要求1所述的面向复杂场景实时交互操作的并行碰撞检测方法,其特征是,所述的使用动态确定碰撞检测对方法来减小碰撞检测处理量,具体如下:当存在一个或多个用户新获得模型的操作权时,系统更新“待检测碰撞模型对列表”,更新时遵循如下原则:被一个用户操作的模型与静止模型或被别的用户操作的所有模型间建立碰撞检测对;两个用户操作的模型之间仅建立一次碰撞检测对,即碰撞对中的两个模型先后次序不影响结果;被同一个用户操作的多个模型之间不用建立碰撞检测对。
7、根据权利要求1所述的面向复杂场景实时交互操作的并行碰撞检测方法,其特征是,所述的在检测中使用复合方法加快两包围盒间干涉检测速度,具体步骤如下:
第一步,首先使用基于距离的快速检测方法:包围盒几何中心之间的距离大于二个包围盒对角线之和的一半则必然分离;若小于最小边长之和的一半则必然干涉。包围盒的最大对角线长和最小边长均为其属性值,不需要临时计算;
第二步,再使用点与包围盒关系检测方法:计算是否有一个顶点被对方包含,若包含则必然干涉,将结点变换到一个坐标系中,只要判断结点是否落在AABB包围盒的三个坐标区间内;
第三步,若上述方法均未能检测出,则使用完备检测方法:B变换到A坐标系中,A在三个坐标面上投影得到三个四边形,B的每个面在三个坐标面上投影,若一个坐标面上存在B投影完全位于A投影之外,则说明而这分离,过程结束,否则继续;A变换到B坐标系中,B在三个坐标面上投影得到三个四边形,A的每个面在三个坐标面上投影,若一个坐标面上存在A投影完全位于B投影之外,则说明而这分离,过程结束,否则A与B干涉。
8、根据权利要求1所述的面向复杂场景实时交互操作的并行碰撞检测方法,其特征是,所述的使用基于层次树更新的方法来加快包围盒层次树模型间碰撞检测,具体如下:
步骤一,使用层间干涉信息传递加快碰撞检测:A与B的某一层存在干涉则需要检测下层结点,A当前层某一个结点的下层子结点仅需计算B当前与之干涉结点的下层子结点,为此把当前层结点与另一个模型当前层哪些结点间发生干涉传递到他们的下层结点;
步骤二,使用重叠包围盒更新包围盒层次树模型层次树来加快碰撞检测:首先构造重叠包围盒,设两个模型A和B,按照如下方法构造重叠包围体并更新子树:在某一层次上计算A和B的包围盒重叠部分,若无重叠则二者分离,过程结束;若存在重叠则计算重叠区域,组成一个或多个“重叠包围体”,按照A和B的局部坐标系分别构造,过程继续;然后更新子树,使用“重叠包围体”对A和B进行改造:对于其该层次之后的下层结点,结点BV与重叠包围体干涉的保留,否则连同子树一起删除,由此得到新的层次模型A;对于层次模型B使用B坐标系下的“重叠包围体”进行同样的改造,得到新模型B。
9、根据权利要求1所述的面向复杂场景实时交互操作的并行碰撞检测方法,其特征是,所述的使用一个基于微机和局域网并行化碰撞检测流程来加快整个碰撞检测过程,具体步骤如下:
第一步,主控机收集用户选取的模型信息;
第二步,主控机确定碰撞检测对:依据用户操作模型信息,以及结点计算机的数目和各自计算性能来确定碰撞检测对列表;
第三步,主控机向计算结点机分发碰撞检测对列表;
第四步,主控机接收运动模型的新位姿,向计算结点机发送运动模型的位姿信息;
第五步,每个结点计算机:更新运动模型的位姿;对于所承担的碰撞检测对列表的每一对模型,进行干涉计算,将计算结果存入临时链表,计算终了后将结果数据发送到主控机;
第六步,主控机收集各结点传来的计算结果整理后发送给仿真机;
若仿真中仅仅是模型移动,用户操作的对象未变,则仅需要执行上面的第四~六步。
10、根据权利要求9所述的面向复杂场景实时交互操作的并行碰撞检测方法,其特征是,所述的主控机确定碰撞检测对,是根据碰撞检测对数目、模型数据、计算结点数目和计算速度确定每个计算结点需要计算的碰撞检测对列表,其实现过程如下:
设共有I对模型,每对模型含有的ml,1和ml,2个包围盒,设有J个计算结点,计算速度分别为VJ次/秒,先计算每个碰撞对需要计算的理论次数:Ml=ml,1×ml,2,则理论计算时间为
满足负载平衡有 则
式中:j=1,K,J,kj为第j个结点承担的碰撞对数目,K为第j个结点之前的所有结点已经承担的碰撞对数目,若j为1则K为0,依据此式从第一个计算结点开始递推得到每个结点所要承担的碰撞对列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710043743 CN101093586A (zh) | 2007-07-12 | 2007-07-12 | 面向复杂场景实时交互操作的并行碰撞检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710043743 CN101093586A (zh) | 2007-07-12 | 2007-07-12 | 面向复杂场景实时交互操作的并行碰撞检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101093586A true CN101093586A (zh) | 2007-12-26 |
Family
ID=38991826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200710043743 Pending CN101093586A (zh) | 2007-07-12 | 2007-07-12 | 面向复杂场景实时交互操作的并行碰撞检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101093586A (zh) |
Cited By (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593367B (zh) * | 2009-06-25 | 2011-03-23 | 北京航空航天大学 | 一种基于四叉包围盒树的柔性织物自碰撞检测方法 |
CN102193837A (zh) * | 2011-04-26 | 2011-09-21 | 浙江大学 | 一种基于前线的包围盒碰撞检测方法 |
CN102253862A (zh) * | 2011-04-26 | 2011-11-23 | 浙江大学 | 一种基于SIMD的k-DOP包围盒碰撞检测方法 |
CN102509317A (zh) * | 2011-09-27 | 2012-06-20 | 北京像素软件科技股份有限公司 | 一种实时碰撞检测系统的实现方法 |
CN102609992A (zh) * | 2012-02-12 | 2012-07-25 | 北京航空航天大学 | 基于三角网格变形体的自碰撞检测方法 |
CN102663808A (zh) * | 2012-02-29 | 2012-09-12 | 中山大学 | 一种基于数字家庭娱乐中三维模型的刚体模型建立方法 |
CN102722598A (zh) * | 2012-04-24 | 2012-10-10 | 南京航空航天大学 | 飞机发动机非包容失效安全性分析系统及方法 |
CN103257635A (zh) * | 2013-04-09 | 2013-08-21 | 上海华力微电子有限公司 | 一种辅助工艺流程的实验控制系统及方法 |
CN102292749B (zh) * | 2009-01-21 | 2014-03-12 | 西门子产品生命周期管理软件公司 | 用于确定将两个干扰对象分离的平移向量的系统和方法 |
CN103745500A (zh) * | 2013-12-27 | 2014-04-23 | 北京像素软件科技股份有限公司 | 基于应用的柔体模拟方法和装置 |
CN104766371A (zh) * | 2015-04-13 | 2015-07-08 | 南京工程学院 | 一种大规模场景中物体碰撞检测方法 |
CN105354367A (zh) * | 2015-10-12 | 2016-02-24 | 陕西科技大学 | 一种碰撞检测系统的构建方法 |
WO2016141373A1 (en) * | 2015-03-05 | 2016-09-09 | Magic Leap, Inc. | Systems and methods for augmented reality |
CN106127764A (zh) * | 2016-06-22 | 2016-11-16 | 东软集团股份有限公司 | Svg图形碰撞检测方法及装置 |
CN106503347A (zh) * | 2016-10-25 | 2017-03-15 | 福州大学 | 一种基于aabb与obb自适应的复合包围盒算法 |
US9874749B2 (en) | 2013-11-27 | 2018-01-23 | Magic Leap, Inc. | Virtual and augmented reality systems and methods |
CN108628184A (zh) * | 2018-06-13 | 2018-10-09 | 华南理工大学 | 一种用于机器人仿真系统的碰撞检测方法 |
US10180734B2 (en) | 2015-03-05 | 2019-01-15 | Magic Leap, Inc. | Systems and methods for augmented reality |
US10261162B2 (en) | 2016-04-26 | 2019-04-16 | Magic Leap, Inc. | Electromagnetic tracking with augmented reality systems |
CN110728439A (zh) * | 2019-09-26 | 2020-01-24 | 恒大新能源汽车科技(广东)有限公司 | 一种汽车碰撞评估方法及电子设备 |
US10649211B2 (en) | 2016-08-02 | 2020-05-12 | Magic Leap, Inc. | Fixed-distance virtual and augmented reality systems and methods |
US10762598B2 (en) | 2017-03-17 | 2020-09-01 | Magic Leap, Inc. | Mixed reality system with color virtual content warping and method of generating virtual content using same |
US10769752B2 (en) | 2017-03-17 | 2020-09-08 | Magic Leap, Inc. | Mixed reality system with virtual content warping and method of generating virtual content using same |
US10812936B2 (en) | 2017-01-23 | 2020-10-20 | Magic Leap, Inc. | Localization determination for mixed reality systems |
US10838207B2 (en) | 2015-03-05 | 2020-11-17 | Magic Leap, Inc. | Systems and methods for augmented reality |
US10861237B2 (en) | 2017-03-17 | 2020-12-08 | Magic Leap, Inc. | Mixed reality system with multi-source virtual content compositing and method of generating virtual content using same |
US10909711B2 (en) | 2015-12-04 | 2021-02-02 | Magic Leap, Inc. | Relocalization systems and methods |
US10943521B2 (en) | 2018-07-23 | 2021-03-09 | Magic Leap, Inc. | Intra-field sub code timing in field sequential displays |
CN112932662A (zh) * | 2021-02-01 | 2021-06-11 | 威海威高骨科手术机器人有限公司 | 一种具有患者安全保护的复位位置检测方法 |
CN113246140A (zh) * | 2021-06-22 | 2021-08-13 | 沈阳风驰软件股份有限公司 | 一种基于相机测量的多模型工件无序抓取方法及装置 |
US11244485B2 (en) | 2016-01-19 | 2022-02-08 | Magic Leap, Inc. | Augmented reality systems and methods utilizing reflections |
CN114529604A (zh) * | 2022-01-25 | 2022-05-24 | 广州极点三维信息科技有限公司 | 一种空间物体定向碰撞检测方法、系统装置及介质 |
US11379948B2 (en) | 2018-07-23 | 2022-07-05 | Magic Leap, Inc. | Mixed reality system with virtual content warping and method of generating virtual content using same |
-
2007
- 2007-07-12 CN CN 200710043743 patent/CN101093586A/zh active Pending
Cited By (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102292749B (zh) * | 2009-01-21 | 2014-03-12 | 西门子产品生命周期管理软件公司 | 用于确定将两个干扰对象分离的平移向量的系统和方法 |
CN101593367B (zh) * | 2009-06-25 | 2011-03-23 | 北京航空航天大学 | 一种基于四叉包围盒树的柔性织物自碰撞检测方法 |
CN102193837A (zh) * | 2011-04-26 | 2011-09-21 | 浙江大学 | 一种基于前线的包围盒碰撞检测方法 |
CN102253862A (zh) * | 2011-04-26 | 2011-11-23 | 浙江大学 | 一种基于SIMD的k-DOP包围盒碰撞检测方法 |
CN102193837B (zh) * | 2011-04-26 | 2012-12-05 | 浙江大学 | 一种基于前线的包围盒碰撞检测方法 |
CN102253862B (zh) * | 2011-04-26 | 2013-01-30 | 浙江大学 | 一种基于SIMD的k-DOP包围盒碰撞检测方法 |
CN102509317A (zh) * | 2011-09-27 | 2012-06-20 | 北京像素软件科技股份有限公司 | 一种实时碰撞检测系统的实现方法 |
CN102609992A (zh) * | 2012-02-12 | 2012-07-25 | 北京航空航天大学 | 基于三角网格变形体的自碰撞检测方法 |
CN102663808A (zh) * | 2012-02-29 | 2012-09-12 | 中山大学 | 一种基于数字家庭娱乐中三维模型的刚体模型建立方法 |
CN102722598A (zh) * | 2012-04-24 | 2012-10-10 | 南京航空航天大学 | 飞机发动机非包容失效安全性分析系统及方法 |
CN103257635A (zh) * | 2013-04-09 | 2013-08-21 | 上海华力微电子有限公司 | 一种辅助工艺流程的实验控制系统及方法 |
CN103257635B (zh) * | 2013-04-09 | 2016-01-20 | 上海华力微电子有限公司 | 一种辅助工艺流程的实验控制系统及方法 |
US9874749B2 (en) | 2013-11-27 | 2018-01-23 | Magic Leap, Inc. | Virtual and augmented reality systems and methods |
CN103745500A (zh) * | 2013-12-27 | 2014-04-23 | 北京像素软件科技股份有限公司 | 基于应用的柔体模拟方法和装置 |
CN103745500B (zh) * | 2013-12-27 | 2017-02-15 | 北京像素软件科技股份有限公司 | 基于应用的柔体模拟方法和装置 |
US11429183B2 (en) | 2015-03-05 | 2022-08-30 | Magic Leap, Inc. | Systems and methods for augmented reality |
US11619988B2 (en) | 2015-03-05 | 2023-04-04 | Magic Leap, Inc. | Systems and methods for augmented reality |
WO2016141373A1 (en) * | 2015-03-05 | 2016-09-09 | Magic Leap, Inc. | Systems and methods for augmented reality |
US10678324B2 (en) | 2015-03-05 | 2020-06-09 | Magic Leap, Inc. | Systems and methods for augmented reality |
US10180734B2 (en) | 2015-03-05 | 2019-01-15 | Magic Leap, Inc. | Systems and methods for augmented reality |
US11256090B2 (en) | 2015-03-05 | 2022-02-22 | Magic Leap, Inc. | Systems and methods for augmented reality |
AU2016225963B2 (en) * | 2015-03-05 | 2021-05-13 | Magic Leap, Inc. | Systems and methods for augmented reality |
US10838207B2 (en) | 2015-03-05 | 2020-11-17 | Magic Leap, Inc. | Systems and methods for augmented reality |
CN104766371A (zh) * | 2015-04-13 | 2015-07-08 | 南京工程学院 | 一种大规模场景中物体碰撞检测方法 |
CN105354367A (zh) * | 2015-10-12 | 2016-02-24 | 陕西科技大学 | 一种碰撞检测系统的构建方法 |
US11288832B2 (en) | 2015-12-04 | 2022-03-29 | Magic Leap, Inc. | Relocalization systems and methods |
US10909711B2 (en) | 2015-12-04 | 2021-02-02 | Magic Leap, Inc. | Relocalization systems and methods |
US11244485B2 (en) | 2016-01-19 | 2022-02-08 | Magic Leap, Inc. | Augmented reality systems and methods utilizing reflections |
US10261162B2 (en) | 2016-04-26 | 2019-04-16 | Magic Leap, Inc. | Electromagnetic tracking with augmented reality systems |
US10495718B2 (en) | 2016-04-26 | 2019-12-03 | Magic Leap, Inc. | Electromagnetic tracking with augmented reality systems |
US11460698B2 (en) | 2016-04-26 | 2022-10-04 | Magic Leap, Inc. | Electromagnetic tracking with augmented reality systems |
US10948721B2 (en) | 2016-04-26 | 2021-03-16 | Magic Leap, Inc. | Electromagnetic tracking with augmented reality systems |
CN106127764A (zh) * | 2016-06-22 | 2016-11-16 | 东软集团股份有限公司 | Svg图形碰撞检测方法及装置 |
CN106127764B (zh) * | 2016-06-22 | 2019-01-25 | 东软集团股份有限公司 | Svg图形碰撞检测方法及装置 |
US11536973B2 (en) | 2016-08-02 | 2022-12-27 | Magic Leap, Inc. | Fixed-distance virtual and augmented reality systems and methods |
US10649211B2 (en) | 2016-08-02 | 2020-05-12 | Magic Leap, Inc. | Fixed-distance virtual and augmented reality systems and methods |
US11073699B2 (en) | 2016-08-02 | 2021-07-27 | Magic Leap, Inc. | Fixed-distance virtual and augmented reality systems and methods |
CN106503347A (zh) * | 2016-10-25 | 2017-03-15 | 福州大学 | 一种基于aabb与obb自适应的复合包围盒算法 |
US10812936B2 (en) | 2017-01-23 | 2020-10-20 | Magic Leap, Inc. | Localization determination for mixed reality systems |
US11206507B2 (en) | 2017-01-23 | 2021-12-21 | Magic Leap, Inc. | Localization determination for mixed reality systems |
US11711668B2 (en) | 2017-01-23 | 2023-07-25 | Magic Leap, Inc. | Localization determination for mixed reality systems |
US11423626B2 (en) | 2017-03-17 | 2022-08-23 | Magic Leap, Inc. | Mixed reality system with multi-source virtual content compositing and method of generating virtual content using same |
US11410269B2 (en) | 2017-03-17 | 2022-08-09 | Magic Leap, Inc. | Mixed reality system with virtual content warping and method of generating virtual content using same |
US10762598B2 (en) | 2017-03-17 | 2020-09-01 | Magic Leap, Inc. | Mixed reality system with color virtual content warping and method of generating virtual content using same |
US10769752B2 (en) | 2017-03-17 | 2020-09-08 | Magic Leap, Inc. | Mixed reality system with virtual content warping and method of generating virtual content using same |
US10964119B2 (en) | 2017-03-17 | 2021-03-30 | Magic Leap, Inc. | Mixed reality system with multi-source virtual content compositing and method of generating virtual content using same |
US10861237B2 (en) | 2017-03-17 | 2020-12-08 | Magic Leap, Inc. | Mixed reality system with multi-source virtual content compositing and method of generating virtual content using same |
US11315214B2 (en) | 2017-03-17 | 2022-04-26 | Magic Leap, Inc. | Mixed reality system with color virtual content warping and method of generating virtual con tent using same |
US10861130B2 (en) | 2017-03-17 | 2020-12-08 | Magic Leap, Inc. | Mixed reality system with virtual content warping and method of generating virtual content using same |
CN108628184A (zh) * | 2018-06-13 | 2018-10-09 | 华南理工大学 | 一种用于机器人仿真系统的碰撞检测方法 |
US11501680B2 (en) | 2018-07-23 | 2022-11-15 | Magic Leap, Inc. | Intra-field sub code timing in field sequential displays |
US11790482B2 (en) | 2018-07-23 | 2023-10-17 | Magic Leap, Inc. | Mixed reality system with virtual content warping and method of generating virtual content using same |
US10943521B2 (en) | 2018-07-23 | 2021-03-09 | Magic Leap, Inc. | Intra-field sub code timing in field sequential displays |
US11379948B2 (en) | 2018-07-23 | 2022-07-05 | Magic Leap, Inc. | Mixed reality system with virtual content warping and method of generating virtual content using same |
CN110728439B (zh) * | 2019-09-26 | 2022-08-02 | 恒大恒驰新能源汽车科技(广东)有限公司 | 一种汽车碰撞评估方法及电子设备 |
CN110728439A (zh) * | 2019-09-26 | 2020-01-24 | 恒大新能源汽车科技(广东)有限公司 | 一种汽车碰撞评估方法及电子设备 |
CN112932662A (zh) * | 2021-02-01 | 2021-06-11 | 威海威高骨科手术机器人有限公司 | 一种具有患者安全保护的复位位置检测方法 |
CN112932662B (zh) * | 2021-02-01 | 2022-08-02 | 威海威高骨科手术机器人有限公司 | 一种具有患者安全保护的复位位置检测方法 |
CN113246140A (zh) * | 2021-06-22 | 2021-08-13 | 沈阳风驰软件股份有限公司 | 一种基于相机测量的多模型工件无序抓取方法及装置 |
CN113246140B (zh) * | 2021-06-22 | 2021-10-15 | 沈阳风驰软件股份有限公司 | 一种基于相机测量的多模型工件无序抓取方法及装置 |
CN114529604B (zh) * | 2022-01-25 | 2022-12-13 | 广州极点三维信息科技有限公司 | 一种空间物体定向碰撞检测方法、系统装置及介质 |
CN114529604A (zh) * | 2022-01-25 | 2022-05-24 | 广州极点三维信息科技有限公司 | 一种空间物体定向碰撞检测方法、系统装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101093586A (zh) | 面向复杂场景实时交互操作的并行碰撞检测方法 | |
Murray et al. | Robot motion planning on a chip. | |
de Mello et al. | Computer-aided mechanical assembly planning | |
Warren et al. | A portable parallel particle program | |
Lint et al. | Communication issues in the design and analysis of parallel algorithms | |
Tuminaro et al. | Parallel smoothed aggregation multigrid: Aggregation strategies on massively parallel machines | |
Devine et al. | New challenges in dynamic load balancing | |
Schloegel et al. | Graph partitioning for high performance scientific simulations | |
US10007742B2 (en) | Particle flow simulation system and method | |
Teng et al. | A dual-system variable-grain cooperative coevolutionary algorithm: satellite-module layout design | |
Lawlor et al. | A voxel-based parallel collision detection algorithm | |
Wyatt et al. | Quantum trajectory analysis of multimode subsystem-bath dynamics | |
Lee et al. | Collaborative intelligent CAD framework incorporating design history tracking algorithm | |
CN1851575A (zh) | 一种面向生产现场的半沉浸式装配工艺规划方法 | |
Alonso et al. | An efficient multiblock method for aerodynamic analysis and design on distributed memory systems | |
US8935129B1 (en) | System and method for simplifying a graph'S topology and persevering the graph'S semantics | |
Zhang et al. | An asynchronous parallel explicit solver based on scaled boundary finite element method using octree meshes | |
Everaars et al. | Using coordination to parallelize sparse-grid methods for 3-d cfd problems | |
Fujii et al. | Synchronization mechanisms for integration of distributed manufacturing simulation systems | |
Hsieh | A Petri-net-based structure for AS/RS operation modelling | |
McManus | A strategy for mapping unstructured mesh computational mechanics programs onto distributed memory parallel architectures | |
Zeigler et al. | Design of high level modelling/high performance simulation environments | |
Camata et al. | Parallel linear octree meshing with immersed surfaces | |
Zagaris et al. | A framework for parallel unstructured grid generation for practical aerodynamic simulations | |
Coon et al. | Parallel implementation of sparse LU decomposition for chemical engineering applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |