CN107689078A - 一种基于链表排序平衡二叉树的层次包围盒树构建方法 - Google Patents
一种基于链表排序平衡二叉树的层次包围盒树构建方法 Download PDFInfo
- Publication number
- CN107689078A CN107689078A CN201710717268.0A CN201710717268A CN107689078A CN 107689078 A CN107689078 A CN 107689078A CN 201710717268 A CN201710717268 A CN 201710717268A CN 107689078 A CN107689078 A CN 107689078A
- Authority
- CN
- China
- Prior art keywords
- binary tree
- tree
- bvh
- bounding
- chained list
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/003—Navigation within 3D models or images
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于链表排序平衡二叉树的层次包围盒树构建方法,属于虚拟现实中软体碰撞检测技术领域。本发明将所要建立包围盒树的物体按照合理精度划分成基本几何图元,并生成对应的AABB层次包围盒,创建链表存储二叉树,对所建立二叉树进行遍历,在链表中每个二叉树对象增加一个属性值存储着该二叉树到参照地点的长度,根据链表中二叉树对象中该属性值对链表进行升序排列;遍历链表,将链表中的二叉树两两进行合并,合并结果存入该链表。本发明使用链表排序的平衡二叉树方法降低了树的高度,解决了二叉树合并过程中的重复排序问题,降低了遍历时的时间复杂度,节省了构造树的耗时,提升了碰撞检测过程的实时性及碰撞检测效率。
Description
技术领域
本发明属于虚拟现实中软体碰撞检测技术领域,具体涉及一种基于链表排序平衡二叉树的层次包围盒树构建方法。
背景技术
虚拟现实(Virtual Reality,简称VR)技术是一门正在被越来越多的人所熟知并且高速发展的技术,其利用计算机硬件、软件和网络生成一个三维立体环境,操作人员借助一些穿戴式传感器设备可以与之交互,对环境中的物体施加操作,同时虚拟环境提供给人视觉、听觉、触觉、嗅觉、味觉等感官的模拟,让人有种身临其境之感。
包围盒的主要原理就是使用固定的几何体将复杂多变的虚拟物体进行封闭包围,如果要判断两个物体是否相交,只要判断封闭住的这两个物体的包围盒是否相交,从而将复杂的三维物体之间的碰撞简化成规则几何体之间的碰撞。以上的简单的包围盒法只能应用于刚体之间的碰撞检测,如果要处理软体器官或者柔软布料等物体的碰撞检测,需要考虑软组织自身图元之间的碰撞,这就需要使用层次包围法。
层次包围盒法的原理是对三维几何物体进行图元划分,比如常用的三角片元,对这些单独的片元建立一个个的包围盒,然后根据三角片元的各自的相对位置组织成层次包围盒树的形式。当软体产生形变而发生软体自身图元的自碰撞时,通过遍历包围盒树的方式来检测出发生碰撞的图元节点。如果要检测两个物体之间是否发生了碰撞,需要从根节点出发,判断出根节点包围盒是否发生接触,如果接触便对两个根节点的子节点进行检测,这样从根节点出发直到被检测出来的两个物体的节点都是叶子节点,最后对这两个叶子节点的包围盒所包围的几何图元进行精确检测和位置响应的计算。
虚拟手术系统中不仅包含手术器械这种刚体物体,还具有手术对象如肝脏、胃等软体组织,所以选择的层次包围盒的类型不仅要适用于刚体,还要适用与软体,由于软体形变的自碰撞特性,既需要包围盒与几何物体有较好的紧密性,又同时需要有较快的更新速度,因此适应性高、时间复杂度低的AABB层次包围盒方法更适合虚拟手术系统的碰撞检测方法。
目前常用的构造层次包围盒树的方法为霍夫曼法,这种方法的具体实现方式为:
(1)为物体的所有给定的基本元素创建一个AABB包围盒,作为一个独立的二叉树,选择一个参照物;
(2)遍历所有二叉树,计算二叉树根节点与参照物之间的距离,该距离为二叉树根节点对应AABB包围盒中心点与参照物之间的距离,按照距离由小到大进行排序;
(3)选择距离最小和次小的两个二叉树进行合并,生成合并后图形的包围盒作为这两个包围盒的父节点,形成一颗新的二叉树;
(4)重复执行步骤(2)至步骤(3),直到所有二叉树合并为一个二叉树为止。
使用霍夫曼编码构造层次包围盒树时,每次选择距离最近的两个节点进行合并,可以保证当物体不发生形变时,构造出的层次包围盒树结构相同,保证了层次包围盒树的稳定性。但是霍夫曼法中4个节点构造出的层次包围盒树的树高为4,即使用霍夫曼树方式构建出的树的树高为O(n)级别,增加了遍历层次包围盒树的耗时。此外,使用霍夫曼编码方式构建树时,每一次合并后均需要重新计算距离并按照距离重新排序,因此构造树也是十分耗时的,实时性大大降低。
对于一棵平衡二叉树而言,搜索从根结点到叶结点的一条路径时,花费的总工作量最小,此外,层次包围盒树是否平衡,即树中各结点的大小是否大致相当则直接影响到二叉树的运算效率,使用霍夫曼编码的方式构造AABB层次包围盒树需要频繁计算距离和排序,复杂度高、实现难度大。因此,针对上述问题,本发明公开了一种基于链表排序平衡二叉树的层次包围盒树构建方法。
发明内容
本发明的目的在于提供一种能够降低二叉树高度、解决二叉树合并过程中重复排序问题、复杂度低且能够简化计算的基于链表排序平衡二叉树的层次包围盒树构建方法。
本发明的目的是这样实现的:
本发明公开了一种基于链表排序平衡二叉树的层次包围盒树构建方法,具体的实现步骤包括:
(1)将所要建立包围盒树的物体按照合理精度划分成基本几何图元,对每一个几何图元生成一个AABB层次包围盒,将每个独立的包围盒看做为一棵二叉树,每个二叉树只有一个根节点,选择一个物体或者地点作为参照物;
(2)创建一个链表存储二叉树:对步骤(1)中所建立所有只有根节点的二叉树进行遍历,对链表中每个二叉树对象增加一个属性值,存储该二叉树到参照地点的长度;
(3)根据链表中每个二叉树到参照地点的长度对链表进行升序排列;
(4)遍历链表,将链表中的二叉树两两进行合并,奇数元素作为合并后子树的左孩子,偶数元素作为合并后子树的右孩子,合并结果存入该链表;
(5)重复执行步骤(3)至步骤(4)的过程,直到所有二叉树合并为一个二叉树为止。
对于一种基于链表排序平衡二叉树的层次包围盒树构建方法,所述的步骤(1)的具体实现步骤包括:
(1.1)将存于CPU端的模型三角片面数据复制到设备端全局存储器中;
(1.2)CUDA多线程并行执行为每个几何图元建立独立包围盒树的核函数KernelA,并对每个几何图元生成包围盒树对象设置标志属性,初始化全部设置为false,表示这些节点还没被合并。
对于一种基于链表排序平衡二叉树的层次包围盒树构建方法,所述的步骤(2)的实现方式为设定并执行核函数KernelB,具体的实现方式为:CUDA多线程并行计算参照地点到每个包围盒中心的长度,并将该长度值设置到包围盒二叉树对象中,依次将每个对象插入到链表中。
对于一种基于链表排序平衡二叉树的层次包围盒树构建方法,所述的步骤(3)的具体实现方式为:根据二叉树包围盒节点对象距离参照地点的长度对步骤(3)中形成的链表进行排序,该过程不存在并行性,将在主机端执行。
对于一种基于链表排序平衡二叉树的层次包围盒树构建方法,所述的步骤(4)的实现方式为并行执行核函数KernelC,具体实现步骤包括:
(4.1)从链表中并行取出两个包围盒二叉树节点,将取出的对象标志值设置为true,表示这两个节点已经被合并过;
(4.2)将两个二叉树包围盒进行合并,之后重新计算大包围盒的中心到参照地点的长度,并将长度设置到新生产的二叉树包围盒对象中,设置该对象的标志值为false;
(4.3)将步骤(4.2)中的新生产的二叉树包围盒对象插入链表。
对于一种基于链表排序平衡二叉树的层次包围盒树构建方法,所述的步骤(5)的具体实现步骤包括:
(5.1)判断链表中节点的数量是否为1;
(5.2)若节点的数量为1,说明AABB层次包围盒树的构造完成,最后的节点就是整个包围盒树的根节点;
(5.3)否则重复执行步骤(3),重新构建;
(5.4)不断重复执行步骤(3)至步骤(4)的过程,直到所有二叉树合并为一个二叉树为止。
优选的,步骤(1)中所述的基本几何图元使用的是三角片元。
优选的,所述的步骤(4)中使用平衡二叉树方式构造时,在合并生成新的二叉树时不需要在每次合并后都重新计算距离,而是将链表中的元素两两合并后再计算距离。
优选的,所述的步骤(4)中如果链表中元素数量为偶数,则可以完全合并;如果元素数量为奇数,则保留最后一个元素,在下一轮合并时使用。
优选的,步骤(1.1)中所述的三角片面数据为三角形的三个顶点数据。
本发明的有益效果在于:
从时间复杂度上来看,假设物体的基本几何元素为n个三角片元,霍夫曼树和本发明公开的一种基于链表排序平衡二叉树的层次包围盒树构建方法都需要执行n-1次合并二叉树的过程,时间复杂度为O(n),每一层对合并后的元素插入排序的时间复杂度也为O(n),但是霍夫曼法的树高为O(n)级别,因此整体的时间复杂度为O(n3),而本发明使用的平衡二叉树法树高为O(log2n)级别,因此整体的时间复杂度为O(n2log2n),与前者相比来说,整体时间复杂度大大降低。
针对常用的AABB层次包围盒树构建过程中所出现的树的高度较高,复杂度较大,以及存在重复排序的问题,本发明公开的一种基于链表排序平衡二叉树的层次包围盒树构建方法使用链表排序的平衡二叉树的改进方法,在使用平衡二叉树方式构造时,不需要在每一合并后都重新计算距离,而是将链表中的元素两两合并后再计算距离,节省了构造树的耗时,提升了碰撞检测过程的实时性。
本发明主要用于碰撞检测技术中层次包围盒二叉树的构建,相对于常用的层次包围盒二叉树的组织方式,平衡二叉树的树高最低,同时使用链表来组织二叉树节点,在合并的过程中避免重复排序的过程,提升了碰撞检测效率。
附图说明
图1为本发明中AABB层次包围法构建流程示意图;
图2为本发明中AVL层次包围盒树的构造流程示意图;
图3为本发明中AVL层次包围盒树的构造示意图;
图4为本发明中并行创建AVL层次包围盒树的流程示意图;
图5为本发明中不同数量规模的软体模型的层次包围盒场景示意图;
图6为本发明中不同建模数量的情况下层次包围盒树的构建耗时表。
具体实施方式
下面结合附图对本发明做进一步描述。
本发明公开了一种基于链表排序平衡二叉树的层次包围盒树构建方法,主要使用看AABB层次包围盒树,下面将从AABB层次包围盒树的构造过程、组织结构以及包围盒及基本图元间的相交测试这几方面来介绍AABB层次包围盒法在碰撞检测技术中的使用。
结合图1,包围盒树的构建方法有自顶向下、自底向上及插入方法三种。结合图1(a),自底向上的方法由代表最小包围盒的叶子结点开始,采用一定的分组方法,逐步向上合并包围盒,直至得到包含整个物体的最大包围盒,即根节点。
结合图1(b),自顶向下的方法则从代表最大包围盒的根节点开始,按一定方法逐步向下分割至叶子节点。
结合图1(c),插入方法则是将包围盒逐个插入到层次树中。
这三种构建方法中,虽然只有插入方法允许在运行期间执行更新操作,但实现过程却最为复杂,因此应用不多。对于自顶向下与自底向上两种方法,目前并没有研究证明谁更优越,本实施例中选用的是自底向上的方法。
常用的AABB层次组织结构有二叉树、四叉树、八叉树等。为了使构建和更新方便,同时尽可能地利用GPU的并行运算能力,通常选择二叉树结构做为AABB层次包围盒的组织结构,主要原因是二叉树是最简单的树形结构,计算速度快,可以保证虚拟仿真系统对实时性及稳定性的要求,实践和理论分析结果都说明采用二叉树是行之有效的。
本发明所述的一种基于链表排序平衡二叉树的层次包围盒树构建方法使用CUDA来并行完成构建任务:由于模型数据存储在CPU中,所将主机端的模型三角片元数据拷贝到设备端中,在设备端中,启用CUDA多线程并行地为每个三角片元创建包围盒,求得包围盒中心并计算该中心到参照地点的距离,并将每个节点存入链表中。最后并行地从链表中两两取出二叉树节点进行合并,如果链表中节点的数量是奇数,可以将最后一个节点放置到下一轮的合并过程中。
结合图2,本发明的具体实现步骤包括:
(1)将所要建立包围盒树的物体按照合理精度划分成基本几何图元,对每一个几何图元生成一个AABB层次包围盒,将每个独立的包围盒看做为一棵二叉树,每个二叉树只有一个根节点,选择一个物体或者地点作为参照物;
(2)创建一个链表存储二叉树:对步骤(1)中所建立所有只有根节点的二叉树进行遍历,对链表中每个二叉树对象增加一个属性值,存储该二叉树到参照地点的长度;
(3)根据链表中每个二叉树到参照地点的长度对链表进行升序排列;
(4)遍历链表,将链表中的二叉树两两进行合并,奇数元素作为合并后子树的左孩子,偶数元素作为合并后子树的右孩子,合并结果存入该链表;
(5)重复执行步骤(3)至步骤(4)的过程,直到所有二叉树合并为一个二叉树为止。
对于一种基于链表排序平衡二叉树的层次包围盒树构建方法,所述的步骤(1)的具体实现步骤包括:
(1.1)将存于CPU端的模型三角片面数据复制到设备端全局存储器中;
(1.2)CUDA多线程并行执行为每个几何图元建立独立包围盒树的核函数KernelA,并对每个几何图元生成包围盒树对象设置标志属性,初始化全部设置为false,表示这些节点还没被合并。
对于一种基于链表排序平衡二叉树的层次包围盒树构建方法,所述的步骤(2)的实现方式为设定并执行核函数KernelB,具体的实现方式为:CUDA多线程并行计算参照地点到每个包围盒中心的长度,并将该长度值设置到包围盒二叉树对象中,依次将每个对象插入到链表中。
对于一种基于链表排序平衡二叉树的层次包围盒树构建方法,所述的步骤(3)的具体实现方式为:根据二叉树包围盒节点对象距离参照地点的长度对步骤(3)中形成的链表进行排序,该过程不存在并行性,将在主机端执行。
对于一种基于链表排序平衡二叉树的层次包围盒树构建方法,所述的步骤(4)的实现方式为并行执行核函数KernelC,具体实现步骤包括:
(4.1)从链表中并行取出两个包围盒二叉树节点,将取出的对象标志值设置为true,表示这两个节点已经被合并过;
(4.2)将两个二叉树包围盒进行合并,之后重新计算大包围盒的中心到参照地点的长度,并将长度设置到新生产的二叉树包围盒对象中,设置该对象的标志值为false;
(4.3)将步骤(4.2)中的新生产的二叉树包围盒对象插入链表。
对于一种基于链表排序平衡二叉树的层次包围盒树构建方法,所述的步骤(5)的具体实现步骤包括:
(5.1)判断链表中节点的数量是否为1;
(5.2)若节点的数量为1,说明AABB层次包围盒树的构造完成,最后的节点就是整个包围盒树的根节点;
(5.3)否则重复执行步骤(3),并行创建AABB层次包围盒树的流程图如图4所示;
(5.4)不断重复执行步骤(3)至步骤(4)的过程,直到所有二叉树合并为一个二叉树为止。
优选的,步骤(1)中所述的基本几何图元使用的是三角片元。
优选的,所述的步骤(4)中使用平衡二叉树方式构造时,在合并生成新的二叉树时不需要在每次合并后都重新计算距离,而是将链表中的元素两两合并后再计算距离。
优选的,所述的步骤(4)中如果链表中元素数量为偶数,则可以完全合并;如果元素数量为奇数,则保留最后一个元素,在下一轮合并时使用。
优选的,步骤(1.1)中所述的三角片面数据为三角形的三个顶点数据。
设a、b、c、d代表物体基本几何元素的包围盒,数字对应包围盒与参照物之间的距离,则AABB层次包围盒树构建方式示意图如图3所示。
结合图5,为不同数量规模的软体模型的层次包围盒场景图,本发明使用普通的软体模型对霍夫曼树及基于链表排序平衡二叉树的层次包围盒树构建方法两种方法在构造层次包围盒树时进行耗时上进行对比,结合图6可以看出,在场景规模较小的情况下由于两种方法生成的二叉树的树高差距较小,霍夫曼编码构建的层次包围盒树和本发明的基于链表排序的平衡二叉树构建的层次包围盒树的耗时相差不大,但是随着场景规模的扩大,本发明相比与霍夫曼编码减少了近30%耗时,大大提升了碰撞检测过程中的实时性。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于链表排序平衡二叉树的层次包围盒树构建方法,其特征在于,具体的实现步骤包括:
(1)将所要建立包围盒树的物体按照合理精度划分成基本几何图元,对每一个几何图元生成一个AABB层次包围盒,将每个独立的包围盒看做为一棵二叉树,每个二叉树只有一个根节点,选择一个物体或者地点作为参照物;
(2)创建一个链表存储二叉树:对步骤(1)中所建立所有只有根节点的二叉树进行遍历,对链表中每个二叉树对象增加一个属性值,存储该二叉树到参照地点的长度;
(3)根据链表中每个二叉树到参照地点的长度对链表进行升序排列;
(4)遍历链表,将链表中的二叉树两两进行合并,奇数元素作为合并后子树的左孩子,偶数元素作为合并后子树的右孩子,合并结果存入该链表;
(5)重复执行步骤(3)至步骤(4)的过程,直到所有二叉树合并为一个二叉树为止。
2.根据权利要求1所述的一种基于链表排序平衡二叉树的层次包围盒树构建方法,其特征在于,所述的步骤(1)的具体实现步骤包括:
(1.1)将存于CPU端的模型三角片面数据复制到设备端全局存储器中;
(1.2)CUDA多线程并行执行为每个几何图元建立独立包围盒树的核函数KernelA,并对每个几何图元生成包围盒树对象设置标志属性,初始化全部设置为false,表示这些节点还没被合并。
3.根据权利要求1所述的一种基于链表排序平衡二叉树的层次包围盒树构建方法,其特征在于,所述的步骤(2)的实现方式为设定并执行核函数KernelB,具体的实现方式为:CUDA多线程并行计算参照地点到每个包围盒中心的长度,并将该长度值设置到包围盒二叉树对象中,依次将每个对象插入到链表中。
4.根据权利要求1所述的一种基于链表排序平衡二叉树的层次包围盒树构建方法,其特征在于,所述的步骤(3)的具体实现方式为:根据二叉树包围盒节点对象距离参照地点的长度对步骤(3)中形成的链表进行排序,该过程不存在并行性,将在主机端执行。
5.根据权利要求1所述的一种基于链表排序平衡二叉树的层次包围盒树构建方法,其特征在于,所述的步骤(4)的实现方式为并行执行核函数KernelC,具体实现步骤包括:
(4.1)从链表中并行取出两个包围盒二叉树节点,将取出的对象标志值设置为true,表示这两个节点已经被合并过;
(4.2)将两个二叉树包围盒进行合并,之后重新计算大包围盒的中心到参照地点的长度,并将长度设置到新生产的二叉树包围盒对象中,设置该对象的标志值为false;
(4.3)将步骤(4.2)中的新生产的二叉树包围盒对象插入链表。
6.根据权利要求1所述的一种基于链表排序平衡二叉树的层次包围盒树构建方法,其特征在于,所述的步骤(5)的具体实现步骤包括:
(5.1)判断链表中节点的数量是否为1;
(5.2)若节点的数量为1,说明AABB层次包围盒树的构造完成,最后的节点就是整个包围盒树的根节点;
(5.3)否则重复执行步骤(3),重新构建;
(5.4)不断重复执行步骤(3)至步骤(4)的过程,直到所有二叉树合并为一个二叉树为止。
7.根据权利要求1所述的一种基于链表排序平衡二叉树的层次包围盒树构建方法,其特征在于:步骤(1)中所述的基本几何图元使用的是三角片元。
8.根据权利要求1所述的一种基于链表排序平衡二叉树的层次包围盒树构建方法,其特征在于:所述的步骤(4)中使用平衡二叉树方式构造时,在合并生成新的二叉树时不需要在每次合并后都重新计算距离,而是将链表中的元素两两合并后再计算距离。
9.根据权利要求1所述的一种基于链表排序平衡二叉树的层次包围盒树构建方法,其特征在于:所述的步骤(4)中如果链表中元素数量为偶数,则可以完全合并;如果元素数量为奇数,则保留最后一个元素,在下一轮合并时使用。
10.根据权利要求2所述的一种基于链表排序平衡二叉树的层次包围盒树构建方法,其特征在于:步骤(1.1)中所述的三角片面数据为三角形的三个顶点数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710717268.0A CN107689078A (zh) | 2017-08-21 | 2017-08-21 | 一种基于链表排序平衡二叉树的层次包围盒树构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710717268.0A CN107689078A (zh) | 2017-08-21 | 2017-08-21 | 一种基于链表排序平衡二叉树的层次包围盒树构建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107689078A true CN107689078A (zh) | 2018-02-13 |
Family
ID=61153487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710717268.0A Pending CN107689078A (zh) | 2017-08-21 | 2017-08-21 | 一种基于链表排序平衡二叉树的层次包围盒树构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107689078A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542897A (zh) * | 2018-10-30 | 2019-03-29 | 广东科学技术职业学院 | 一种二叉查找树的方法及系统 |
CN110580734A (zh) * | 2019-09-12 | 2019-12-17 | 浙江科澜信息技术有限公司 | 一种三维场景渲染方法、装置、设备及可读存储介质 |
CN110807831A (zh) * | 2019-09-18 | 2020-02-18 | 重庆大学 | 一种基于最小单元碰撞检测的传感器覆盖范围计算方法 |
CN111062980A (zh) * | 2019-11-22 | 2020-04-24 | 西安理工大学 | 一种软体碰撞检测方法 |
WO2022121525A1 (zh) * | 2020-12-11 | 2022-06-16 | 中兴通讯股份有限公司 | 三维场景数据的渲染方法及装置、存储介质、电子装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593366A (zh) * | 2009-06-24 | 2009-12-02 | 北京航空航天大学 | 一种基于平衡二叉树的大规模虚拟场景碰撞检测方法 |
-
2017
- 2017-08-21 CN CN201710717268.0A patent/CN107689078A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593366A (zh) * | 2009-06-24 | 2009-12-02 | 北京航空航天大学 | 一种基于平衡二叉树的大规模虚拟场景碰撞检测方法 |
Non-Patent Citations (1)
Title |
---|
于凯: "层次包围盒碰撞检测算法的优化及其并行化", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542897A (zh) * | 2018-10-30 | 2019-03-29 | 广东科学技术职业学院 | 一种二叉查找树的方法及系统 |
CN109542897B (zh) * | 2018-10-30 | 2021-06-11 | 广东科学技术职业学院 | 一种二叉查找树的方法及系统 |
CN110580734A (zh) * | 2019-09-12 | 2019-12-17 | 浙江科澜信息技术有限公司 | 一种三维场景渲染方法、装置、设备及可读存储介质 |
CN110807831A (zh) * | 2019-09-18 | 2020-02-18 | 重庆大学 | 一种基于最小单元碰撞检测的传感器覆盖范围计算方法 |
CN111062980A (zh) * | 2019-11-22 | 2020-04-24 | 西安理工大学 | 一种软体碰撞检测方法 |
WO2022121525A1 (zh) * | 2020-12-11 | 2022-06-16 | 中兴通讯股份有限公司 | 三维场景数据的渲染方法及装置、存储介质、电子装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107689078A (zh) | 一种基于链表排序平衡二叉树的层次包围盒树构建方法 | |
Greuter et al. | Real-time procedural generation ofpseudo infinite'cities | |
Goldsmith et al. | Automatic creation of object hierarchies for ray tracing | |
Tang et al. | CAMA: Contact‐aware matrix assembly with unified collision handling for GPU‐based cloth simulation | |
CN107590853A (zh) | 一种城市建筑群震害高真实度展示方法 | |
CN100570641C (zh) | 基于物理的植物叶子模拟方法 | |
CN109979002A (zh) | 基于WebGL三维可视化的场景构建系统及方法 | |
Novák et al. | Rasterized bounding volume hierarchies | |
Liang et al. | Collision detection of virtual plant based on bounding volume hierarchy: A case study on virtual wheat | |
Wang et al. | A review of collision detection for deformable objects | |
Mosegaard et al. | GPU accelerated surgical simulators for complex morphology | |
CN109243614A (zh) | 一种手术仿真方法、装置和系统 | |
Balogh et al. | CodeMetrpolis—A minecraft based collaboration tool for developers | |
CN105279788B (zh) | 一种生成物体空间扫掠体的方法 | |
Nuić et al. | Algorithms for procedural generation and display of trees | |
Ibrahim et al. | Generating fractals based on spatial organizations | |
Yong et al. | GVM based intuitive simulation web application for collision detection | |
Merrell et al. | Constraint-based model synthesis | |
Morgan et al. | Using binary space partitioning to generate urban spatial patterns | |
Weller et al. | Kinetic Separation Lists for Continuous Collision Detection of Deformable Objects. | |
Ding et al. | New collision detection method for simulating virtual plant populations | |
Fletcher et al. | Challenges and perspectives of procedural modelling and effects | |
Sulaiman et al. | Balanced hierarchical construction in collision detection for rigid bodies | |
KR102670898B1 (ko) | 증강 현실에서 빌딩 정보 모델 시각화를 위한 3d 엔진 기반 기하학적 최적화 방법 | |
Taillandier et al. | From GIS data to GIS agents, modeling with the GAMA simulation platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180213 |
|
WD01 | Invention patent application deemed withdrawn after publication |