公开/公告号CN106774146A
专利类型发明专利
公开/公告日2017-05-31
原文格式PDF
申请/专利权人 天津天堰科技股份有限公司;
申请/专利号CN201611254944.7
发明设计人 潘瑞红;
申请日2016-12-30
分类号G05B19/19;
代理机构天津市尚文知识产权代理有限公司;
代理人张东浩
地址 300110 天津市南开区华苑产业区海泰西路18号西6--301、302工业孵化
入库时间 2023-06-19 02:23:20
法律状态公告日
法律状态信息
法律状态
2019-05-07
授权
授权
2017-07-21
实质审查的生效 IPC(主分类):G05B19/19 申请日:20161230
实质审查的生效
2017-05-31
公开
公开
技术领域
本发明涉及一种点在三角形网格模型表面上的判定方法,尤其涉及一种用于虚拟穿刺消毒训练系统的点在三角形网格模型表面上的判定方法。
背景技术
穿刺是将穿刺针刺入体腔抽取分泌物做化验,向体腔注入气体或造影剂做造影检查,或向体腔内注入药物的一种诊疗技术,目的是抽血化验,输血、输液及置入导管做血管造影。消毒是穿刺技术如胸穿、腹穿、骨穿、腰穿等操作的关键步骤之一,如果消毒操作不规范,就有可能无法达到预期的消毒效果,导致穿刺过程中将细菌带入体内引起感染,因此对医护人员进行严格的消毒训练以规范其消毒操作。目前基于实体模型与空间定位跟踪单元的虚拟穿刺消毒训练系统中,其中实体模型基于医学CT扫描人体数据建立的虚拟模型通过数控加工而成,与虚拟模型完全对应,虚拟的消毒器械(如虚拟的消毒镊子)可通过3D扫描仪扫描实体消毒器械成像,也与实体消毒器械完全对应。虚拟模型和实体模型坐标系可通过传统的三点标定方法建立转换关系,使得实体模型在实体坐标系中的位置与虚拟模型在虚拟坐标系中的位置一致。通过建立相互关联的实体坐标系和虚拟坐标系,同时随着操作人员对操作单元的操作,空间定位跟踪模块捕捉模拟部在实体坐标系的空间点的坐标从而能够在虚拟坐标系中建立对应的虚拟点;再通过中央处理器判断虚拟点是否在虚拟模型的表面上,然后获取虚拟点在虚拟模型表面上的运行轨迹,从而根据运行轨迹对操作人员的消毒操作进行评价。通常判断点是否在虚拟模型表面上的步骤是计算点到表面的最短距离,从而当得到的最短距离小于指定值时则判定垫在表面。例如文献《计算点到曲面的最短距离的网格法》(计算机集成制造系统2001年1月第17卷第1期)就公开的一种点到曲面的最短距离的计算方法。再如中国专利文献CN101866162A公开的一种点到曲面距离计算的邻近三角形方法。目前通用的三角片面法是将设计曲面按给定的精度离散成三角面片,然后求空间点到三角平面片之间的最短距离。虽然这种算法通用性好,但是计算量大,边界处理较复杂。因此需要开发一种快速判定点在虚拟模型表面上的方法。
发明内容
因此,本发明提供一种计算量小,能够快速完成判定的点在三角形网格模型表面上的判定方法。
为了实现上述目的,本发明的一种点在三角形网格模型表面上的判定方法,包括以下步骤:
1)建立三角形网格中三角形集合的层次包围球,每一层的包围球内包围若干三角形组成的三角型集合,每一单个三角形包围球的球心为该三角形的外接圆的圆心,层次包围球的建立包括以下步骤:
判断三角形集合是否只包含单个三角形,如果是,则该三角形的包围球的球心为该三角形的外接圆的圆心,如果否,则求该三角形集合的长方体包围盒,其中该三角形集合中每个三角形的外接圆的圆心代表该三角形,并将该长方体包围盒沿长方体包围盒最长边分割成两个三角形集合,递归建立这两个三角形集合的层次包围球,分别作为左子树和右子树;
2)递归更新层次包围球的球心和半径,包括以下步骤:
判断包围球的左子树是否为空,如果否,则更新左子树;
判断包围球的右子树是否为空,如果否,则更新右子树;
判断包围球的左、右子树是否有一个为空,如果是,则包围球的球心和半径为不为空的子树的球心和半径;
判断包围球的左、右子树是否都不为空,如果是,则包围球的球心为左、右子树球心连线的中点,半径为(R左+R右+d)×0.5,其中R左为左子树半径,R右为右子树半径,d为左、右子树球心距离;
3)判断点是否在三角形集合上,如果是,则判定为点在所述虚拟模型的表面上;
判断点是否在三角形集合上,包括以下步骤:
判断点到该三角形集合所在包围球表面的距离是否大于指定误差控制值,如果是,则点不在此三角形集合上;如果否,
则判断该三角形集合是否只含单个三角形,如果是,则计算点到该单个三角形的最短距离并将该最短距离更新为全局最短距离,如果否,则递归遍历当前三角形集合的层次包围球的左、右子树;
判断全局最短距离值是否小于指定误差控制值,如果是,则点在该三角形集合上。
采用上述技术方案,本发明的点在三角形网格模型表面上的判定方法,通过建立三角形集合的层次包围球,从而能够快速获取全局最短距离,再当全局最短距离小于指定值时判定点在三角形网格模型表面上。本发明的点在三角形网格模型表面上的判定方法,由于判定操作步骤简单,极大地减少了数据运算量,减轻了运算负荷,能够实现快速判定。
具体实施方式
以下通过具体实施方式对本发明作进一步的详细说明。
本实施例提供一种点在三角形网格模型表面上的判定方法,包括以下步骤:
1)建立三角形网格中三角形集合的层次包围球,每一层的包围球内包围若干三角形组成的三角型集合,每一单个三角形包围球的球心为该三角形的外接圆的圆心,层次包围球的建立包括以下步骤:
判断三角形集合是否只包含单个三角形,如果是,则该三角形的包围球的球心为该三角形的外接圆的圆心,如果否,则求该三角形集合的长方体包围盒,其中该三角形集合中每个三角形的外接圆的圆心代表该三角形,并将该长方体包围盒沿长方体包围盒最长边分割成两个三角形集合,递归建立这两个三角形集合的层次包围球,分别作为左子树和右子树;
2)递归更新层次包围球的球心和半径,包括以下步骤:
判断包围球的左子树是否为空,如果否,则更新左子树;
判断包围球的右子树是否为空,如果否,则更新右子树;
判断包围球的左、右子树是否有一个为空,如果是,则包围球的球心和半径为不为空的子树的球心和半径;
判断包围球的左、右子树是否都不为空,如果是,则包围球的球心为左、右子树球心连线的中点,半径为(R左+R右+d)×0.5,其中R左为左子树半径,R右为右子树半径,d为左、右子树球心距离;
3)判断点是否在三角形集合上,如果是,则判定为点在所述虚拟模型的表面上;
判断点是否在三角形集合上,包括以下步骤:
判断点到该三角形集合所在包围球表面的距离是否大于指定误差控制值,如果是,则点不在此三角形集合上;如果否,则判断该三角形集合是否只含单个三角形,如果是,则计算点到该单个三角形的最短距离并将该最短距离更新为全局最短距离,如果否,则递归遍历当前三角形集合的层次包围球的左、右子树;
判断全局最短距离值是否小于指定误差控制值,如果是,则点在该三角形集合上。
显然,上述实施例仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
机译: 从三角形网格模型中提取特征边缘的装置和方法
机译: 一种使用二维三角形图案网格模型确定运动图像运动的方法
机译: 一种使用二维三角形图案网格模型确定运动图像运动的方法