首页> 中国专利> 一种基于瞬态显示延迟处理的计算机切割模拟方法

一种基于瞬态显示延迟处理的计算机切割模拟方法

摘要

一种计算机科学技术领域的一种基于瞬态显示延迟处理的计算机切割模拟方法,包括:(1)读取网格的数据;(2)启动显示线程;(3)启动瞬态显示线程(4)在步骤(1)后同时启动碰撞检测线程;(5)如果发生碰撞,则进行标记处理;(6)如果碰撞检测线程在2秒内没有发生碰撞,如果没有关闭信号就继续步骤(4),否则等待系统关闭;(7)如果步骤(4)如果碰撞检测线程发现上一次碰撞检测的时间距离现在大于等于2秒,则进行真实网格划分;由于在切割过程中伪显示切割效果,而真实切割则发生在用户未切割情况下进行,从而增强了切割真实感与实时性,提高了切割的流畅性避免了掉帧和卡顿的现象。

著录项

  • 公开/公告号CN106202642A

    专利类型发明专利

  • 公开/公告日2016-12-07

    原文格式PDF

  • 申请/专利权人 哈尔滨理工大学;

    申请/专利号CN201610497152.6

  • 发明设计人 王沫楠;毛志勇;李荣鹏;陈少勇;

    申请日2016-06-30

  • 分类号G06F17/50;

  • 代理机构

  • 代理人

  • 地址 150080 黑龙江省哈尔滨市南岗区学府路52号

  • 入库时间 2023-06-19 01:07:21

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-10-13

    授权

    授权

  • 2017-01-04

    实质审查的生效 IPC(主分类):G06F17/50 申请日:20160630

    实质审查的生效

  • 2016-12-07

    公开

    公开

说明书

技术领域

本发明属于计算机科学技术领域,更具体地,涉及一种基于瞬态显示延迟处理的计算机切割模拟方法。

背景技术

虚拟手术系统是一个专门用来模拟在手术过程中可能遇到的各种情况的虚拟现实应用系统。通过医学可视化技术将医学影像资料重构为人体的三维图形,并利用场景渲染技术生成逼真的手术场景。

软组织的切割是医学领域虚拟手术的重要组成部分,不仅需要满足逼真性,还必须遵循生物组织的物理特性及实时变化,是一个极具挑战的课题。

软组织切割中,实时性、稳定性和真实感是衡量切割效果的三个关键因素。从场景的渲染角度来说,图像必须要以30HZ以上的刷新率才能保证图像显示的平滑与连续,而要是后续的触觉设备也能输出稳定平滑的力觉信息,需要触觉设备设备的刷新率达到300-1000HZ。

目前国外Morten Bro-Nielsen等人提出去除法,即通过碰撞检测找出和手术器械发生碰撞的四面体单元,将他们从模型中删除。虽然实现简单,执行速度快,可以满足虚拟手术逇实时性要求,但由于除掉切口的四面体单元会产生严重的锯齿现象,使得真实感很差。DanielBielser等人首先提出采用细分被切割的四面体预先分裂为17个小的四面体单元,并将四面体的切割分为5种拓扑结构,将这5中拓扑结构映射到1:17的细分中。此算法极大提高了仿真的真实性,但是会使得切割的时候四面体的数量急剧增加,随着切割的时间的增长,由于四面体单元过多,导致计算时间过长,最终会失真,后来虽然提出了最少的四面体网格划分的算法,减少了划分时的数量,但是由于网格划分的判断复杂,而且拓扑的更新都会对手术的动态显示产生延迟,因此还是会存在手术的真实感问题。

发明内容

本发明的目的在于克服现有技术中的不足,提供一种基于瞬态显示延迟处理的计算机切割模拟方法,利用一个瞬态显示的模块,将在切割过程中触碰到的单元,先进行伪切割效果,即将碰撞产生的切痕与碰撞上的三角面片添加到瞬态显示的模块中,然后直接显示切割的效果,在发现碰撞检测连续2秒钟都没有发生碰撞后,认为用户在观察模型与进行思考,而没有进行切割,此时,在后台中对瞬态显示中的三角面片对应的四面体进行四面体细分,进行拓扑分离,同时更新节点信息,将伪显示的切割效果更新为真实切割效果,这样使得在切割的过程中不会因为计算与拓扑分离使得切割的真实感下降,同时不会受到网格数量的影响使得随着切割的进行,会发生掉帧卡顿的现象,而进行真正切割处理的时候则是在操作人员不进行切割的时候,这样增强了切割过程中的真实感与实时性。

一种基于瞬态显示延迟处理的计算机切割模拟方法,具体步骤如下:

(1) 读取网格的数据,得到四面体网格的单元集合与表面三角面片集合以及点的集合;

(2) 启动表面三角面片显示线程;

(3) 在具体步骤(2)之后,调用瞬态显示模块,显示模块内部标记的表面三角面片同时直接显示出切割痕迹,如果系统没有关闭,将继续调用步骤(2),继续重复显示;

(4) 在步骤(1)后,进行步骤(2)的同时启动碰撞检测的线程;

(5)如果步骤(4)的碰撞检测结果为发生碰撞,则将碰撞的单元进行标记处理,添加到瞬态显示的模块中,判断系统是否有关闭信号,没有关闭信号将继续调用步骤(4),否则停止调用,等待系统关闭;

(6)如果步骤(4)没有发生碰撞检测,而且未发生碰撞检测的时间小于2秒,判断系统是否有关闭信号,没有关闭信号则继续调用步骤(4),否则停止调用,等待系统关闭;

(7)如果步骤(4)没有发生碰撞检测,而且未发生碰撞检测的时间大于等于2秒,则开始对瞬态显示模块内的标记节点启动切割的四面体网格划分,进行拓扑重构,判断系统是否有关闭信号,没有关闭信号则继续调用步骤(4),否则停止调用,等待系统关闭。

优选的技术方案中,所述的步骤(2)启动表面三角面片显示线程,是指启动一个线程,线程内部一直在重复运行显示所有表面网格的程序,直到系统结束之前,一直都在显示着三角面片集合。

优选的技术方案中,所述的步骤(3)调用瞬态显示模块,显示模块内部标记的表面三角面片同时直接显示出切割痕迹是指调用一下瞬态显示模块,模块内部有着显示内部特殊标记的表面三角面片,特殊标记就是碰撞检测中,标记碰撞时在当前三角面片的切痕,在瞬态显示模块内部,将标记的三角面片显示同时将标记的切痕按照厚度显示出来,有直接切割的效果。

优选的技术方案中,所述的步骤(5)将碰撞的单元进行标记处理,添加到瞬态显示的模块中是指将碰撞的单元,将其碰撞时记录的切痕以及自身的三角面片序号都记录到瞬态显示的模块中存储。

优选的技术方案中,所述的步骤(7)开始对瞬态显示模块内的标记节点启动切割的四面体网格划分,进行拓扑重构是指:根据标记的三角面片序号找到其四面体网格序号,然后根据标记的切痕,进行最小四面体分离,然后再添加回四面体集合中,将新增加的表面网格也添加到表面网格中。

本发明的有效技术效果是:利用一个瞬态显示的模块,将在切割过程中伪显示切割效果,即将碰撞产生的切痕与碰撞上的三角面片添加到瞬态显示的模块中,然后直接显示切割的效果,如果碰撞检测连续2秒钟都没有检测到碰撞,系统认为用户在观察模型与进行思考,而没有进行切割操作,此时,在后台对瞬态显示中的三角面片对应的四面体进行四面体细分,进行拓扑分离,同时更新节点信息,将原先伪显示的切割效果更新为真实切割效果,因此在真实切割过程中不会发生四面体网格细分的计算与相应的网格拓扑分离,而真正的四面体网格细分,产生真正的切割则是在操作人员不进行切割的时候在后台中进行,从而提高了切割的效率,增强了切割真实感与实时性,提高了切割的流畅性避免了掉帧和卡顿的现象。

附图说明

图1为本发明瞬态显示延迟处理的计算机切割模拟方法的步骤流程示意图。

具体实施方式

为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明进行详细说明。

如图1所示,一种基于瞬态显示延迟处理的计算机切割模拟方法,包括如下步骤:

(1)读取网格的数据,得到四面体网格的单元集合与表面三角面片集合以及点的集合;

读取四面体的数据,生成四面体网格的集合,三角面片的集合,与点的集合。

(2)启动表面三角面片显示线程,是指启动一个线程,线程内部一直在重复运行显示所有表面网格的程序,直到系统结束之前,一直都在显示着三角面片集合。

(3) 在具体步骤(2)之后,调用瞬态显示模块,显示模块内部标记的表面三角面片同时直接显示出切割痕迹,如果系统没有关闭,将继续调用步骤(2),继续重复显示,在系统启动三角面片显示的程序后,就会调用瞬态显示的模块,这个也会调用一个一直在程序运行期间一直在运行的显示程序,只是显示的是被标记的三角面片以及切割痕迹,而切割的痕迹与三角的面片信息则是在一个结构体中,所有的是三角面片按照进入模块的先后加入到一个队列中,进行存储同时方便瞬态的显示绘制到屏幕中。在瞬态显示模块的内部存储的三角面片显示一轮后,查看系统是否有关闭的信息,如果要关闭,则关闭瞬态显示模块,关闭步骤(2)中的三角面片显示模块,如果没有关闭,则继续调用步骤(2)中的显示程序,进行不断的迭代。

(4)在步骤(1)后,进行步骤(2)的同时启动碰撞检测的线程;

在系统进行步骤(1)的时候,有两个线程是同时启动的,一个是步骤(2)中的线程,一个就是碰撞检测线程。碰撞检测的线程,是指在一个线程内,始终在运行着切割程序,切割程序则一直在检测手术刀的表面网格是否与被切割的四面体网格有碰撞,如果发生碰撞,则返回碰撞的三角面片信息以及切痕。

(5) 如果步骤(4)的碰撞检测结果为发生碰撞,那么将碰撞的单元进行标记处理,添加到瞬态显示的模块中,判断系统是否有关闭信号,没有关闭信号将继续调用步骤(4),否则停止调用,等待系统关闭;如果步骤(4)的碰撞检测的结果是检测到了某个单元有碰撞,那么理论就应该会调用切割的算法,会发生切割的痕迹,所以处理方式是将碰撞时记录的切痕以及自身的三角面片序号都记录到瞬态显示的模块中存储,届时会由瞬态显示模块来将这些切痕显示到屏幕中,产生切割的效果。在标记添加结束后,查看系统是否有关闭的信息,如果系统要关闭,则停止碰撞检测的线程,等待系统关闭,如果系统没有关闭信息,则继续调用步骤(4),继续进行碰撞的检测。

(6)如果步骤(4)没有发生碰撞检测,而且未发生碰撞检测的时间小于2秒,判断系统是否有关闭信号,没有关闭信号则继续调用步骤(4),否则停止调用,等待系统关闭;如果步骤(4)没有检测到碰撞,而且上一次检测到碰撞的时间小于2秒的情况下,默认不作处理,不认为用户停止连续的切割操作,此时查看系统是否有关闭的信息,如果系统要关闭,则停止碰撞检测的线程,等待系统关闭,如果系统没有关闭信息,则继续调用步骤(4),继续进行碰撞的检测。

(7) 如果步骤(4)没有发生碰撞检测,而且未发生碰撞检测的时间小于等于2秒,则开始对瞬态显示模块内的标记节点启动切割的四面体网格划分,进行拓扑重构,判断系统是否有关闭信号,没有关闭信号则继续调用步骤(4),否则停止调用,等待系统关闭;如果步骤(4)没有检测到碰撞检测,而且距离上一次的碰撞发生时间大于2秒,对瞬态显示模块内的标记节点启动切割的四面体网格划分,进行拓扑重构。拓扑重构指的是根据标记的三角面片序号找到其四面体网格序号,然后根据标记的切痕,进行最小四面体分离,然后再添加回四面体集合中,将新增加的表面网格也添加到表面网格中,查看系统是否有关闭的信息,如果系统要关闭,则停止碰撞检测的线程,等待系统关闭,如果系统没有关闭信息,则继续调用步骤(4),继续进行碰撞的检测。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号