登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 外文翻译 > 机械机电类 > 机械设计制造及其自动化 > 正文

基于医疗应用动态修改多边形网格的VTK库扩展外文翻译资料

 2021-12-23 22:46:12  

英语原文共 8 页

基于医疗应用动态修改多边形网格的VTK库扩展

摘要

正在兴起的逆向工程应用需要使用基于多边形网格的三维模型和一组建模操作,以形成最终产品。通常,3D建模工具不会利用现有的软件开发工具包来开发定制的虚拟应用程序。该方法对医学领域的逆向工程过程有一定的应用价值,本文介绍了基于三维三角网格的局部网格建模算法的软件开发,并对其进行了扩展,在此基础上研究了基于自定义拟合产品的符号化过程的建模工具。尤其是对于较低矮的假肢支架,应用程序中已经包含了一个以上的假肢支架。结果对设计的过程和结果的均等性提供了积极的反馈,主要由于开发的软件使用虚拟工具作为三维网格建模的模块。

关键词:多边形三维建模;医学仪器;VTK;假体设计

1、介绍

在过去的几年中,新出现的技术,如混合现实技术和添加剂制造技术,促进了对三维模型的交互质量的提高。网格模型通常是首选的,因为通过逆向工程(RE)技术收集数据的频率更高。逆向工程的需求在多个领域(工业领域和非工业领域)不断增长,对高品质多边形网格的需求也在不断增加。例如,在医学领域,一些软件应用允许通过计算机断层扫描(CT)创建人体区域的3D模型。这意味着通过许多图像推断出一个镶嵌的网格,医生可以在此网格上定义一个医疗程序再治疗。另一种应用则意味着使用解剖区域的三维扫描模型来设计定制的适合产品,即假肢。最后,还有一些应用程序利用整个人体(或其一部分)的3D模型作为地图,显示数据并简化患者病情的医疗评估。

高质量网格的最重要特征是:

  • 初始点云必须在三维空间中尽可能多地进行排序,即点之间必须等距,面在物体表面上具有良好的分配/分布。
  • 多边形网格必须是流形的(图1(a))。流形条件是:每个边都与一个或两个面相交,并形成一个关闭或打开的风扇。通过使用加法制造技术(图1),使得对象的正确创建是非常重要的。

已经开发了许多用于工业设计的多边形网格管理算法。可用于多边形网格的操作可分为两类:

  • 全网格建模。一些算法可以提高网格的均等性。它们可以重新定位、分解和细分三维多边形模型的所有面,以获得高质量的多边形模型。这些算法在启动模型阶段之前都适用。
  • 局部网格建模。这类算法允许局部更改多边形网格以设计请求的最终对象(图2)。这些算法允许根据用户的需要实时添加/删除模型特定区域中的点和面。要正确执行本地建模,需要使用流形网格。

图1 流形网格(a)和非流形网格(b)和(c)的两个示例。

图2 一个多边形立方体(a)通过使用SculptGL应用程序的拖动和翻转虚拟工具(b)在多个区域中建模。

已经开发了一些软件应用程序来测试这些算法在多边形网格上的潜力和性能水平。但是,用于三维雕刻的免费和商业软件库存在以下几个限制:

1、每种建模应用程序都是基于自身的3D数据结构的,只有少数商业软件库可以开发定制的网格建模CAD应用程序。通常,可用的局部建模工具具有不同的数据结构来描述网格拓扑。因此,用于局部网格建模的软件算法必须是开发完整虚拟应用程序(如CAD、CAM和CAE工具)的更广泛软件开发工具包的一部分。

2、在逆向工程过程中,虚拟产品设计过程中,虚拟应用程序需要包含其他功能来管理网格。可用的解决方案不允许自动执行简单的三维网格建模操作序列的顺序,以便进行建模。

因此,本研究的主要目的是开发一个局部网格建模软件,作为可视化工具箱(VTK)库对三角形网格形状的扩展。vtk是一个开源软件开发工具包(sdk),通常用于科学研究。所实现的算法允许创建虚拟建模工具,该工具表示在常规的人工制造过程中执行的详细任务(例如,使用手动或人工工具,例如rasp)。他们已经适应了设计的医疗设备,即需要高度定制的下肢假肢套筒。

第一部分介绍了三角网格的基本三维建模工具。然后,重点介绍了基于VTK拓扑的低层次建模算法的软件开发。一个案例研究展示了如何使用开发的模块在知识引导的用于套筒设计的CAD应用程序中创建虚拟工具。最后,通过实例分析,给出了新工具的试验结果,并对其发展前景进行了展望。

2、软件开发

局部网格建模是通过软件模块的执行来修改三角流形网格的几何结构和拓扑结构。在本节中,对每个基本建模工具以及局部网格建模的软件体系结构引入了算法。

2.1基本三维建模工具

开发的模块封装了参考文献中描述的已知算法。通过从抽取和细分的两个跳变开始,可以在实际时间内降低到局部的多模型网格。建模前必须定义两个参数:三维网格的最小和最大长度。这些值用于建模算法,以评估所选曲面是否可以根据建模操作的目标进行细分或分解。此外,由于细分和抽取的递归例程执行其软件指令,因此参数的优化选择会影响建模操作的实时性能,直到达到这两个参数之一。如果最小长度太小或最大长度太大,则迭代次数会快速增加,并且每个操作的执行时间不允许实时交互。

局部抽取算法允许减少三维网格选定区域中的三角形数目。该算法去除边缘,直到其长度达到所定义的最大长度。因此,多边形的拓扑结构被更新(即边缘被删除,其点被删除),点和边被删除。重新定位以获得具有相同大小且不影响原始形状的新三角形。

细分算法允许从选定的曲面开始生成较小的三角形。软件模块可以根据用户的需要对选定的边进行细分,直到其长度大于指定的阈值长度为止。如果细分的边的长度小于阈值长度,则算法不再考虑该长度,然后,对其他边进行细分。此迭代过程将对所有边进行一次。在选定的表面。此外,在这种情况下,新的三角形在曲面上的相同半径内重新定位。三角形的定位基于网格拉普拉斯平滑通过拉普拉斯算子计算沿选定曲面的曲率。

在每次建模操作发生之前,可能会应用细分和抽取区域来模拟手动操作的最终行为,如对网格充气/放气或展平选定零件。所有开发的算法都确保了高质量的网格和模型操作。分配给这些股份的运营细分如下:

1、充气/放气:这些算法将所选点设置为正常点。从靠近所选点的点开始,将开始进行更多的转换(图3)。

2、拖动:通过沿任意所需方向移动光标来添加新网格部分。算法执行平面和数据平面操作的转换,但转换方向由鼠标指针操作给出(图4)。

图3 故障操作示例。

图4 根据鼠标运动方向生成新三角形的拖动操作的基本行为。

3、平滑:在给定选定曲面的情况下,该算法使用拉普拉斯滤波器来计算所选曲面的平均曲率。平滑的算法计算三角点的变换,其曲率与选定曲面的平均值不同。通过这种方式,平滑可以删除3D网格中的细节(图5)。

即使科学文献中已经知道这些算法,在现有的开放源码软件库中,也没有一种简单的方法来连接用于拓扑管理的内存结构。因此,对VTK进行了扩展,以使这些算法可用。开发的软件体系结构允许根据应用程序的定义使用其他本地模型操作扩展模块,并且可以使用基本模型操作根据预定义的过程来模拟更复杂的操作。

2.2软件体系结构

整个软件平台都是按照图6所示的面向对象范例在C 中开发的。如上所述,开发的模块利用和扩展VTK。目前,从VTK开始,在医学领域和工业三维仿真中有着重要的应用。vtk提供了可用的文件阅读器,以便在内存结构中加载网格拓扑结构,可以通过名为vtkpolydata的单个编程类使用这些拓扑结构需要的信息(例如,点、面和连接的数据)。vtk使用OpenGL库进行3d渲染。

图5。平滑操作长距离表面的检查。

图6 软件架构:新平台开发的模块(橙色);使用的基本库(蓝色)。

该系统将多边形网格链接到一组虚拟工具上,这些虚拟工具是通过本地网格建模来设计产品3D模型的。此外,还开发了一个事件侦听器来扩展VTK的执行管道,该管道可以自动检测交互事件,如鼠标和键盘的事件。因此,软件开发人员可以将交互事件与模型关联起来。操作最终应用程序需要。

利用vtkobjreader或者vtkstlreader可以将获取的三维三角形模型加载到vtkpolyDataObject中,该模型可以分别读取应用程序中基于vtk的obj和stl文件。如前所述,vtkpolydata类包含先前加载的关联三维网格的拓扑信息。这个类提供了一组方法,允许动态管理点和三角形的列表以及它们之间的关系。

模块使用这些方法来添加、删除或修改点、面和它们之间的关系。方法buildLinks()在启动三维建模之前被调用。该方法创建了实际网格的拓扑结构,并为细分和抽取算法中动态更新拓扑结构提供了可能性。特别是,有一套替换和删除两个标准单元的方法。

在执行了相对于细分或抽取的算法后,这些方法更新了三角形网格的拓扑结构。一旦执行了算法并修改了拓扑结构,modify()方法会自动更新OpenGL顶点缓冲区对象,以便根据牛顿原理渲染网格。

最后,为了在网格建模后提供撤消和重做操作,开发了一种内存结构。通过方法undo()和redo(),这些操作可以很容易地在自定义应用程序中被采用,这些方法是根据可用的建模操作开发的。这些功能的内存结构还可以用来映射其他非三维建模过程的操作,因此,undo()和 redo()方法的几个扩展可以创建开发应用程序的整个undo/redo管理系统。

3.个案研究

采用该系统开发了一个知识导向的CAD系统,命名为套筒建模助手(SMA)。SMA是低植入假体的虚拟设计环境的一部分,允许根据患者的特点(如生活方式)和基本形态来创建套筒的3D模型。

通过在使用磁共振成像(MRI)技术或激光扫描获得的多边形网格上应用虚拟建模工具,创建了三维套筒模型。SMA还与有限元分析(FEA)系统连接,以分析承插残肢界面处的压力分布,一旦达到最终形状,则导出多边形网格,以便使用数据驱动多材料选项进行三维打印。

传统上,所有的排序都是对正粉笔的图形进行修改;因此,我们必须开发虚拟建模工具,模拟传统设计任务,与动态网格(残肢和套筒的几何模型)交互,并在本地对主题进行修改,使其具有自主或交互模式。

通过设置最小长度为2毫米,最大长度为获取的残余肢体三维模型每个边缘的10毫米,已绘制下一个展开平台。这两个值是根据最初由三维扫描仪或从MRI体三维自动重建获得的模型的质量来选择的。在此步骤中,对所获得的点云进行处理以获得流形网格。3D扫描仪采集是通过低成本应用程序skanect完成的,它自动循环并过滤获得的点云,并允许以STL文件格式导出流形网格。从MRI体积进行的三维重建使用一个有序的点云拟合到一个NURBS曲面,该曲面用于通过VTK模块重塑三角形流形网格。

此外,SMA的撤消和重做操作完全基于为三维网格建模开发的软件模块。在SMA中,开发了两个虚拟工具,并为局部网格建模开发了一个平台,如雕刻工具和低分辨率定义工具。

用户可以使用该故障诊断工具对套筒和截肢下肢进行交互式形状操作。上述基本建模操作已在SMA内部进行了开发,以模拟矫形技术人员使用工具和手部造型套筒的模型进行的常规操作。

建模操作用于SMA雕刻工具内的网格,如下所示:

1、充气/放气→添加/移除材料:系统允许分别应用充气或放气操作,模拟沿着选定表面添加或移除材料的操作。如果用户选择充气操作,则算法将虚拟材料添加到虚拟模型的外部。放气操作将执行虚拟对象内部或外部的相同操作(图7)。

图7 残余下肢的初始三维模型(a)塑形图(b)去氟丁酸盐在两个不同区域的作用。

2、展平:此操作允许展平所选表面(图8.a.)。展平操作可应用于虚拟残肢的初始模型,以消除特定变形(例如,创建套筒的下部)并获得平坦表面(图8.b)。

3、拖拽:在SMA内部,拖拽操作被设置为添加一个网格部分,以准备最终套筒的内侧(图9)。

4、平滑:此操作平滑并刷掉3D网格,以删除与截肢下肢的初始3D模型相关的细节,如疤痕(图10)。

图8 压平操作在SMA内部开发。

图9 拖拽操作(b)在下肢残留三维扫描模型(a)中的应用

图10 在实际残肢(a)上使用虚拟光滑工具,以去除疤痕(b)。

图11 通过自动使用本地建模操作来定义最低部分

开发的平台还可以自动设计套筒的下部。下区域定义工具自动组合拖动和展平。它创建了从肢体三维模型开始的下部区域的最终形状。用户只需使用适当的滑块定义剩余下肢最低点和设计套筒最低点之间的最终距离(图11.a)。根据此距离,SMA会自动应用拖动操作,直到网格达到所需形状。最后,应用展平来创建平面,并简化三维套筒模型(图11.b)中链接的添加。

SMA还利用为局部网格建模开发的撤消/重做系统。每个虚拟工具都有自定义的undo()和redo()方法,允许在使用过程中撤消/重做操作。

4.测试

为了为真正的下肢假肢制造一个套筒,在执行整个设计过程时,SMA的新版本已经被整合。在此过程中,已将故障诊断工具和低定义工具用于最终套筒形状。

为了执行测试程序,一名男性患者参与其中。他今年53岁,膝上截肢。使用Microsoft Kinect设备v1和低成本应用skanect对残肢进行了3D扫描。三维扫描模型已加载到SMA中,以启动套筒的设计过程。

SMA的虚拟工具,包括本地网格模型的工具,由工程研究人员使用以创建套筒的最终模型。然后,采用添加剂制造技术,特别是一种材料挤压设备,对所设计的套筒进

资料编号:[3751]

您需要先支付 30元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图