CN110341192A - 一种基于vr的导板3d打印模型建立方法 - Google Patents
一种基于vr的导板3d打印模型建立方法 Download PDFInfo
- Publication number
- CN110341192A CN110341192A CN201910630656.4A CN201910630656A CN110341192A CN 110341192 A CN110341192 A CN 110341192A CN 201910630656 A CN201910630656 A CN 201910630656A CN 110341192 A CN110341192 A CN 110341192A
- Authority
- CN
- China
- Prior art keywords
- guide plate
- cutting
- vertex
- triangular facet
- grid
- 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.)
- Granted
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B29—WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
- B29C—SHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
- B29C64/00—Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
- B29C64/30—Auxiliary operations or equipment
- B29C64/379—Handling of additively manufactured objects, e.g. using robots
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B33—ADDITIVE MANUFACTURING TECHNOLOGY
- B33Y—ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- B33Y50/00—Data acquisition or data processing for additive manufacturing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- 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/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/41—Medical
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2008—Assembling, disassembling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2012—Colour editing, changing, or manipulating; Use of colour codes
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Manufacturing & Machinery (AREA)
- Materials Engineering (AREA)
- Human Computer Interaction (AREA)
- Chemical & Material Sciences (AREA)
- Mechanical Engineering (AREA)
- Optics & Photonics (AREA)
- Robotics (AREA)
- Architecture (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明实施例涉及一种基于VR的导板3D打印模型建立方法,其包括:在虚拟现实VR场景中,基于对被切割模型的平面切割得到切割位置和切割目标模型;根据所述切割目标模型的网格信息进行表面网格提取,在所述切割目标模型的表面生成具有预设厚度的薄膜;利用矩形板在所述切割位置对所述薄膜的表面进行切割,得到导板卡槽位置以及形成导板表面;根据所述导板卡槽位置和所述导板平面构建所述VR场景下的导板3D打印模型。本发明实施例提供的方法通过在VR场景中对被切割模型的切割位置、导板等进行建模,从而可以在虚拟现实中无限制地对真实的手术对象重复进行多次切割操作,在切割位置生成3D导板打印模型,可以减少操作难度和制作时长。
Description
技术领域
本发明涉及3D技术领域,尤其涉及一种基于VR的导板3D打印模 型建立方法。
背景技术
3D打印技术相对于传统的削材及铸造技术,不仅能根据个性化需求 定制,例如,在医疗领域方面可以实现材料与病变部位的完全匹配,进 行骨缺损部位的原位打印,还能打印一些通过传统的方法难以制造的自 由复杂结构。目前,3D打印已经成功规模化应用于骨科和口腔科领域, 一批基于3D打印的患者定制化截骨导板、骨科植入物、种植牙等已经获 得欧盟认证(European conformity,简称CE)与美国食品和药物管理局 (Food andDrug Administration,简称FDA)批准用于临床。
手术导板全称为“手术导航实物模板”,是第一批3D打印技术在医 疗中的主要应用成果之一,主要作用是帮助骨折精准复位、辅助螺钉等 植入物或器械达到预定的位置、辅助手术刀精准切割,在提高手术操作 便利性的同时,使手术操作的准确性明显提高。采用3D打印导板辅助手 术准确率高、术中风险降低、手术安全性高、临床疗效满意,是一种有效可行和值得推广的技术。但是需要将病变部位打印出实物才能进行观 测,不仅浪费打印材料和打印时间,而且打印出来的模型进行一次切割 演练后便无法复原,需要再次打印。
可见,现有技术存在3D打印在手术规划和术前演练期打印材料损耗 大、打印时间长等问题。
上述缺陷是本领域技术人员期望克服的。
发明内容
(一)要解决的技术问题
为了解决现有技术的上述问题,本发明提供一种基于VR的导板3D 打印模型建立方法,解决现有技术中3D打印在手术规划和术前演练期 打印材料损耗大、打印时间长等问题。
(二)技术方案
为了达到上述目的,本发明采用的主要技术方案包括:
本发明一实施例提供一种基于VR的导板3D打印模型建立方法,其 包括:
在虚拟现实VR场景中,基于对被切割模型的平面切割得到切割位置 和切割目标模型;
根据所述切割目标模型的网格信息进行表面网格提取,在所述切割 目标模型的表面生成具有预设厚度的薄膜;
利用矩形板在所述切割位置对所述薄膜的表面进行切割,得到导板 卡槽位置以及形成导板表面;
根据所述导板卡槽位置和所述导板平面构建所述VR场景下的导板 3D打印模型。
本发明的一个实施例中,所述基于对被切割模型的平面切割得到切 割位置和切割目标模型包括:
根据切割工具的位置确定针对所述被切割模型的切割位置和切割平 面;
根据所述被切割模型的网格顶点与所述切割平面的相对位置对所述 被切割模型进行分割,产生模型切口,其中所述被切割模型由多个三角 面组成,且所述三角面由三个所述网格顶点组成;
对所述模型切口通过添加三角网格进行填充,形成所述切割目标模 型。
本发明的一个实施例中,所述根据所述被切割模型的网格顶点与所 述切割平面的相对位置对所述被切割模型进行分割包括:
根据所述网格顶点建立网格顶点数组、标签数组、用于存放所述网 格顶点的第一顶点集合和第二顶点集合,并建立代表旧顶点数组索引与 新顶点集合索引映射关系的整数数组;
将所述被切割模型的网格顶点以及在所述切割平面上选取的一点从 空间坐标转换到局部坐标,得到网格顶点的局部坐标和切面上一点的局 部坐标;
将所述切割平面的法向量从空间坐标转换到局部坐标,得到局部坐 标法向量;
根据所述网格顶点的局部坐标与所述切面上一点的局部坐标形成的 向量与所述局部坐标法向量的点积进行判断,如果所述点积大于或等于 0,则将所述网格顶点添加到所述第一顶点集合中,并在所述标签数组中 设置对应的标签值为1;如果所述点积小于0,则将所述网格顶点添加到 所述第二顶点集合中,并在所述标签数组中设置对应的标签值为0。
本发明的一个实施例中,所述根据所述被切割模型的网格顶点与所 述切割平面的相对位置对所述被切割模型进行分割还包括:
针对所述三角面建立用于存放所述三角面的第一三角面集合与第二 三角面集合;
当所述三角面的三个网格顶点均位于所述切割平面的一侧时,将所 述三角面的所述三个网格顶点划分到所述第一三角面集合或所述第二三 角面集合中;
当所述三角面的三个网格顶点分别位于所述切割平面的两侧时,按 照所述三角面的顶点索引对应的标签值对所述三角面进行切割,将切割 后的三角面分别添加到所述第一三角面集合和所述第二三角面集合中。
本发明的一个实施例中,所述按照所述三角面的顶点索引对应的标 签值对所述三角面进行切割包括:
根据所述切割平面与所述三角面相交形成两个切割点,得到两个切 割点的坐标位置,所述两个切割点连接形成所述模型切口的边界;
根据所述两个切割点的坐标位置和所述三角面的原三个网格顶点形 成三个新的三角面,将三个所述新的三角面添加到所述第一三角面集合 和所述第二三角面集合中,并将所述两个切割点分别添加到所述第一顶 点集合和所述第二顶点集合中。
本发明的一个实施例中,所述根据所述切割目标模型的网格信息进 行表面网格提取,在所述切割目标模型的表面生成具有预设厚度的薄膜, 包括:
基于球形区域网格提取方法对所述切割目标模型的网格信息进行提 取,得到薄膜的下表面;
对所述薄膜的下表面按照所述薄膜的下表面的法向量的方向进行所 述预设厚度的位移,并对位移后的网格顶点查找重复点;
计算所述重复点位移后的坐标,基于所述坐标对位移后的重复点进 行修正,到薄膜的上表面;
对所述薄膜的上表面和所述薄膜的下表面的边缘上的切割点逐对连 接成三角面,得到所述薄膜。
本发明的一个实施例中,所述基于球形区域网格提取方法对所述切 割目标模型的网格信息进行提取,包括:
将所述切割目标模型的网格顶点和所述切割平面上选取的点由局部 坐标转换为世界坐标,并在所述世界坐标下计算所述切割模型上的网格 顶点与所述切割平面上选取的点之间的距离;
根据所述切割目标模型的网格顶点与所述切割平面之间的距离与预 设的球形区域的半径进行比较,得到所述球形区域内的网格顶点;
根据所述切割目标模型的三角面的三个顶点索引,如果所述三个顶 点索引均在所述球形区域内,则所述三角面位于所述球形区域内;
如果所述三个顶点索引不是全部在所述球形区域内,则根据所述切 割平面对所述三角面进行切割,得到两个切割点,将位于所述三个顶点 索引与所述两个切割点因切割产生以及切割后划分产生的新三角面,划 分为所述球形区域内;
根据所述球形区域内的网格顶点和三角面进行提取,得到所述球形 区域内的表面网格。
本发明的一个实施例中,所述利用矩形板在所述切割位置对所述薄 膜的表面进行切割,得到导板卡槽位置以及形成导板表面,包括:
利用所述矩形板坐标构建4个平面,基于所述4个平面分别对所述 薄膜的上表面和所述薄膜的下表面进行切割,切割的位置即为所述导板 卡槽位置;
根据所述矩形板的顶点坐标生成导板的网格顶点,并根据所述导板 的网格顶点与所述薄膜上的切割点相连构成三角面网格,形成所述导板 表面。
本发明的一个实施例中,所述利用所述矩形板坐标构建4个平面包 括:
利用所述矩形板的左右两面作为切割所述薄膜的下表面两端的平 面,得到所述4个平面中的2个平面;
将所述矩形板平移所述预设厚度距离后,作为切割所述薄膜的上表 面两端的平面,得到所述4个平面中的剩余2个平面。
本发明的一个实施例中,所述根据所述导板的网格顶点与所述薄膜 上的切割点相连构成三角面网格,形成所述导板表面,包括:
根据所述矩形板的上下两个顶点坐标得到切割方向;
结合所述切割方向按照所述4个平面对所述薄膜进行4次切割,得 到上半圈切割点和下半圈切割点;
所述导板的网格顶点中的上半部分网格顶点与所述上半圈切割点相 连形成三角面网格,得到导板上表面;
所述导板的网格顶点中的下半部分网格顶点与所述下半圈切割点相 连形成三角面网格,得到导板下表面;
根据所述导板上表面和所述导板下表面形成所述导板表面。
(三)有益效果
本发明的有益效果是:本发明实施例提供的基于VR的导板3D打印 模型建立方法,一方面,通过在VR场景中对被切割模型的切割位置、导 板等进行建模,从而可以在虚拟现实中无限制地对真实的手术对象重复 进行多次切割操作,在切割位置生成3D导板打印模型。另一方面,利用 虚拟现实的真实感和立体感的优势,在虚拟现实中构建3D导板打印模型,比传统的直接3D打印导板模型可以减少操作难度和制作时长。
附图说明
图1为本发明一实施例提供的一种基于VR的导板3D打印模型建立 方法的流程图;
图2为本发明一实施例中提供的普通UI交互界面示意图;
图3为本发明一实施例中提供的VR场景UI交互界面示意图;
图4为本发明一实施例图3中UI界面的示意图;
图5为本公开一实例中对图4所示的工具进行设置的界面示意图;
图6为本发明一实施例图1中步骤S110的流程图;
图7为本发明一实施例中模型切割算法的流程图;
图8为本公开一实施例图1中步骤S120的流程图;
图9为本发明一实施例中三角面分割示意图;
图10为本发明一实施例中在VR场景中构建的切割目标模型的示意 图;
图11为本发明一实施例中利用手柄锁定导板模型时的示意图;
图12为本发明一实施例中利用手柄锁定卡槽模型时的示意图;
图13为本发明一实施例中利用手柄移动导板模型时的示意图;
图14为本发明一实施例中生成双导板模型的示意图;
图15为本发明一实施例中生成半导板模型的示意图。
具体实施方式
为了更好的解释本发明,以便于理解,下面结合附图,通过具体实 施方式,对本发明作详细描述。
本文所使用的所有的技术和科学术语与属于本发明的技术领域的技 术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语 只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使 用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组 合。
在本发明相关实施例中,虚拟现实作为近年来应用于医疗领域的新 兴技术,其与传统医疗结合的应用也存在巨大的潜力。在虚拟现实中对 与真实患者人体骨头组织的三维模型进行观察,将复杂的骨质情况更直 观地展示在临床医生面前,有利于为手术提供明确的手术方案,避免了 通过二维影像观察不到的手术陷阱,对手术中可能遇到的困难提取做好 相应的准备,更有利于手术部位的确定及相应的导板设计方案确定。由 于单纯采用3D打印不仅浪费打印材料和打印时间,而且打印出来的模型 进行一次切割演练后便无法复原,需要再次打印。而在虚拟现实中可以 无限制地对真实人体组织器官模型进行重复多次切割操作,直到找到最 优的模型方案为止,充分体现虚拟现实的优势。
图1为本发明一实施例提供的一种基于VR的导板3D打印模型建立 方法的流程图,如图1所示,该方法包括以下步骤:
如图1所示,在步骤S110中,在虚拟现实VR场景中,基于对被切 割模型的平面切割得到切割位置和切割目标模型;
如图1所示,在步骤S120中,根据所述切割目标模型的网格信息进 行表面网格提取,在所述切割目标模型的表面生成具有预设厚度的薄膜;
如图1所示,在步骤S130中,利用矩形板在所述切割位置对所述薄 膜的表面进行切割,得到导板卡槽位置以及形成导板表面;
如图1所示,在步骤S140中,根据所述导板卡槽位置和所述导板平 面构建所述VR场景下的导板3D打印模型。
基于上述,本发明提供一种基于VR的3D打印模型建立方法及软件 系统,与传统3D打印模型设计软件相比,本发明的创新在于结合了虚拟 现实技术,利用虚拟现实真实感、立体感的优势,对与真实的人体组织 (如骨头)1:1重建的三维模型进行观察和虚拟手术切割,不仅有效解 决3D打印在手术规划和术前演练期打印材料损耗大、打印时间长等问 题,而且还能在虚拟现实中对手术部位自动生成3D导板模型,也可手动 进行个性化设计,比普通3D打印设计软件用电脑屏幕鼠标的操作更具有 立体感、沉浸感和便捷性,减少操作难度和制作时长。
本发明在具体实现中主要包括以下三步:
第一步,构建虚拟工作台场景:构建手术室工作台环境,并实现模 型的实时导入与导出;
第二步,分别设计适用于电脑显示屏的UI界面和虚拟现实中的虚拟 交互界面;
第三步,构建各种切割工具、导板生成工具并设计对应的切割算法 和导板自动生成算法。
下面对上述三个步骤进行详细描述:
第一步:构建虚拟工作台场景
在场景设计方面,针对不同的操作需求应该设计不同的场景去实 现。在用户进行3D模型设计时,需要合适的工作室、工作台、操作工 具等场景设计,利用Unity的功能模块对场景进行光照渲染,并在场景 中加入VR组件,结合Unity的物理引擎与人体组织器官模型进行交互。 而在需要导入导出模型文件时,则需要设计常规的电脑桌面界面场景, 去掉VR相关组件,利用电脑键盘鼠标进行操作,这是因为导入模型文 件需要对电脑的文件资源管理器进行操作,而VR手柄在这方面的操作 不如普通的键盘鼠标输入设备的操作快速便捷,因此本发明的系统设计 普通场景和VR场景,以满足不同的操作需求,例如,用户可以在普通场 景下进行文件导入,在VR场景下进行导板3D打印模型的构建。
第二步:设计用于虚拟交互的用户界面(User Interface,简称UI)
在UI交互方面,本发明设计的系统针对普通场景和VR场景设计两 套UI界面。图2为本发明一实施例中提供的普通UI交互界面示意图, 如图2所示,在普通场景UI界面中包括菜单选项列表和对应不同功能的 按钮,例如菜单选项列表下包含加载模型、重置和导入模型。针对每个 选项设计用于响应鼠标点击事件的按钮,并且调用文件资源管理器,能 实时导入模型文件到系统中。通过点击“加载模型”按钮,可以弹出文 件资源管理器,选中模型文件后导入系统,模型显示在界面中央,还包 括对于模型的旋转操作,例如可通过勾选的方式选择模型上下旋转还是 左右旋转。通过点击“重置”按钮,可以取消导入模型,回到初始状态; 通过点击“导入模型”按钮,确定导入模型,载入VR场景。
图3为本发明一实施例中提供的VR场景UI交互界面示意图,VR 场景UI由于输入输出设备VR头盔和手柄的独特性,需要设计特殊的交 互界面。在非VR端产品里,可放置界面的范围通常由硬件(手机、电脑 屏幕)的尺寸决定,而在虚拟世界中具有360°的视野,任何一个地方都 可以放置界面,如果界面位置固定则用户很可能需要频繁转身才能与界 面进行交互。如果界面位置不固定,则界面移动时容易嵌入到VR场景中 的物体里面,影响用户的体验。
因此本发明的系统设计界面由用户点击手柄菜单按钮召出,界面放 置位置由用户使用手柄指定,当界面被场景物体遮挡时,用户可重复点 击菜单键重新放置界面位置。这样的设计操作简单易用,用户可自由调 整界面的位置。
如图3所示,包括位于前景中的操作台和位于后景中的UI界面,在 与界面的交互方式上,目前主流的交互方式是通过手柄发射射线与悬停 在场景中的虚拟界面进行交互,虽然这样用户无需走动,也不需要伸手 去触碰UI界面,避免现实中碰到墙壁等问题。但缺点是界面位置需要离 用户较远,容易被场景中的物体遮挡,射线操作也不符合用户的行为习 惯。因此考虑到本发明的系统界面按钮简单并由手柄弹出距离较近,仍 采取直接触碰的交互方式,更加简单易用,符合现实中的行为习惯。
虚拟现实UI界面各个元素功能介绍:
(1)工具栏菜单,点击手柄的菜单键后打开工具栏,图4为本发明 一实施例图3中UI界面的示意图,如图4所示,界面中提供5种操作工 具供用户使用,使用手柄选择键点击“创”建时生成对应工具在界面前, 点击“清除”时按顺序删除场景中的对应工具,5种操作工具分别包括:
①切割工具:用来对导入系统的模型和系统生成的模型整体进行平 面切割;
②局部切割工具:用来对导入系统的模型和系统生成的模型局部网 格进行切割;
③单导板生成工具:生成一块矩形板供用户使用,使用矩形板可在 切割部位生成对应大小的导板;
④双导板生成工具:生成两块矩形板供用户使用,使用矩形板可在 切割部位生成对应大小的共享一个网格的两个导板;
⑤半导板生成工具:生成一块矩形板供用户使用,使用矩形板可在 切割部位生成对应大小的单面导板。
(2)模型操作菜单,选中要进行操作的物体按住手柄选择键同时点 击手柄菜单键后打开相关设置菜单:
图5为本公开一实例中对图4所示的工具进行设置的界面示意图, 如图5所示,可以做如下设置:
①设置大小:可以通关手柄拖动界面中的长条更改物体的长宽高, 右侧文本框显示对应的数值,点击文本框可以手动输入精确的数值。
②设置颜色:提供多种颜色按钮,点击按钮将物体更改为该按钮对 应的颜色,点击更多更换界面中的按钮的颜色。
③复制物体:对该物体进行复制。
④导出模型:将模型导出到本发明的系统文件夹下。
⑤删除物体:将选中的物体在场景中删除,并关闭该菜单界面。
本发明中导板3D打印模型建立的方法主要在第三步中实现,接下来 对图1所示各个步骤的具体实现进行详细阐述:
在步骤S110中,在虚拟现实VR场景中,基于对被切割模型的平面 切割得到切割位置和切割目标模型。
本实施例中的切割工具是用来对导入系统的模型和系统生成的模型 整体进行平面切割的手术刀工具,不仅能对导入到系统中的人体组织模 型进行切割,还能对系统自动生成的导板进行修剪。
图6为本发明一实施例图1中步骤S110的流程图,具体包括以下步 骤:
在步骤S601中,根据切割工具的位置确定针对所述被切割模型的切 割位置和切割平面。
在步骤S602中,根据所述被切割模型的网格顶点与所述切割平面的 相对位置对所述被切割模型进行分割,产生模型切口,其中所述被切割 模型由多个三角面组成,且所述三角面由三个所述网格顶点组成。
本发明的一个实施例中,该步骤包括对网格顶点的分割,具体包括:
1)根据所述网格顶点建立网格顶点数组、标签数组、用于存放所述 网格顶点的第一顶点集合和第二顶点集合,并建立代表旧顶点数组索引 与新顶点集合索引映射关系的整数数组;2)将所述被切割模型的网格顶 点以及在所述切割平面上选取的一点从空间坐标转换到局部坐标,得到 网格顶点的局部坐标和切面上一点的局部坐标;3)将所述切割平面的法 向量从空间坐标转换到局部坐标,得到局部坐标法向量;4)根据所述网 格顶点的局部坐标与所述切面上一点的局部坐标形成的向量与所述局部 坐标法向量的点积进行判断,如果所述点积大于或等于0,则将所述网格 顶点添加到所述第一顶点集合中,并在所述标签数组中设置对应的标签 值为1;5)如果所述点积小于0,则将所述网格顶点添加到所述第二顶 点集合中,并在所述标签数组中设置对应的标签值为0。
本发明的一个实施例中,该步骤还包括对三角面的分割,具体包括:
1)针对所述三角面建立用于存放所述三角面的第一三角面集合与第 二三角面集合;2)当所述三角面的三个网格顶点均位于所述切割平面的 一侧时,将所述三角面的所述三个网格顶点划分到所述第一三角面集合 或所述第二三角面集合中;3)当所述三角面的三个网格顶点分别位于所 述切割平面的两侧时,按照所述三角面的顶点索引对应的标签值对所述 三角面进行切割,将切割后的三角面分别添加到所述第一三角面集合和 所述第二三角面集合中。
本发明的一个实施例中,3)中按照所述三角面的顶点索引对应的标 签值对所述三角面进行切割进一步包括:
首先,根据所述切割平面与所述三角面相交形成两个切割点,得到 两个切割点的坐标位置,所述两个切割点连接形成所述模型切口的边界; 其次,根据所述两个切割点的坐标位置和所述三角面的原三个网格顶点 形成三个新的三角面,将三个所述新的三角面添加到所述第一三角面集 合和所述第二三角面集合中,并将所述两个切割点分别添加到所述第一 顶点集合和所述第二顶点集合中。
在步骤S603中,对所述模型切口通过添加三角网格进行填充,形成 所述切割目标模型。
基于上述,步骤S120中采用的模型切割算法的原理是根据手术刀的 位置确定一个空间坐标中的平面,然后计算被切割模型的每一个网格顶 点与平面的相对位置,建立两个新的顶点数组分别映射左边和右边的网 格顶点。将3个顶点全在一侧的三角面根据映射关系分配到左右的三角 面数组,而顶点不全在一侧的三角面与切割平面相交,计算出交点后对 这些三角面进行分割并记录下分割点添加到对应的顶点数组,最后对两 侧的分割点相连缝合三角面,补上被切割物体暴露的孔洞。
图7为本发明一实施例中模型切割算法的流程图,具体包括以下步 骤:
步骤S701,将切面左侧的网格顶点分为A组,右侧的网格顶点分为 B组;
步骤S702,遍历三角面数组;
步骤S703,判断三个网格顶点是否都在A组,如果是,则加入到A 组,如果否则转至步骤S704;
步骤S704,判断三个网格顶点是否都在B组,如果是,则加入到B 组,如果否则转至步骤S705;
步骤S705,对三角面进行切割;
步骤S706,分别将网格顶点加入到A组或B组中;
步骤S707,根据切割点缝合三角面。
以下结合实例分别对步骤S602中网格顶点和三角面的分割进行介 绍:
(1)对于网格顶点的分割
首先确定一个世界坐标中的切面,由于被切割模型网格顶点的坐标 是以自身为参考系的(即局部坐标系),如果利用该切面去区分网格顶 点则必须在同一坐标系上,因此需要得到切面在局部坐标中的位置信息, 获取一个在切面上的点通过空间变换得到局部坐标下的该点P,将切面的 法向量经过空间变换得到局部坐标下的法向量n,设局部坐标下任意一点 Q(x,y,z),PQ·n=0为该平面的点法式方程。下面是对网格顶点进 行区分的具体实现步骤:
(11)对于网格顶点数组R[Count],建立一个对应的标签数组 B[Count],建立两个用来放置左右两边顶点的空集合R1、R2,建立一个 代表旧顶点数组索引与新顶点集合索引映射关系的整数数组 OldToNewMap[Count]。
(12)每个网格顶点坐标R[i],若(R[i]-P)·n>=0,则R[i]在切面法 向量朝向的那一面,B[i]设置为1,添加到集合R1中,并且OldToNewMap[i] =R1.Count-1;若(R[i]-P)·n<0,则R[i]在切面法向量朝向的那一面的 反面,B[i]设置为0,添加到集合R2中,并且OldToNewMap[i]=R2.Count –1,从而完成对网格顶点的分割。
(2)对于三角面的分割
(21)对于网格三角面数组T,新建两个用来放置左右两边三角面的 空集合T1、T2。
(22)遍历三角面数组T,每次取出3个顶点索引xi,yi,zi。若B[xi] =1,B[yi]=1,B[zi]=1,则将三个旧顶点索引经过映射转换到新顶点索 引添加到T1中,即:OldToNewMap[xi],OldToNewMap[yi], OldToNewMap[zi];若B[xi]=0,B[yi]=0,B[zi]=0,则将三个旧顶点 索引经过映射转换到新顶点索引添加到T2中,即:OldToNewMap[xi], OldToNewMap[yi],OldToNewMap[zi];若B[xi]、B[yi]、B[zi]不全为1 或不全为0,则需要用切面对该三角面进行切割,并将切割后的三角面分 别添加到T1、T2中。
(23)分割三角面的关键是要计算出切面与三角面的切割点M1和 M2的空间坐标,设B[xi]=1,B[yi]=0,B[zi]=0,M1为边R[xi]R[yi] 上的切割点,M2为边R[xi]R[zi]上的切割点,则计算公式如下:
M1=R[xi]+(R[yi]-R[xi])×Scalar1 (公式2)
其中Scalar1为M1到R[xi]的距离与R[yi]到R[xi]的距离的比,M2 以同样的方式计算可得。
(24)将被分割得到的新三角面R[xi]、M1、M2添加到T1中,M1、 M2、R[yi]和R[yi]、M2、R[zi]这两个三角面添加到T2中,切割点M1、 M2都添加到新顶点集合R1、R2中,至此三角面都已经分割完毕。
经过上面的分割后,原物体模型网格被分成了两半,但由于模型网 格都是表面网格,内部是空的不存在网格,因此当模型被切开后,网格 内部就暴露出来,形成有空洞,带有空洞的模型不满足3D打印的封闭 性要求,因此还需要对模型切口添加三角网格进行缝补,具体如下:
首先要找到模型切口边界的顶点,而由上面切割网格顶点的步骤可 知,所有被切割三角面产生的M1、M2切割点连起来组成模型切口边界, 因此只需要在切割步骤中额外建立一个新顶点集合M,把所有的切割点 成对放入新顶点集合M中,然后取集合M中第一对切割点中的第一个切 割点为基准,遍历剩下的切割点对,每一对切割点与第一个切割点相连成三角面,遍历结束后完成三角网格对空洞的填充。
上述步骤之后,进行手术导板的模型构建,该部分是根据人体组织 模型被切割部位的网格信息,沿着组织模型的表面自动生成一定范围的 具有一定厚度的薄膜,由于该薄膜与目标表面完全贴合,在3D打印后可 作为手术辅助器材在手术中起到支撑固定、精准定位等作用,并且医生 在VR场景中对患者组织器官模型进行多次切割演练,确定手术中的切割 部位后,该技术还能在目标切割部位生成与切割方向完全一致的多样化 导板,在手术的辅助切割中有着关键的作用。
在步骤S120中,根据所述切割目标模型的网格信息进行表面网格提 取,在所述切割目标模型的表面生成具有预设厚度的薄膜。
为了生成对称、厚度均匀、卡槽长度宽度高度可设定的导板,本发 明的系统采用Unity中一个标准矩形板来模拟导板卡槽,通过设定该矩形 板的长宽高即可得到对应大小的导板。该步骤中对切割目标模型提取一 定范围的表面网格,经过复制、反转、位移、边缘缝合后得到具有预设 厚度的薄膜。
图8为本公开一实施例图1中步骤S120的流程图,具体包括以下步 骤:
在步骤S801中,基于球形区域网格提取方法对所述切割目标模型的 网格信息进行提取,得到薄膜的下表面。
在步骤S802中,对所述薄膜的下表面按照所述薄膜的下表面的法向 量的方向进行所述预设厚度的位移,并对位移后的网格顶点查找重复点。
在步骤S803中,计算所述重复点位移后的坐标,基于所述坐标对位 移后的重复点进行修正,到薄膜的上表面。
在步骤S804中,对所述薄膜的上表面和所述薄膜的下表面的边缘上 的切割点逐对连接成三角面,得到所述薄膜。
本发明的一个实施例中,表面网格的提取范围就是薄膜的范围, 由于实际手术多种多样,手术部位差异大,对薄膜的范围大小、形状有 着不一样的需求,无论设计何种提取规则都难以普遍适用于不同的手术 部位,因此本发明的系统采用统一的球形区域网格提取法,并且提供给 医生切割工具,让医生手动对生成后的薄膜导板进行自定义调整修改,使其形状和大小能够满足手术的多样化需求。
上述步骤S801中基于球形区域网格提取方法对所述切割目标模型的 网格信息进行提取包括:
(1)将所述切割目标模型的网格顶点和所述切割平面上选取的点由 局部坐标转换为世界坐标,并在所述世界坐标下计算所述切割模型上的 网格顶点与所述切割平面上选取的点之间的距离;
(2)根据所述切割目标模型的网格顶点与所述切割平面之间的距离 与预设的球形区域的半径进行比较,得到所述球形区域内的网格顶点;
(3)根据所述切割目标模型的三角面的三个顶点索引,如果所述三 个顶点索引均在所述球形区域内,则所述三角面位于所述球形区域内;
(4)如果所述三个顶点索引不是全部在所述球形区域内,则根据所 述切割平面对所述三角面进行切割,得到两个切割点,将位于所述三个 顶点索引与所述两个切割点因切割产生以及切割后划分产生的新三角 面,划分为所述球形区域内;
(5)根据所述球形区域内的网格顶点和三角面进行提取,得到所述 球形区域内的表面网格。
由于不同模型的长度单位不一致,有些模型长度单位为毫米,而 Unity默认单位为米,因此在导入模型时会自动对模型进行缩放,而模型 网格顶点坐标信息却不会因缩放而改变,因此提取网格时需要将顶点的 坐标信息转化为统一的世界坐标信息。本发明的系统的球形区域网格提 取法具体实现过程如下:
(1)获取切割板的中心点世界坐标P,对于每个网格顶点的局部坐 标Ei,经过空间坐标变换得到对应的世界坐标Qi,若|P-Qi|<radius(radius 为球形区域半径),则设置Qi对应标签为1,否则为0。当标签为1时, 把Ei放入新顶点数组V,设数组E的第i个顶点是新数组V的第j个顶 点,创建一个数组oldToNewMap记录索引映射关系Ei=Vj,网格顶点法 向量同理。
(2)遍历三角面数组,对于每个三角面的三个顶点索引Top、L、 R,若三个顶点对应标签全为1,则该三角面在球形区域内,将该三角面 的索引经过oldToNewMap映射转换到新网格顶点索引后装入新三角数组 T;若三个顶点标签全为0,则在提取范围外,不做任何操作;若有的顶 点为1而有的顶点为0,说明该三角面处在提取边界,如果简单的舍弃或 装入,会导致薄膜边缘出现锯齿形状,不利于3D打印和实际使用,因 此下一步需要用球形区域边界对三角面进行分割。
(3)标签不全为1的情况分为以下两种:1)当有一个顶点标签为1, 两个顶点标签为0,说明该三角网格的一个角在提取区域内,添加该角 被横切后的三角面即可;2)当两个顶点标签为1,一个顶点标签为0, 则在提取区域内的是一个不规则矩形,需要对角相连后得到两个三角面 (LS,R,L)(R,LS,RS)添加到新三角面数组。图9为本发明一实施例中三角面分割示意图,如图9所示,设在区域内的单个顶点为Top,区域外的为 L、R,切割产生的切割点为LS、RS,进一步通过求解下列方程组来计算 LS的坐标值,RS同理,以LS为例,计算公式如下:
LS=L+(Top-L)·x (公式3)
|LS-P|=radius (公式4)
(4)把切割产生的新的顶点和三角面添加到新网格后,成功提取了 球形区域内的表面网格。
经过上一步提取出表面网格后,还需要将表面网格复制处理产生具 有预设厚度的薄膜,没有厚度的网格模型是无法3D打印的。生成薄膜的 实现步骤具体如下:
(1)对上面步骤获得的新顶点数组V和顶点法向量数组N的每一个 元素进行计算得到对应的新顶点坐标和法向量:
v=Vi+Ni·Thickness (公式5)
n=Ni (公式6)
其中Thickness为薄膜的厚度,可以看作将网格每个顶点向自己法向 量方向位移Thickness单位后得到新的一层网格,新的这层网格将作为薄 膜的上表面,原来的网格作为薄膜的下表面。
需要说明的是,模型网格中经常会出现一种类型的顶点,这些顶点 的坐标相同,法向量却不同,这种顶点的出现是为了拟合物体表面凹凸 不平的尖锐部位,例如正方体的角点实际上有3个顶点在同一位置,分 别具有3个不同的法向量,当用步骤(1)的方法对这些顶点进行平移会 导致原来在同一位置的顶点分离,造成模型网格破裂,因此需要对这种重复点进行特殊处理。具体处理方式为:首先要找出重复点,由于重复 点的个数不互相一致,因此采用集合ArrayList结构来存储重复点;然后 再把每一个重复点集合嵌套装入记录有多少组重复点的ArrayList集合 中,最后计算每一组重复点位移后的坐标:
其中Count为重复点个数,Rate为重复点平均法向量与新点法向量 的比,vi为重复点中任意一个点的坐标,用计算出来的坐标v对位移后 的重复点进行修正,以解决上表面网格破裂的问题。
还需要说明的是,步骤(1)把原来的网格作为下表面网格还需要进 行法向量和三角面索引顺序的反转,把原来网格顶点的法向量逐个取反, 并反转三角面数据即可。
(2)得到上下两层网格表面后,还需要把两层表面的边缘缝合起来, 薄膜形成一个封闭的模型,满足3D打印的必要条件。缝合需要记录提取 网格时所有对边界三角面进行过切割的切割点,这些切割点构成两层网 格表面的边缘,找到上下层表面边缘切割点逐对连接成三角面,即可完 成缝合,得到薄膜。
在步骤S130中,利用矩形板在所述切割位置对所述薄膜的表面进行 切割,得到导板卡槽位置以及形成导板表面。
本发明的一个实施例中,该步骤具体包括:
首先,利用所述矩形板坐标构建4个平面,基于所述4个平面分别 对所述薄膜的上表面和所述薄膜的下表面进行切割,切割的位置即为所 述导板卡槽位置。其中得到4个平面的方式为利用所述矩形板的左右两 面作为切割所述薄膜的下表面两端的平面,得到所述4个平面中的2个 平面;将所述矩形板平移所述预设厚度距离后,作为切割所述薄膜的上表面两端的平面,得到所述4个平面中的剩余2个平面。
其次,根据所述矩形板的顶点坐标生成导板的网格顶点,并根据所 述导板的网格顶点与所述薄膜上的切割点相连构成三角面网格,形成所 述导板表面。
基于上述,该步骤中利用矩形板的坐标信息构建4个平面,分别对 薄膜的上下表面进行两次切割,去除中间部分的网格,空出来的部分即 是卡槽的位置,最后根据矩形板的顶点坐标生成导板的网格顶点与被切 割薄膜的切割点相连构造三角面网格,形成导板表面。该步骤包括:1) 根据所述矩形板的上下两个顶点坐标得到切割方向;结合所述切割方向 按照所述4个平面对所述薄膜进行4次切割,得到上半圈切割点和下半 圈切割点;2)所述导板的网格顶点中的上半部分网格顶点与所述上半圈 切割点相连形成三角面网格,得到导板上表面;3)所述导板的网格顶点 中的下半部分网格顶点与所述下半圈切割点相连形成三角面网格,得到 导板下表面;4)根据所述导板上表面和所述导板下表面形成所述导板表 面。
因此该步骤中为了在薄膜上生成导板的网格,首先需要对薄膜中间 部位进行切割以空出导板的位置,导板的内表面与薄膜的下表面相连, 导板的外表面与薄膜的上表面相连,由于导板本身也具有厚度,即内外 表面需要错开位置,因此本发明的系统选用矩形板的左右两面作为切割 薄膜下表面两端的平面,将这两面向左右平移Thickness的距离后作为切 割薄膜上表面两端的平面。切割的原理与上面的模型切割算法基本一 致,此处不再复述关于切割的部分。
该步骤中首先分别生成对上下表面网格的两端进行切割的4个平面, 具体步骤如下:
(1)选中矩形板左面的3个坐标不同的顶点A1、A2、A3;
(2)构造向量A1A2、A1A3,则该平面法向量n=A1A2×A1A3,由 A1、n得到平面的点法式方程,右平面的构造方法同理;
(3)左侧上表面的切割平面可由下表面切割平面平移获得,即取点B1 =A1+n·Thickness,法向量同为n,则可得到左侧切割上表面的平面方程,右 侧同理可得。
其次,寻找每次切割的上、下半圈切割点,经过上述步骤4个面对薄膜 的切割后,薄膜网格中间空出了一段,要进行关键的导板网格生成,还需要 分别找出4次切割的上、下半圈切割点,具体步骤如下:
(1)首先计算导板辅助切割的切割方向cutVector,切割方向可由矩形 板的上下两个顶点坐标A1、A2得到:cutVector=A2-A1;
(2)获取对薄膜网格进行切割的平面的法向量n,然后创建一个向量thwartwiseNormal=cutVector×n,用该向量来寻找所有切割点中的最左点和 最右点,对于每个切割点Ci,计算其对应的值
Value[i]=(Ci-Point)·thwartwiseNormal (公式8)
其中Point是切割平面中的任意一个点,Value[i]最小值对应的Ci为最 右边的切割点,Value[i]最大值对应的Ci为最左边的切割点;
(3)找到左右两个边缘点后,通过顺时针找相邻切割点的方式,分别 从两个点出发,找到对方停止,即可找出上下半圈切割点,放入对应的集合 中。由于每个三角面被分割时都会产生两个切割点,作为一对切割点放入新 顶点数组中,因此每个三角面的一对切割点中有一个与相邻三角面的切割点 坐标一致,根据此原理,从最左点出发遍历切割点队数组,若找到与自身匹 配的切割点,则将该切割点队的另一个点放进数组并继续寻找该点的匹配 点,直到找到最右点终止循环,则数组中保存的切割点为上半圈切割点,下 半圈切割点同理可得。
(4)计算导板顶点,上半部分导板顶点与上半圈切割点相连,下半部 分导板顶点与下半圈切割点相连。
在步骤S140中,根据所述导板卡槽位置和所述导板平面构建所述 VR场景下的导板3D打印模型。
本实施例中以单导板且被切割的人体组织为骨头建立模型为例,利 用切割工具和多种导板生成工具对该模型进行模拟切割,得到对应切割 位置的手术辅助导板,图10为本发明一实施例中在VR场景中构建的切 割目标模型的示意图,图11~图13为本发明一实施例中在VR场景中自 动生成单导板模型过程的示意图,其中图11为本发明一实施例中利用手 柄锁定导板模型时的示意图,图12为本发明一实施例中利用手柄锁定卡 槽模型时的示意图,图13为本发明一实施例中利用手柄移动导板模型时 的示意图。
需要说明的是,在不同的手术场景中对导板的形状存在多样化的需 求,除了普通的卡槽闭合的单个导板外,有些部位需要卡槽不闭合的半 导板,有些部位需要两个卡槽闭合的导板相连在同一个薄膜上,因此本 发明的系统在单导板基础上提供多种样式的导板生成方法,封装在导板 生成工具中供用户选择使用。下面简单介绍不同样式导板对上面算法的 改变部分:
(1)双导板样式:本发明的系统提供两个矩形板给用户使用,分别 代表了两次切割的导板所在部位,在一次导板生成后,只需把第一次导 板生成的网格、上下表面网格等信息传递给第二个导板,第二个导板在 第一次生成的薄膜基础上再执行一次导板生成方法即可,图14为本发明 一实施例中生成双导板模型的示意图。
(2)半导板样式:半导板生成在表面网格提取和薄膜生成步骤与普 通导板一样,但在薄膜网格切割时不再是用4个平面进行切割,而是用2 个平面切割单侧的网格,另外一侧的网格直接舍弃,因此在生成导板顶 点和导板顶点与切割点的相连中与单导板有一些细节上的差异,将单导 板两侧的网格顶点相连形成三角面,形成只有其中一侧的导板,即得到 半导板,图15为本发明一实施例中生成半导板模型的示意图。
还需要说明的是,除了对导板的形状有着多样化的需求,对导板插 槽的宽度、长度、高度和插槽导向切割的角度都有着不同的要求,为了 满足个性化导板的设计,所有导板的插槽的长宽高以及角度都由相应的 导板生成工具决定,因此可以通过选定工具打开物体操作菜单,在菜单 的设置大小中对导板生成工具进行自定义设置来改变生成的导板的相关 数值,而插槽导向切割的角度则由用户放置工具的角度决定。导板生成 后,还可以使用切割工具对导板进行修剪以去除多余的部分,以方便导 出导板模型进行3D打印后能够直接使用。
综上所述,本发明实施例提供的上述方法,一方面,通过在VR场景 中对被切割模型的切割位置、导板等进行建模,从而可以在虚拟现实中 无限制地对真实的手术对象重复进行多次切割操作,在切割位置生成3D 导板打印模型。另一方面,利用虚拟现实的真实感和立体感的优势,在 虚拟现实中构建3D导板打印模型,比传统的直接3D打印导板模型可以减少操作难度和制作时长。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若 干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的 实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一 个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征 和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描 述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件 的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品 的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以 是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等) 执行根据本发明实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想 到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或 者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原 理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说 明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权 利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的 精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范 围仅由所附的权利要求来限制。
Claims (10)
1.一种基于VR的导板3D打印模型建立方法,其特征在于,其包括:
在虚拟现实VR场景中,基于对被切割模型的平面切割得到切割位置和切割目标模型;
根据所述切割目标模型的网格信息进行表面网格提取,在所述切割目标模型的表面生成具有预设厚度的薄膜;
利用矩形板在所述切割位置对所述薄膜的表面进行切割,得到导板卡槽位置以及形成导板表面;
根据所述导板卡槽位置和所述导板平面构建所述VR场景下的导板3D打印模型。
2.如权利要求1所述的基于VR的导板3D打印模型建立方法,其特征在于,所述基于对被切割模型的平面切割得到切割位置和切割目标模型包括:
根据切割工具的位置确定针对所述被切割模型的切割位置和切割平面;
根据所述被切割模型的网格顶点与所述切割平面的相对位置对所述被切割模型进行分割,产生模型切口,其中所述被切割模型由多个三角面组成,且所述三角面由三个所述网格顶点组成;
对所述模型切口通过添加三角网格进行填充,形成所述切割目标模型。
3.如权利要求2所述的基于VR的导板3D打印模型建立方法,其特征在于,所述根据所述被切割模型的网格顶点与所述切割平面的相对位置对所述被切割模型进行分割包括:
根据所述网格顶点建立网格顶点数组、标签数组、用于存放所述网格顶点的第一顶点集合和第二顶点集合,并建立代表旧顶点数组索引与新顶点集合索引映射关系的整数数组;
将所述被切割模型的网格顶点以及在所述切割平面上选取的一点从空间坐标转换到局部坐标,得到网格顶点的局部坐标和切面上一点的局部坐标;
将所述切割平面的法向量从空间坐标转换到局部坐标,得到局部坐标法向量;
根据所述网格顶点的局部坐标与所述切面上一点的局部坐标形成的向量与所述局部坐标法向量的点积进行判断,如果所述点积大于或等于0,则将所述网格顶点添加到所述第一顶点集合中,并在所述标签数组中设置对应的标签值为1;如果所述点积小于0,则将所述网格顶点添加到所述第二顶点集合中,并在所述标签数组中设置对应的标签值为0。
4.如权利要求3所述的基于VR的导板3D打印模型建立方法,其特征在于,所述根据所述被切割模型的网格顶点与所述切割平面的相对位置对所述被切割模型进行分割还包括:
针对所述三角面建立用于存放所述三角面的第一三角面集合与第二三角面集合;
当所述三角面的三个网格顶点均位于所述切割平面的一侧时,将所述三角面的所述三个网格顶点划分到所述第一三角面集合或所述第二三角面集合中;
当所述三角面的三个网格顶点分别位于所述切割平面的两侧时,按照所述三角面的顶点索引对应的标签值对所述三角面进行切割,将切割后的三角面分别添加到所述第一三角面集合和所述第二三角面集合中。
5.如权利要求4所述的基于VR的导板3D打印模型建立方法,其特征在于,所述按照所述三角面的顶点索引对应的标签值对所述三角面进行切割包括:
根据所述切割平面与所述三角面相交形成两个切割点,得到两个切割点的坐标位置,所述两个切割点连接形成所述模型切口的边界;
根据所述两个切割点的坐标位置和所述三角面的原三个网格顶点形成三个新的三角面,将三个所述新的三角面添加到所述第一三角面集合和所述第二三角面集合中,并将所述两个切割点分别添加到所述第一顶点集合和所述第二顶点集合中。
6.如权利要求2所述的基于VR的导板3D打印模型建立方法,其特征在于,所述根据所述切割目标模型的网格信息进行表面网格提取,在所述切割目标模型的表面生成具有预设厚度的薄膜,包括:
基于球形区域网格提取方法对所述切割目标模型的网格信息进行提取,得到薄膜的下表面;
对所述薄膜的下表面按照所述薄膜的下表面的法向量的方向进行所述预设厚度的位移,并对位移后的网格顶点查找重复点;
计算所述重复点位移后的坐标,基于所述坐标对位移后的重复点进行修正,到薄膜的上表面;
对所述薄膜的上表面和所述薄膜的下表面的边缘上的切割点逐对连接成三角面,得到所述薄膜。
7.如权利要求6所述的基于VR的导板3D打印模型建立方法,其特征在于,所述基于球形区域网格提取方法对所述切割目标模型的网格信息进行提取,包括:
将所述切割目标模型的网格顶点和所述切割平面上选取的点由局部坐标转换为世界坐标,并在所述世界坐标下计算所述切割模型上的网格顶点与所述切割平面上选取的点之间的距离;
根据所述切割目标模型的网格顶点与所述切割平面之间的距离与预设的球形区域的半径进行比较,得到所述球形区域内的网格顶点;
根据所述切割目标模型的三角面的三个顶点索引,如果所述三个顶点索引均在所述球形区域内,则所述三角面位于所述球形区域内;
如果所述三个顶点索引不是全部在所述球形区域内,则根据所述切割平面对所述三角面进行切割,得到两个切割点,将位于所述三个顶点索引与所述两个切割点因切割产生以及切割后划分产生的新三角面,划分为所述球形区域内;
根据所述球形区域内的网格顶点和三角面进行提取,得到所述球形区域内的表面网格。
8.如权利要求1所述的基于VR的导板3D打印模型建立方法,其特征在于,所述利用矩形板在所述切割位置对所述薄膜的表面进行切割,得到导板卡槽位置以及形成导板表面,包括:
利用所述矩形板坐标构建4个平面,基于所述4个平面分别对所述薄膜的上表面和所述薄膜的下表面进行切割,切割的位置即为所述导板卡槽位置;
根据所述矩形板的顶点坐标生成导板的网格顶点,并根据所述导板的网格顶点与所述薄膜上的切割点相连构成三角面网格,形成所述导板表面。
9.如权利要求8所述的基于VR的导板3D打印模型建立方法,其特征在于,所述利用所述矩形板坐标构建4个平面包括:
利用所述矩形板的左右两面作为切割所述薄膜的下表面两端的平面,得到所述4个平面中的2个平面;
将所述矩形板平移所述预设厚度距离后,作为切割所述薄膜的上表面两端的平面,得到所述4个平面中的剩余2个平面。
10.如权利要求8所述的基于VR的导板3D打印模型建立方法,其特征在于,所述根据所述导板的网格顶点与所述薄膜上的切割点相连构成三角面网格,形成所述导板表面,包括:
根据所述矩形板的上下两个顶点坐标得到切割方向;
结合所述切割方向按照所述4个平面对所述薄膜进行4次切割,得到上半圈切割点和下半圈切割点;
所述导板的网格顶点中的上半部分网格顶点与所述上半圈切割点相连形成三角面网格,得到导板上表面;
所述导板的网格顶点中的下半部分网格顶点与所述下半圈切割点相连形成三角面网格,得到导板下表面;
根据所述导板上表面和所述导板下表面形成所述导板表面。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910630656.4A CN110341192B (zh) | 2019-07-12 | 2019-07-12 | 一种基于vr的导板3d打印模型建立方法 |
PCT/CN2019/104404 WO2021007935A1 (zh) | 2019-07-12 | 2019-09-04 | 一种基于vr的导板3d打印模型建立方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910630656.4A CN110341192B (zh) | 2019-07-12 | 2019-07-12 | 一种基于vr的导板3d打印模型建立方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110341192A true CN110341192A (zh) | 2019-10-18 |
CN110341192B CN110341192B (zh) | 2020-07-17 |
Family
ID=68175148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910630656.4A Active CN110341192B (zh) | 2019-07-12 | 2019-07-12 | 一种基于vr的导板3d打印模型建立方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110341192B (zh) |
WO (1) | WO2021007935A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111376482A (zh) * | 2020-02-18 | 2020-07-07 | 珠海赛纳三维科技有限公司 | 手术训练模型及其打印方法、打印系统 |
CN111833462A (zh) * | 2020-07-14 | 2020-10-27 | 深圳市瑞立视多媒体科技有限公司 | 基于虚幻引擎的切割方法、装置、设备及存储介质 |
CN112699426A (zh) * | 2020-12-09 | 2021-04-23 | 深圳微步信息股份有限公司 | 一种io挡板设计方法、io挡板 |
CN112764538A (zh) * | 2021-01-13 | 2021-05-07 | 杭州师范大学 | 一种vr环境下基于手势交互的空间能力提升方法 |
CN113343325A (zh) * | 2021-05-21 | 2021-09-03 | 成都东极六感信息科技有限公司 | 榫卯加工模拟系统及其方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114722688B (zh) * | 2022-06-07 | 2022-08-26 | 中国城市规划设计研究院(住房和城乡建设部遥感应用中心) | 一种三维建筑模型自动分层方法 |
CN115302781A (zh) * | 2022-09-17 | 2022-11-08 | 深圳市创必得科技有限公司 | 牙科种植导板定向方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104739513A (zh) * | 2015-03-12 | 2015-07-01 | 徐贵升 | 制作人体组织模拟手术模型及导板的方法 |
CN105105833A (zh) * | 2015-07-24 | 2015-12-02 | 武汉市普仁医院 | 腓骨近端骨肿瘤病灶清除导向器制备装置及方法 |
CN105816232A (zh) * | 2016-05-17 | 2016-08-03 | 南方医科大学 | 一种个体化骨骼模型的解剖型接骨板的设计及成型方法 |
WO2018007628A1 (fr) * | 2016-07-07 | 2018-01-11 | Levels3D | Méthode et système de reconstruction d'une représentation tridimensionnelle |
WO2018093921A1 (en) * | 2016-11-16 | 2018-05-24 | Terarecon, Inc. | System and method for three-dimensional printing, holographic and virtual reality rendering from medical image processing |
CN108648548A (zh) * | 2018-04-19 | 2018-10-12 | 浙江工业大学 | 一种脑神经外科虚拟手术训练系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106388978B (zh) * | 2016-09-13 | 2018-07-20 | 中南大学湘雅医院 | 一种基于三维重建技术的髋臼侧模型和导板的制备方法 |
CN107348987B (zh) * | 2017-05-19 | 2023-04-21 | 华南理工大学 | 一种膝关节置换手术用股骨远端个性化切骨导板及实现方法 |
-
2019
- 2019-07-12 CN CN201910630656.4A patent/CN110341192B/zh active Active
- 2019-09-04 WO PCT/CN2019/104404 patent/WO2021007935A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104739513A (zh) * | 2015-03-12 | 2015-07-01 | 徐贵升 | 制作人体组织模拟手术模型及导板的方法 |
CN105105833A (zh) * | 2015-07-24 | 2015-12-02 | 武汉市普仁医院 | 腓骨近端骨肿瘤病灶清除导向器制备装置及方法 |
CN105816232A (zh) * | 2016-05-17 | 2016-08-03 | 南方医科大学 | 一种个体化骨骼模型的解剖型接骨板的设计及成型方法 |
WO2018007628A1 (fr) * | 2016-07-07 | 2018-01-11 | Levels3D | Méthode et système de reconstruction d'une représentation tridimensionnelle |
WO2018093921A1 (en) * | 2016-11-16 | 2018-05-24 | Terarecon, Inc. | System and method for three-dimensional printing, holographic and virtual reality rendering from medical image processing |
CN108648548A (zh) * | 2018-04-19 | 2018-10-12 | 浙江工业大学 | 一种脑神经外科虚拟手术训练系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111376482A (zh) * | 2020-02-18 | 2020-07-07 | 珠海赛纳三维科技有限公司 | 手术训练模型及其打印方法、打印系统 |
CN111376482B (zh) * | 2020-02-18 | 2022-11-04 | 珠海赛纳三维科技有限公司 | 手术训练模型及其打印方法、打印系统 |
CN111833462A (zh) * | 2020-07-14 | 2020-10-27 | 深圳市瑞立视多媒体科技有限公司 | 基于虚幻引擎的切割方法、装置、设备及存储介质 |
CN111833462B (zh) * | 2020-07-14 | 2024-05-17 | 深圳市瑞立视多媒体科技有限公司 | 基于虚幻引擎的切割方法、装置、设备及存储介质 |
CN112699426A (zh) * | 2020-12-09 | 2021-04-23 | 深圳微步信息股份有限公司 | 一种io挡板设计方法、io挡板 |
CN112764538A (zh) * | 2021-01-13 | 2021-05-07 | 杭州师范大学 | 一种vr环境下基于手势交互的空间能力提升方法 |
CN113343325A (zh) * | 2021-05-21 | 2021-09-03 | 成都东极六感信息科技有限公司 | 榫卯加工模拟系统及其方法 |
CN113343325B (zh) * | 2021-05-21 | 2023-02-28 | 成都东极六感信息科技有限公司 | 榫卯加工模拟系统及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110341192B (zh) | 2020-07-17 |
WO2021007935A1 (zh) | 2021-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110341192A (zh) | 一种基于vr的导板3d打印模型建立方法 | |
Pieper et al. | Interactive graphics for plastic surgery: A task-level analysis and implementation | |
US8817332B2 (en) | Single-action three-dimensional model printing methods | |
Li et al. | Surface mesh to volumetric spline conversion with generalized polycubes | |
CN109035197A (zh) | 基于三维卷积神经网络的ct造影图像肾脏肿瘤分割方法及系统 | |
CN105608741A (zh) | 预测颌面骨整形术后软组织容貌变化的计算机仿真方法 | |
CN109285225A (zh) | 一种基于医学影像的虚拟现实辅助手术的建立方法 | |
CN108921928A (zh) | 基于三角网格模型的体素化处理方法及其装置 | |
JP2010017421A (ja) | 生体データモデル作成方法及びその装置並びに生体データモデルのデータ構造及び生体データモデルのデータ格納装置並びに三次元データモデルの負荷分散方法及びその装置 | |
KR20140142470A (ko) | 나무 모델과 숲 모델 생성 방법 및 장치 | |
CN105147341B (zh) | 一种保留颌骨骨折线的3d模型重构方法 | |
Reinig et al. | Real-time visually and haptically accurate surgical simulation | |
CN109394410A (zh) | 基于病人个性化外固定3d打印模型设计方法及切片系统 | |
Scharver et al. | Designing cranial implants in a haptic augmented reality environment | |
CN106863785B (zh) | 骨模型的制备方法及装置 | |
CN110164557B (zh) | 隐式表面算法用于仿真模拟软组织手术路径规划的方法 | |
CN105225272B (zh) | 一种基于多轮廓线三角网重构的三维实体建模方法 | |
CN107038750A (zh) | 一种三维人体模型生成系统及其方法 | |
CN103345774B (zh) | 一种三维多尺度矢量化的建模方法 | |
CN110246586A (zh) | 一种肝肿瘤微波消融术前仿真的有限元模型建立方法 | |
CN104112384A (zh) | 一种神经外科虚拟手术训练系统 | |
CN102034272B (zh) | 个性化颌面部软组织六面体网格的生成方法 | |
CN108335282A (zh) | 肝脏手术的切割面生成方法和生成装置 | |
CN1331100C (zh) | 人体骨骼未知体三维交互模型的建立方法及其应用 | |
CN106845020A (zh) | 一种人工心脏瓣膜性能优化方法、装置及系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |