[发明专利]一种基于链表排序平衡二叉树的层次包围盒树构建方法在审

专利信息
申请号: 201710717268.0 申请日: 2017-08-21
公开(公告)号: CN107689078A 公开(公告)日: 2018-02-13
发明(设计)人: 叶秀芬;江帆;梅新奎;刘文智;王天;赵新华;崔建文;贾同超;宫垠;孙晶 申请(专利权)人: 哈尔滨工程大学
主分类号: G06T17/00 分类号: G06T17/00;G06T19/00
代理公司: 暂无信息 代理人: 暂无信息
地址: 150001 黑龙江省哈尔滨市南岗区*** 国省代码: 黑龙江;23
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 排序 平衡 二叉 层次 包围 构建 方法
【说明书】:

技术领域

发明属于虚拟现实中软体碰撞检测技术领域,具体涉及一种基于链表排序平衡二叉树的层次包围盒树构建方法。

背景技术

虚拟现实(Virtual Reality,简称VR)技术是一门正在被越来越多的人所熟知并且高速发展的技术,其利用计算机硬件、软件和网络生成一个三维立体环境,操作人员借助一些穿戴式传感器设备可以与之交互,对环境中的物体施加操作,同时虚拟环境提供给人视觉、听觉、触觉、嗅觉、味觉等感官的模拟,让人有种身临其境之感。

包围盒的主要原理就是使用固定的几何体将复杂多变的虚拟物体进行封闭包围,如果要判断两个物体是否相交,只要判断封闭住的这两个物体的包围盒是否相交,从而将复杂的三维物体之间的碰撞简化成规则几何体之间的碰撞。以上的简单的包围盒法只能应用于刚体之间的碰撞检测,如果要处理软体器官或者柔软布料等物体的碰撞检测,需要考虑软组织自身图元之间的碰撞,这就需要使用层次包围法。

层次包围盒法的原理是对三维几何物体进行图元划分,比如常用的三角片元,对这些单独的片元建立一个个的包围盒,然后根据三角片元的各自的相对位置组织成层次包围盒树的形式。当软体产生形变而发生软体自身图元的自碰撞时,通过遍历包围盒树的方式来检测出发生碰撞的图元节点。如果要检测两个物体之间是否发生了碰撞,需要从根节点出发,判断出根节点包围盒是否发生接触,如果接触便对两个根节点的子节点进行检测,这样从根节点出发直到被检测出来的两个物体的节点都是叶子节点,最后对这两个叶子节点的包围盒所包围的几何图元进行精确检测和位置响应的计算。

虚拟手术系统中不仅包含手术器械这种刚体物体,还具有手术对象如肝脏、胃等软体组织,所以选择的层次包围盒的类型不仅要适用于刚体,还要适用与软体,由于软体形变的自碰撞特性,既需要包围盒与几何物体有较好的紧密性,又同时需要有较快的更新速度,因此适应性高、时间复杂度低的AABB层次包围盒方法更适合虚拟手术系统的碰撞检测方法。

目前常用的构造层次包围盒树的方法为霍夫曼法,这种方法的具体实现方式为:

(1)为物体的所有给定的基本元素创建一个AABB包围盒,作为一个独立的二叉树,选择一个参照物;

(2)遍历所有二叉树,计算二叉树根节点与参照物之间的距离,该距离为二叉树根节点对应AABB包围盒中心点与参照物之间的距离,按照距离由小到大进行排序;

(3)选择距离最小和次小的两个二叉树进行合并,生成合并后图形的包围盒作为这两个包围盒的父节点,形成一颗新的二叉树;

(4)重复执行步骤(2)至步骤(3),直到所有二叉树合并为一个二叉树为止。

使用霍夫曼编码构造层次包围盒树时,每次选择距离最近的两个节点进行合并,可以保证当物体不发生形变时,构造出的层次包围盒树结构相同,保证了层次包围盒树的稳定性。但是霍夫曼法中4个节点构造出的层次包围盒树的树高为4,即使用霍夫曼树方式构建出的树的树高为O(n)级别,增加了遍历层次包围盒树的耗时。此外,使用霍夫曼编码方式构建树时,每一次合并后均需要重新计算距离并按照距离重新排序,因此构造树也是十分耗时的,实时性大大降低。

对于一棵平衡二叉树而言,搜索从根结点到叶结点的一条路径时,花费的总工作量最小,此外,层次包围盒树是否平衡,即树中各结点的大小是否大致相当则直接影响到二叉树的运算效率,使用霍夫曼编码的方式构造AABB层次包围盒树需要频繁计算距离和排序,复杂度高、实现难度大。因此,针对上述问题,本发明公开了一种基于链表排序平衡二叉树的层次包围盒树构建方法。

发明内容

本发明的目的在于提供一种能够降低二叉树高度、解决二叉树合并过程中重复排序问题、复杂度低且能够简化计算的基于链表排序平衡二叉树的层次包围盒树构建方法。

本发明的目的是这样实现的:

本发明公开了一种基于链表排序平衡二叉树的层次包围盒树构建方法,具体的实现步骤包括:

(1)将所要建立包围盒树的物体按照合理精度划分成基本几何图元,对每一个几何图元生成一个AABB层次包围盒,将每个独立的包围盒看做为一棵二叉树,每个二叉树只有一个根节点,选择一个物体或者地点作为参照物;

(2)创建一个链表存储二叉树:对步骤(1)中所建立所有只有根节点的二叉树进行遍历,对链表中每个二叉树对象增加一个属性值,存储该二叉树到参照地点的长度;

(3)根据链表中每个二叉树到参照地点的长度对链表进行升序排列;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工程大学,未经哈尔滨工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710717268.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top