CN106875462B - 一种基于元球模型和混合驱动方法的实时数字器官切割方法 - Google Patents
一种基于元球模型和混合驱动方法的实时数字器官切割方法 Download PDFInfo
- Publication number
- CN106875462B CN106875462B CN201710023932.1A CN201710023932A CN106875462B CN 106875462 B CN106875462 B CN 106875462B CN 201710023932 A CN201710023932 A CN 201710023932A CN 106875462 B CN106875462 B CN 106875462B
- Authority
- CN
- China
- Prior art keywords
- model
- cutting
- meta
- information
- metasphere
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 194
- 238000005520 cutting process Methods 0.000 title claims abstract description 111
- 210000000056 organ Anatomy 0.000 title claims abstract description 21
- 230000008569 process Effects 0.000 claims abstract description 75
- 238000009877 rendering Methods 0.000 claims abstract description 41
- 238000007781 pre-processing Methods 0.000 claims abstract description 10
- 230000033001 locomotion Effects 0.000 claims description 31
- 230000000694 effects Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 claims description 10
- 230000008878 coupling Effects 0.000 claims description 2
- 238000010168 coupling process Methods 0.000 claims description 2
- 238000005859 coupling reaction Methods 0.000 claims description 2
- 125000004122 cyclic group Chemical group 0.000 claims description 2
- 230000001419 dependent effect Effects 0.000 claims description 2
- 210000004872 soft tissue Anatomy 0.000 abstract description 2
- 230000035882 stress Effects 0.000 description 23
- 239000011159 matrix material Substances 0.000 description 15
- 238000006073 displacement reaction Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000008901 benefit Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 238000005070 sampling Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 239000002245 particle Substances 0.000 description 5
- 230000010354 integration Effects 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 230000005483 Hooke's law Effects 0.000 description 3
- 210000000232 gallbladder Anatomy 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 210000000952 spleen Anatomy 0.000 description 3
- 235000004348 Perilla frutescens Nutrition 0.000 description 2
- 244000124853 Perilla frutescens Species 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 210000004185 liver Anatomy 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000001356 surgical procedure Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000764238 Isis Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004204 blood vessel Anatomy 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000002224 dissection Methods 0.000 description 1
- 230000009429 distress Effects 0.000 description 1
- 210000002615 epidermis Anatomy 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000023597 hemostasis Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002357 laparoscopic surgery Methods 0.000 description 1
- 208000019423 liver disease Diseases 0.000 description 1
- 238000000053 physical method Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
- G06T17/205—Re-meshing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- 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
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
- A61B34/10—Computer-aided planning, simulation or modelling of surgical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/30—Polynomial surface description
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B23/00—Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes
- G09B23/28—Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for medicine
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B23/00—Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes
- G09B23/28—Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for medicine
- G09B23/30—Anatomical models
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
- A61B34/10—Computer-aided planning, simulation or modelling of surgical operations
- A61B2034/101—Computer-aided simulation of surgical operations
- A61B2034/102—Modelling of surgical devices, implants or prosthesis
- A61B2034/104—Modelling the effect of the tool, e.g. the effect of an implanted prosthesis or for predicting the effect of ablation or burring
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
- A61B34/10—Computer-aided planning, simulation or modelling of surgical operations
- A61B2034/101—Computer-aided simulation of surgical operations
- A61B2034/105—Modelling of the patient, e.g. for ligaments or bones
-
- 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/21—Collision detection, intersection
-
- 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/008—Cut plane or projection plane definition
-
- 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/2021—Shape modification
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Algebra (AREA)
- Life Sciences & Earth Sciences (AREA)
- Surgery (AREA)
- Educational Technology (AREA)
- Computational Mathematics (AREA)
- Chemical & Material Sciences (AREA)
- Educational Administration (AREA)
- Business, Economics & Management (AREA)
- Medicinal Chemistry (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Architecture (AREA)
- Geometry (AREA)
- Animal Behavior & Ethology (AREA)
- Heart & Thoracic Surgery (AREA)
- Public Health (AREA)
- Robotics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Veterinary Medicine (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供一种基于元球模型和混合驱动方法的实时数字器官切割方法,以元球模型为基础,在切割过程中,同时使用了位置动力学和无网格方法驱动模型,为了解决元球在切割过程中需要频繁分裂和合并的问题,采用了一种元球到点集再到元球的切割模式,在该模式中,使用位置动力学方法驱动元球,使用无网格方法驱动元球生成的点集。该方法包含四个步骤,第一,预处理过程,读取模型文件的同时要进行一些初始化操作;第二,变形过程,通过基于位置动力学的方法进行模型驱动;第三,切割过程,使用混合驱动的方法驱动模型,利用元球到点集再回归元球的方法进行切割;第四,渲染过程,对第二和第三过程中的模型进行渲染。本发明可真实模拟虚拟手术中切割软组织的过程,并具有较高的可控性和实时性。
Description
技术领域
本发明涉及一种基于元球模型和混合驱动方法的实时数字器官切割方法,属于虚拟手术技术领域,也可以应用于相关的领域,包括动画和游戏等。
背景技术
腹腔镜手术是现代医疗常用的方法之一,在救治病人方面有着极其重要的意义。然而很多新手医师都需要经过很多的训练才能熟练操作,现在国内医院的手术训练多数是使用替代品,使用替代品存在着不准确和来源较少的缺点。随着计算机技术的不断发展,虚拟现实技术慢慢的出现在大众的视野中,也为医疗手术的训练带来了新的方法,这就是虚拟腹腔镜手术。
现实中手术包括很多操作,比如碰触,切割,止血,缝合等操作。虚拟手术中,人们也希望尽量实现所有的这些交互。一般对虚拟手术的建立过程包括建模,变形驱动,切割,缝合等,不同部位的器官根据其特征再添加一些更多的真实感的内容,比如血液,血管等。在扫描得到器官的表皮模型后,将为其建模一个体模型,常用的体模型有四面体模型,六面体模型,元球模型,粒子模型等;驱动则是在模型上添加物理或者几何驱动方法,常用的有质点弹簧方法,有限元方法,无网格方法等;切割和缝合则是拓扑上改变的一些处理。
在现有的切割方法中,多数使用的模型是四面体模型或六面体模型。四面体模型在切割时分裂边界会比较准确,但是计算量巨大,容易产生异常的四面体,后续工作处理比较麻烦。六面体模型则是通过不断的细分来确定切割边界,需要较多的平滑操作。本发明选择使用的元球模型实际上和六面体模型类似,但是本发明的模型更加平滑,通过可以交叠的特性,间接的构造其运动拓扑,使用元球模型的另一个好处是模型填充量小,收敛速度快。传统的元球模型切割方法通常利用八叉树来进行元球细分,细分过后容易产生过多小元球,降低迭代速度和迭代速度的同时,边界情况也会明显增多,给处理带来许多困难。
发明内容
本发明解决的技术问题是:传统模型收敛速度不够,细分时容易产生太多碎片模型,提供一种基于元球模型和混合驱动方法的实时数字器官切割方法。在该方法中,利用元球模型做变形和切割,提供一个收敛速度真实快速的变形解决方案;在切割上,可以提供一个准确快速的分裂合并方法,满足虚拟手术系统的实时性和真实性要求。
本发明采用的技术方案为:一种基于元球模型和混合驱动方法的实时数字器官切割方法,一种基于元球模型和混合驱动方法的实时数字器官切割方法,以元球模型为基础,在切割过程中,同时使用了位置动力学和无网格方法驱动模型,为了解决元球在切割过程中需要频繁分裂和合并的问题,采用了一种元球到点集再到元球的切割模式,在该模式中,使用位置动力学方法驱动元球,使用无网格方法驱动元球生成的点集。该方法包含四个步骤,第一,预处理过程,读取模型文件的同时要进行一些初始化操作;第二,变形过程,通过基于位置动力学的方法进行模型驱动;第三,切割过程,使用混合驱动的方法驱动模型,利用元球到点集再回归元球的方法进行切割;第四,渲染过程,对第二和第三过程中的模型进行渲染。本发明可真实模拟虚拟手术中切割软组织的过程,并具有较高的可控性和实时性。
本发明具体包括以下四个步骤。
第一步,预处理过程,读取需处理的模型,所述模型包括元球模型和表面模型,元球模型是基础模型,用来做驱动,表面模型是渲染模型;同时预处理过程还要进行渲染环境和驱动方法的初始化;
第二步,变形过程,根据第一步读取模型中的数据做位置动力学方法驱动,该变形过程为循环过程,即处理完后,若不进入第三步切割过程或发生结束事件,则重复该变形过程;
第三步,切割过程,该过程的产生决定于第二步执行完后产生切割事件,切割事件的产生决定于手术刀和模型产生碰撞,切割过程后若不结束,将进入第二步变形过程;在切割过程中,需要一个混合驱动处理过程,混合驱动处理过程为使用一种从元球到点集再到元球的切割模式,元球切割分为四个部分,首先碰撞元球转化为点集,然后点集构建无网格系统,同时进行剩余元球系统和无网格系统的耦合运动,最后点集转化为元球;表面切割伴随元球切割发生,分为表面分裂,裂隙生成和重新绑定;
第四步,渲染过程,从第一步开始已经准备就绪,伴随第二步和第三步发生,需要输入变形过程或切割过程的数据,不断进行渲染,最后输出模型对应的显示图像。
所述第一步,预处理过程,具体实现如下:
(1)读入三种类型的文件,所述三种类型的文件为标准三角面片OBJ文件,标准纹理图片TGA文件和自定义元球SPH文件,其中SPH文件是通过OBJ文件生成的,SPH文件提供元球信息,所述元球信息包括元球球心位置和半径信息;OBJ文件按照通用方式存储了三角面片的顶点信息和面片信息;TGA文件存放纹理信息;所述三种文件中的数据读取后分别用相应的数据结构存储;
(2)渲染环境初始化,包括搭建OpenGL渲染环境和3D触觉设备Phantom Device的渲染环境初始化;
(3)驱动方法初始化,包括基于位置的动力学方法和无网格方法的参数和依赖变量的初始化。
所述第二步,变形过程,具体实现如下:
(1)变形过程,根据第一步读取的模型的数据,采用基于位置的动力学(PBD)方法进行驱动元球,在位置动力学方法中,添加拉伸约束,单元约束和能量约束,设置好固定元球,以达成收敛效果;
(2)表面三角面片的顶点与元球做高斯绑定,即该顶点的运动由周围元球的运动情况决定,影响元球数最多为3个,影响方式为该元球球心到顶点的距离与半径的比率的高斯值加权作用在该顶点上。
所述第三步,切割过程,具体实现如下:
(1)当手术刀碰到元球时,将元球转化为点集,采样越密集结果越准确;同时移除碰撞的元球,产生一个剩余元球系统;
(2)利用步骤(1)产生的点集构建无网格系统,使用无网格方法进行驱动,使用的无网格方法为简化的无网格方法,计算速度较快;
(3)利用步骤(1)产生的剩余元球系统与步骤(2)产生的无网格系统进行混合驱动,两个系统存在耦合运动,一个系统产生运动时将运动信息反馈给另一个系统;
(4)当手术刀离开元球模型时,需要将点集恢复为元球,恢复方法为采集表面无网格点,利用维诺图方法对该顶点进行分析得到中心骨架,在骨架上进行元球填充;
(5)表面分裂,处理三角形与线段相交的几种不同的情况,分别分裂为分别分裂为更合适的三角形,分裂遵循基本原则,即分裂后的表面依然使用三角形填充,并将切割线段两边的多边形分别分割为三角形,同时需要在裂隙处采集无网格点,对这些无网格点进行三角化处理,形成裂隙网格,最后更新所有三角形的绑定情况,需要更新的三角形包括新生成的三角形和裂隙附近的三角形;
(6)本发明第三步的时间逻辑:步骤(1)执行的时间点为手术刀和元球发生碰撞,可能会被执行多次,每当一次步骤(1)执行完后立即持续执行步骤(2)和(3),当手术刀不再和元球发生碰撞,即切割完毕,执行步骤(4);而步骤(5)和其余4个步骤为并行关系,手术刀与表面发生碰撞时需要进行分裂处理,步骤(4)恢复元球时,同时处理裂隙生成,在步骤(4)和裂隙生成都执行完后进行重新绑定处理。
所述第四步,渲染过程,具体实现如下:
(1)绘制模型表面信息,表面信息包括三部分,纹理信息,顶点信息和面片信息,模型读取时已经给定了表面的初始信息,纹理信息是固定不变的,而顶点信息是随着变形过程和切割过程不断做改变,面片信息也会随着切割过程的步骤做改变,渲染过程为变形过程和切割过程共同的伴随步骤;表面信息需要绘制两遍,一遍用OpenGL绘制在屏幕上,一遍用Phantom库绘制进力反馈设备中;
(2)选择性绘制体信息,提供体绘制开关,在查看切割效果时打开体信息绘制,体信息包括元球信息以及元球拓扑信息,元球信息也在预处理过程中模型读取时给定,之后随着变形过程和切割过程的步骤不断做改变,元球拓扑信息为元球的交叠情况,在有交叠的元球之间,会在它们球心连接一条线段表示它们存在拓扑信息。
本发明与现有技术相比的优点在于:
就模型层面而言,在传统的切割方法中,常使用一些有棱角的四面体或六面体填充器官内部,由于器官的复杂性已经建模的统一性,通常会填充大量体积相差不大的相同模型,导致在变形过程中收敛不及时,真实效果差。使用元球填充可以达到填充量小收敛快速的优点,另外元球特别适合做碰撞检测,大大降低计算时间,提高帧速,切割过程就显得更加流畅。
就驱动方法而言,位置动力学模型是一个非物理准确的变形方法,但是非常接近物理变形方法,该方法的优势是计算量小和变形速度快。而无网格模型是一种物理准确的模型,在细节保持方面有不错的表现,使用无网格方法在做微小形变的情况下,既有稳定性,又可以保持较好的模型细节。本发明选择使用位置动力学方法驱动元球,使用无网格方法驱动元球生成的中间模型,这样做可以在准确性和计算量有较好的平衡,切割快速且准确。
此外,本发明还集成了3D触觉设备,将该设备与实际手术中使用的手术钳和手术刀等进行绑定之后,能够较为真实的还原医生手术环境。
附图说明
图1为本发明一种基于元球模型和混合驱动方法的实时数字器官切割方法的处理流程图;
图2为切割模式的示意图,a.切割前b.元球转化为点集c.点集和元球耦合运动d.点集恢复为元球e.表面变化;
图3为元球和点集的耦合运动;
图4为元球生成示意图;
图5为三角形与折平面相交示意图;
图6为内点三角化示意图(a)全边界(b)半边界;
图7为肝脏切割结果(上行体模型,下行表面模型);
图8为胆囊切割结果(上行体模型,下行表面模型);
图9为脾脏切割结果(上行体模型,下行表面模型);
图10为牛排切割结果(上行体模型,下行表面模型)。
具体实施方式
如图1所示,本发明一种基于元球模型和混合驱动方法的实时数字器官切割方法的处理流程图,分为四个步骤,预处理过程,变形过程,切割过程,渲染过程。四个步骤并非顺序执行,预处理过程为该方法的起始步骤,之后进入变形过程,当发生切割事件时,进入切割过程,切割过程完后返回变形过程,渲染过程为变形和切割过程的伴随过程,每次变形和切割都需要渲染。变形过程并非传统意义的死循环,可以随时打断变形过程结束程序。
步骤一,预处理过程:
(1)模型读取。
系统使用3种类型的模型,包括标准三角面片OBJ文件,标准纹理图片TGA文件和自定义元球SPH文件,他们作为外部文件输入到系统中,系统有设计专门的数据结构进行数据存储。需要使用模型的有器官,手术刀和手术钳,使用模型的好处是可以初始化系统的初始状态。这里使用的SPH文件为本发明自定义扩展名的文件,文件里按行存储了每个元球的圆心位置和半径,该文件是由外部维诺图分析程序对OBJ文件的分析生成。OBJ文件则是三角面片通用存储的文件,每行放置一条信息,用不同的字母做索引,包括了顶点信息和面片信息,其中顶点信息又分为三种,一是顶点位置信息,二是顶点法向信息,三是顶点纹理坐标信息。TGA文件则给出了纹理像素的具体颜色。
(2)渲染初始化
该阶段需要搭配好OpenGL的渲染框架,将各种需要渲染的模型放入渲染管线的列表中。同时要启用Phantom Device的设备环境,添加设备的反馈力等。
(3)驱动方法初始化
驱动方法主要有位置动力学方法和无网格方法,位置动力学方法需要依赖输入元球的位置和大小做初始化。初始化的对象主要有拉伸约束依赖的拓扑信息,在本发明中,元球是允许存在交叠的,两个交叠的元球具有空间连续性,因此认为他们之间存在拓扑连接。单元约束的添加可以使系统更快速的收敛,单元约束通过分析每个元球的位置和半径得到。每种约束需要初始化相应的参数。
无网格方法的初始化包括材质参数的初始化和物理变形参数的初始化,材质参数初始化的主要是杨氏模量Y和泊松比nu,该参数是胡克定律的参数,决定了应变到应力过程中的变化大小。
步骤二,变形过程:
(1)体模型驱动
器官变形指的是器官在受到外力作用时会发生一定形变,移除外力作用时模型也会逐渐的恢复收敛到某种状态,为了达成收敛效果,需要设置部分元球为固定的,在这种情况下,当模型发生变形时,模型会向固定元球收敛。
元球模型的驱动使用的是基于位置的动力学方法,与传统的物理方法相比,该方法省去了加速度计算过程,外力产生后直接更新顶点的速度和位置,通过一系列约束对预测的位置进行修正,最终确定运动位置。本发明中使用的约束包括单元约束,拉伸约束,能量约束。拉伸约束可以产生快速收敛效果,单元约束可以确保完全收敛时状态复原,能量约束和无网格系统进行耦合运动。
(2)表面绑定
表面绑定指的是点集与元球的绑定,由于耦合运动阶段时间比较短,因此本发明中的表面绑定仅针对与元球的绑定。对于每个表面顶点,需要将该顶点的运动绑定都周围的球上,使用高斯绑定可以增强绑定的平滑性。高斯绑定的具体步骤为对于每个顶点,在所有元球中选择满足条件的元球,选择方法是求该顶点到圆心距离d,元球半径为r,距离与半径的比率k=d/r,当k值在一个合适的范围内时,该元球入选,此处使用的入选条件是1<=k<=2。在所有满足条件的元球中,选择k值最小的3个元球,3个不同的k值,可以对应3个不同的高斯值,三个高斯值的比率就是三个元球影响该顶点的比率,分别按照比例将元球运动作用在顶点上即可。
步骤三,切割过程:
切割过程是本发明整个发明的重点,图2是整个切割过程的示意图,图中(a)表示手术刀与模型发生碰撞,即切割开始,(b)表示被碰撞的元球转化为点集,并移除被碰撞元球,(c)表示元球和点集做耦合运动,(d)表示点集还原为元球,(e)表示表面切割情况。
(1)元球转化为点集
一旦元球与手术刀发生碰撞,元球需要转化为点集。本发明提供两种方法进行点集转化,一种是均匀采样,以所有元球最小的元球半径的一定比例作为填充间隔,沿三个坐标轴均匀取点。通常均匀采样适用于元球最大半径和最小半径差距不大的情况,当差距很大的时候,较大元球内会填充较多点,可能会出现实时性无法保证的情况。为了保证这种情况的切割流畅性,需要在较大元球内采取大间距采样,在较小元球内采取小间距采样,该间隔可以根据元球半径分段取值,或者每个元球根据其半径确定间隔,也就是每个元球内填充固定数量的点。使用第二种填充方法时,元球的重叠区域需要特殊考虑,以保证无网格系统中的点距离不低于某个设定的最小值。
在实际切割中,切割刀扫成的平面通常是一个比较平滑的曲面,曲面的随机性比较大,比较难参数化,所以选择了将曲面离散化成一系列折平面,也就是边界相连的一系列平面。所以碰撞检测在本发明的系统中就是折平面与元球的碰撞和折平面与三角面片的碰撞。
为了方便元球切割生成点集,先在模型包围盒内进行空间划分,划分为一些网格点,三个坐标轴的间隔都是相同的,这些网格点就是采样网格点。当元球与手术平面发生碰撞,他就需要将他内部的网格点取出,这些点就构成了属于该元球的点集。
元球被切割而转化为无网格粒子以后,需要从原先的区域中移除。由于元球的约束在初始化时会建立拓扑关系,保存了其他邻居的下标,所以对该元球采取物理删除的方法会需要改变这些下标。采取逻辑移除的方法,删除该球对其他球和其他球对该球的约束信息,积分时,保证该球不再影响其他球,其他的球也不会影响该球。
(2)点集驱动
对于点集,使用简化的无网格模型驱动,该模型不计算任意位置的能量,而是计算每个网格点的能量,并且认为在网本格点所作用的体积范围内,该能量均为该网格点处的能量,与传统无网格方法相比,该方法简化了能量积分模型,在准确度上略有下降,但在积分求解速度上却有大大提升。
该方法使用的核函数为,
该核函数是一个三次B样条函数,描述的是某个无网格点的影响范围呈球形分布,并且在该范围内,离球心越近的范围影响越大。该式中r表示受影响的点到该无网格点的距离,为非负值,ωh(r)表示核函数取值为与r有关的函数,h则表示每个粒子的支撑半径,对于给定的无网格点,h是一个常量,表示该粒子最大可影响距离,通过点集的位置分布,可以初始化每个点的邻居点,通过邻居点确定每个点的支撑半径,通常选取所有邻居点的平均距离的两倍作为支撑半径。
ωh(r)使用无网格点的初始状态做计算,因此对于每一对点,ωh(r)是一个固定值,所以可以表示为ωij,i下标表示被计算的无网格点,j下标表示该点的邻居点。
下一帧位置的计算方法是首先计算变形梯度,通过梯度计算应变,再通过胡克定律计算出应力,通过应力和应变可以得出能量密度,能量密度乘以体积系数获得能量。能量对位移积分即可获得该点的受力。通过显示积分或者隐式积分的方式,可以将受力转变为位移。梯度计算公式为,
其中,u表示位移,而表示该次位移的梯度矩阵,每个点xi处有一个梯度值,用表示,i下标表示被计算的无网格点。ωh(r)为核函数,带下标表示每个无网格点有属于自己的核函数。xij表示点xi到点xj的空间向量,j下标表示该点的邻居点,每个无网格点存在多个邻居点,所以该式中使用了一个求和函数,表示对所有的邻居点的加权距离向量求和,A称为基础矩阵,带下标表示每个无网格点有属于自己的基础矩阵,基础矩阵只与每个点的初始位置和邻居位置有关,
在获得梯度后,可以计算应变和应力,
其中,ε是应变,σ是应力。J是雅阁比矩阵,是梯度矩阵加上单位矩阵I的结果,将代入公式JTJ-I,可以得到应变的梯度表现形式;得到应变后,可以计算应力,在胡克定律中,应力与应变是一种线性关系,C是一个四阶张量矩阵,与物体的材质参数杨氏模量和泊松比有关。
应变和应力得到后,可以得到该处的能量密度,
其中,U表示该无网格点的能量密度,由于该点的能量密度只由该点的应变和应力决定,因此这里的公式没有使用下标形式。应变矩阵ε和应力矩阵σ是3*3的矩阵,公式(5)右侧的εij和σij分别表示应变矩阵和应力矩阵在i行j列的值。能量密度即单位体积的能量,通过该值,可以得到单位体积的受力,对位移求导即可。
为了得到进一步形式的受力公式,将公式(4)代入公式(6),得到受力公式的空间向量表示形式,同时还区分了中心网格点i的受力和邻居网格点j的受力,根据受力的相对性,i的受力是j的受力的反向总和。
Fi=∑jfj=-2ViJiσidi=Fedi, (7)
其中,V表示体积,J是雅阁比矩阵,σ是应力,可以看到在Fj和Fi,有几个共同项,提出共同项记为Fe=-2ViJiσi,该项只受i粒子的影响,di和dj则分别为影响范围项,
dj=A-1(xijωij),
di=A-1(∑jxijωij), (8)
其中,A为基础矩阵,xij表示点xi到点xj的空间向量,ωij是简化的核函数表示公式。结合公式(7)和公式(8),能从空间位置变化直接计算出应力。计算应力后,通过牛顿第三定律,可以获得加速度,速度,位移等参数,从而根据当前位置可以计算出下一帧的位置。这是显示积分方法,在实际测试中,发现交替式显示积分法可以获得一个比较好的效果。该方法在设置一个时间步长之后,在半步长内获取力,通过该里获取位移,在后半个步长内,更新速度。这样总体的速度偏大,而位移偏小,得到一个相对中合的效果。
使用上述驱动方法,每次到变形过程都可以更新一遍所有网格点的位置,实现对点集的驱动。
(3)混合驱动系统的耦合运动
点集构建无网格系统的过程中,第一步需要进行邻居关系构建。对于一个无网格系统的点集来说,点的切开实际上就是点的邻居关系,即虚拟拓扑关系的改变。所以在本发明使用的无网格系统中构建邻居关系时,要选择不跨切割平面的点对。也就是在邻居关系构建过程当中,本发明实现了对无网格点的虚拟拓扑切割。
当本发明中同时存在位置动力学驱动的元球和无网格驱动的点集时,一个系统的运动需要作用给另一个系统。如图3所示,由于点集是由初始元球生成的,所以存在部分点位于剩余的元球内,它们可以作为耦合运动的结合点。在元球运动时,位于元球内的点需要做同样的运动,这些点的运动是无网格系统中的运动输入,这样就形成了元球运动到点集运动的反馈。点集运动时,通常是微小的运动,通过添加能量约束的方式,实现从点集到元球的运动反馈。
(4)维诺图生成元球
在本发明使用的无网格系统中,每个点都有一个法向值,该法向值是从该点的生成球的球心指向该点的实际位置。通过对比该法向和该点所有邻居向量的夹角,可以确定边界点。
如图4所示,通过对边界点的维诺图分析,可以获取边界点对应的中轴面,中轴面的顶点即为中心点。中心点就是新的元球设置的位置,半径为中心点到边界点的最短距离或者到已填充元球的最短距离。
(5)表面分裂
三角形网格分裂针对的是现有三角网格与手术刀平面发生碰撞后的分裂,根据三角形与折平面碰撞的不同情况,有不同的分裂结果。分裂情况如图5所示。
第一种情况表示折平面与三角形相交一条边和一个内部点,当然也可能是相交一个顶点和一个内部点,这种情况通常发生在折平面的边界处,也就是起始点切割位置。第二种和第三种情况比较常见,三角形与折平面只相交了一个自平面,那么按照相应的分裂方法分开即可。比较麻烦的是第四种情况,该三角形在两个平面相交处发生了碰撞,那么该三角形需要生产的三角形数也相对第一种情况多了一个。实际上在三角形处理的时候,会遇到较多的边界情况,在三角形只相交了一个边界时,也要做顶点的添加,因为该边界在分裂后需要往两个方向运动,所以需要有两组顶点。
对于裂隙的生成,实际上也是切割折平面的生成,但是该平面需要限定在原先三角网格的内部。本发明选取靠近折平面的无网格边界点,将这些边界点投影到折平面上,再加上上一步骤中三角形分裂生成的边界点,对这些点进行边界限制的三角化。边界限制的三角化实际上是所有点的三角化之后,移除在边界外的三角形,图6是该方法的示意图。
由于三角化使用的顶点是在分裂步骤中生成的,所以三角化生成的三角形是和分裂生成的三角形连在一起的。生成之后需要对所有的网格点进行元球绑定,绑定方式依然为高斯绑定法,选择合适的球,根据其与网格点的远近进行相应的高斯权重赋值。
步骤四,渲染过程:
(1)表面渲染
表面渲染指的是表面三角面片渲染,此处使用OpenGL作为渲染库,通过读取OBJ文件中的三角形边信息确定顶点连接情况,顶点的实际位置经过变形或者切割可能发生变动,所以本绘制过程为动态绘制过程,每次发生变形过程或切割过程都需要发生一次渲染过程。
OpenGL渲染三角形面片的基本方法为先指定绘制对象为三角形,然后对于每个三角形依次指定顶点信息,在指定位置之前要先指定法向和纹理坐标。
在Phantom Device中,触觉的产生依赖于向该设备中绘制对象信息,绘制方法和OpenGL中相同。绘制进设备中后,设备可以进行触觉反馈。
(2)体模型绘制
体模型包括元球模型和元球拓扑,元球的绘制比较简单,直接绘制一个球即可,为了方法查看,最好设置一定的透明度。元球拓扑用线段表示,连接两个球的球心,代表这两个球之间存在拓扑关系,该拓扑意味着当一个球运动时,会带动另一个球运动,是拉伸约束的一种形象表示。
体模型绘制通常会占用大量时间,原因是OpenGL在绘制球时会进行很多细分工作,除了查看元球切分效果,本发明通常不选择显示体模型。另外触觉设备中不需要绘制体模型。
本发明一种基于元球模型和混合驱动方法的实时数字器官切割方法的实验结果:
表1展示了不同模型在变形和切割阶段耗费的时间对比,在该表中还提供了内部填充元球个数,可以看出模型通常不需要添加过多元球,所以变形速度很快。填充模型数量约为四面体或六面体模型的十分之一。
表1不同模型对比情况
顶点数 | 元球数 | 单帧变形时间/ms | 单帧切割时间/ms | |
肝脏 | 8128 | 570 | 6.25 | 9.52 |
脾脏 | 1480 | 466 | 2.14 | 2.58 |
胆囊 | 1415 | 452 | 2.65 | 3.33 |
牛排 | 1266 | 539 | 1.8 | 2.4 |
图7-图10展示了四种模型的切割效果,图7为肝脏切割情况,图8为脾脏切割情况,图9为胆囊切割情况,图10为牛排切割情况,四幅图片的第一行都为元球切割情况,第二行为表面切割情况。
在结果图片中,可以明确看到,在元球分裂过程中,没有较多的小球产生,新生成元球的平均大小约为分裂前元球的一半,数量约为两倍,这比较符合本发明的预期想法。在这种情况下,切割不会成为变形的瓶颈,不会影响迭代速度和收敛速度。
表面本发明着重关心切割后运动的真实性和平滑度,可以看到图片中没有明显的锯齿现象,切痕也比较平滑,即使是弯曲的切痕,也明显的没有凹痕。
本发明还对切割效果与以往的发明进行了对比,方法一使用有限元方法驱动有限元模型[Yang C.,Li S.,Wang L.,Hao A.and Qin,H.,Real-time physical deformationand cutting of heterogeneous objects via hybrid coupling of meshless approachand finite element method,Computer Animation and Virtual Worlds,25(3-4),423–435,(2014)],方法二使用位置动力学方法驱动四面体模型[Pan J.,Bai J.,Zhao X.,HaoA.and Qin H.,Real-time haptic manipulation and cutting of hybrid soft tissuemodels by extended position-based dynamics,Computer Animation and VirtualWorlds,6,321–335,(2015)],对比对象为牛排切割。
表2牛排切割对比表
方法 | 变形元素数 | 单帧变形时间/ms | 单帧切割时间/ms |
方法一 | 6272 | 25.2 | 8.6 |
方法二 | 1477 | 1.7 | 6.5 |
本发明方法 | 539 | 1.5 | 2.4 |
通过表格数据对比,可以清晰的看到本发明方法有明显的变形速度和切割速度的优势,在实时性上本发明的效果更加明显。在与这两篇文章的方法进行视频对比时,可以明确发现本发明的方法还有收敛速度更快的优势,另外上述两种方法中均没有处理细分模型增长速度过快的情况,所以在切割一段时间后,本发明的优势会明显体现出来,变形和收敛速度不会出现骤然变短的情况。
本发明未详细阐述的技术内容属于本领域技术人员的公知技术。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (3)
1.一种基于元球模型和混合驱动方法的实时数字器官切割方法,其特征在于实现步骤如下:
第一步,预处理过程,读取需处理的模型,所述模型包括元球模型和表面模型,元球模型是基础模型,用来做驱动,表面模型是渲染模型;同时预处理过程还要进行渲染环境和驱动方法的初始化;
第二步,变形过程,根据第一步读取模型中的数据做位置动力学方法驱动,该变形过程为循环过程,即处理完后,若不进入第三步切割过程或发生结束事件,则重复该变形过程;
第三步,切割过程,该过程的产生决定于第二步执行完后产生切割事件,切割事件的产生决定于手术刀和模型产生碰撞,切割过程后若不结束,将进入第二步变形过程;在切割过程中,需要一个混合驱动处理过程,混合驱动处理过程为使用一种从元球到点集再到元球的切割模式,元球切割分为四个部分,首先碰撞元球转化为点集,然后点集构建无网格系统,同时进行剩余元球系统和无网格系统的耦合运动,最后点集转化为元球;表面切割伴随元球切割发生,分为表面分裂,裂隙生成和绑定;绑定指的是点集与元球的绑定,对于每个表面顶点,需要将该顶点的运动绑定都周围的球上;
第四步,渲染过程,从第一步开始已经准备就绪,伴随第二步和第三步发生,需要输入变形过程或切割过程的数据,不断进行渲染,最后输出模型对应的显示图像;
所述第三步,切割过程,具体实现如下:
(1)当手术刀碰到元球时,将元球转化为点集;同时移除碰撞的元球,产生一个剩余元球系统;
(2)利用步骤(1)产生的点集构建无网格系统,使用无网格方法进行驱动,使用的无网格方法为简化的无网格方法;简化的无网络方法为不计算任意位置的能量,而是计算每个网格点的能量,并且认为在网本格点所作用的体积范围内,该能量均为该网格点处的能量;
(3)利用步骤(1)产生的剩余元球系统与步骤(2)产生的无网格系统进行混合驱动,两个系统存在耦合运动,一个系统产生运动时将运动信息反馈给另一个系统;
(4)当手术刀离开元球模型时,需要将点集恢复为元球,恢复方法为采集表面无网格点,利用维诺图方法对顶点进行分析得到中心骨架,在骨架上进行元球填充;
(5)表面分裂,根据三角形与线段相交的情况分别进一步分裂为合适的三角形,分裂遵循基本原则,即分裂后的表面依然使用三角形填充,并将切割线段两边的多边形分别分割为三角形,然后在裂隙处采集无网格点,对这些无网格点进行三角化处理,形成裂隙网格,最后更新所有三角形的绑定情况,包括新生成的三角形和裂隙附近的三角形;
(6)时间逻辑:步骤(1)执行的时间点为手术刀和元球发生碰撞,可能会被执行多次,每当一次步骤(1)执行完后立即持续执行步骤(2)和(3),当手术刀不再和元球发生碰撞,即切割完毕,执行步骤(4);而步骤(5)和其余4个步骤为并行关系,手术刀与表面发生碰撞时需要进行分裂处理,步骤(4)恢复元球时,同时处理裂隙生成,在步骤(4)和裂隙生成都执行完后进行重新绑定处理;所述绑定为高斯绑定;
所述第四步,渲染过程,具体实现如下:
(1)绘制模型表面信息,表面信息包括三部分,纹理信息,顶点信息和面片信息,模型读取时已经给定了表面的初始信息,纹理信息是固定不变的,而顶点信息是随着变形过程和切割过程不断做改变,面片信息也会随着切割过程的步骤做改变,渲染过程为变形过程和切割过程共同的伴随步骤;表面信息需要绘制两遍,一遍用OpenGL绘制在屏幕上,一遍用Phantom库绘制进力反馈设备中;
(2)选择性绘制体信息,提供体绘制开关,在查看切割效果时打开体信息绘制,体信息包括元球信息以及元球拓扑信息,元球信息也在预处理过程中模型读取时给定,之后随着变形过程和切割过程的步骤不断做改变,元球拓扑信息为元球的交叠情况,在有交叠的元球之间,会在它们球心连接一条线段表示它们存在拓扑信息。
2.根据权利要求1所述的一种基于元球模型和混合驱动方法的实时数字器官切割方法,其特征在于:所述第一步,预处理过程,具体实现如下:
(1)读入三种类型的文件,所述三种类型的文件为标准三角面片OBJ文件,标准纹理图片TGA文件和自定义元球SPH文件,其中SPH文件是通过OBJ文件生成的,SPH文件提供元球信息,所述元球信息包括元球球心位置和半径信息;OBJ文件按照通用方式存储了三角面片的顶点信息和面片信息;TGA文件存放纹理信息;所述三种文件中的数据读取后分别用相应的数据结构存储;
(2)渲染环境初始化,包括搭建OpenGL渲染环境和3D触觉设备Phantom Device的渲染环境初始化;
(3)驱动方法初始化,包括基于位置的动力学方法和无网格方法的参数和依赖变量的初始化。
3.根据权利要求1所述的一种基于元球模型和混合驱动方法的实时数字器官切割方法,其特征在于:所述第二步,变形过程,具体实现如下:
(1)变形过程,根据第一步读取的模型的数据,采用基于位置的动力学(PBD)方法进行驱动元球,在位置动力学方法中,添加拉伸约束,单元约束和能量约束,设置好固定元球,以达成收敛效果;
(2)表面三角面片的顶点与元球做高斯绑定,即该顶点的运动由周围元球的运动情况决定,影响元球数最多为3个,影响方式为该元球球心到顶点的距离与半径的比率的高斯值加权作用在该顶点上。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710023932.1A CN106875462B (zh) | 2017-01-13 | 2017-01-13 | 一种基于元球模型和混合驱动方法的实时数字器官切割方法 |
US15/835,408 US10529132B2 (en) | 2017-01-13 | 2017-12-07 | Method for real-time cutting of digital organ based on metaball model and hybrid driving method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710023932.1A CN106875462B (zh) | 2017-01-13 | 2017-01-13 | 一种基于元球模型和混合驱动方法的实时数字器官切割方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106875462A CN106875462A (zh) | 2017-06-20 |
CN106875462B true CN106875462B (zh) | 2020-07-07 |
Family
ID=59157632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710023932.1A Active CN106875462B (zh) | 2017-01-13 | 2017-01-13 | 一种基于元球模型和混合驱动方法的实时数字器官切割方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10529132B2 (zh) |
CN (1) | CN106875462B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3679494B8 (en) * | 2017-09-07 | 2022-06-15 | Versitech Limited | Bone model, modelling process and system therefor |
CN108920875B (zh) * | 2018-07-29 | 2023-01-24 | 南京信息工程大学 | 一种基于磁性氧化模型的虚拟切割方法 |
CN109727307B (zh) * | 2018-12-29 | 2023-08-22 | 上海联影医疗科技股份有限公司 | 一种表面网格切割方法、装置及计算机可读存储介质 |
CN110353639B (zh) * | 2019-07-16 | 2022-04-01 | 脑玺(上海)智能科技有限公司 | 一种基于血管增强造影的供血区定量方法及系统 |
CN111145356B (zh) * | 2019-12-31 | 2023-08-18 | 威创集团股份有限公司 | 一种基于Unity3D模型的切割方法 |
CN111797506B (zh) * | 2020-06-10 | 2022-07-29 | 上海工程技术大学 | 一种主从导丝控制方法 |
CN112245014B (zh) * | 2020-10-30 | 2023-06-02 | 上海微创医疗机器人(集团)股份有限公司 | 一种医疗机器人、检测机械臂碰撞的方法及存储介质 |
CN113034532B (zh) * | 2021-03-02 | 2023-02-03 | 四川大学 | 一种基于无网格模型的整形手术术后软组织形变预测方法 |
CN114359500B (zh) * | 2022-03-10 | 2022-05-24 | 西南交通大学 | 一种面向滑坡危险范围预测的三维建模与可视化方法 |
CN114821541B (zh) * | 2022-06-23 | 2022-10-04 | 深圳大学 | 一种基于网格模型的道路面损伤检测方法及相关设备 |
CN117475109B (zh) * | 2023-12-21 | 2024-03-19 | 中建三局集团有限公司 | 基于拉伸体几何切割的模型流水段划分方法、装置及介质 |
CN118447188A (zh) * | 2024-07-08 | 2024-08-06 | 瀚依科技(杭州)有限公司 | 一种三维网格模型生成方法、装置、存储介质及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103699714A (zh) * | 2013-12-01 | 2014-04-02 | 北京航空航天大学 | 一种基于有限元和无网格耦合的柔性物体实时切割仿真方法 |
CN104318056A (zh) * | 2014-09-24 | 2015-01-28 | 北京航空航天大学 | 基于位置动力学的软组织变形和切割模拟方法 |
CN105302972A (zh) * | 2015-11-05 | 2016-02-03 | 北京航空航天大学 | 一种基于元球模型的软组织形变方法 |
CN105559887A (zh) * | 2015-12-11 | 2016-05-11 | 哈尔滨工业大学 | 用于手术机器人的基于力反馈的手术切割训练系统及方法 |
CN106156537A (zh) * | 2016-07-04 | 2016-11-23 | 南昌大学 | 基于麦夸特算法的径向基无网格软组织数据的力反馈模型建模方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8958611B2 (en) * | 2011-12-29 | 2015-02-17 | Mako Surgical Corporation | Interactive CSG subtraction |
JP6104288B2 (ja) * | 2015-01-06 | 2017-03-29 | 三菱プレシジョン株式会社 | 手術シミュレーション用モデルの生成方法、手術シミュレーション方法、及び手術シミュレータ |
-
2017
- 2017-01-13 CN CN201710023932.1A patent/CN106875462B/zh active Active
- 2017-12-07 US US15/835,408 patent/US10529132B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103699714A (zh) * | 2013-12-01 | 2014-04-02 | 北京航空航天大学 | 一种基于有限元和无网格耦合的柔性物体实时切割仿真方法 |
CN104318056A (zh) * | 2014-09-24 | 2015-01-28 | 北京航空航天大学 | 基于位置动力学的软组织变形和切割模拟方法 |
CN105302972A (zh) * | 2015-11-05 | 2016-02-03 | 北京航空航天大学 | 一种基于元球模型的软组织形变方法 |
CN105559887A (zh) * | 2015-12-11 | 2016-05-11 | 哈尔滨工业大学 | 用于手术机器人的基于力反馈的手术切割训练系统及方法 |
CN106156537A (zh) * | 2016-07-04 | 2016-11-23 | 南昌大学 | 基于麦夸特算法的径向基无网格软组织数据的力反馈模型建模方法 |
Non-Patent Citations (2)
Title |
---|
Meshless Thin-Shell Simulation Based on Global Conformal Parameterization;Xiaohu Guo 等;《IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS》;20060630;第375-385页 * |
Metaballs-based physical modeling and deformation of organs for virtual surgery;Junjun Pan等;《The Visual Computer: International Journal of Computer Graphics archive》;20150630;第948-955页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106875462A (zh) | 2017-06-20 |
US20180204378A1 (en) | 2018-07-19 |
US10529132B2 (en) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106875462B (zh) | 一种基于元球模型和混合驱动方法的实时数字器官切割方法 | |
Berndt et al. | Efficient surgical cutting with position-based dynamics | |
CN109285225B (zh) | 一种基于医学影像的虚拟现实辅助手术的建立方法 | |
CN108648548A (zh) | 一种脑神经外科虚拟手术训练系统 | |
Guo et al. | Meshless thin-shell simulation based on global conformal parameterization | |
US8149237B2 (en) | Information processing apparatus and program | |
Wu et al. | Interactive High-Resolution Boundary Surfaces for Deformable Bodies with Changing Topology. | |
Hu et al. | Advanced hierarchical spherical parameterizations | |
Jayasudha et al. | Soft tissues deformation and removal simulation modelling for virtual surgery | |
Wang et al. | A review of virtual cutting methods and technology in deformable objects | |
CN109961514B (zh) | 一种切割形变仿真方法、装置、存储介质及终端设备 | |
EP1627282B1 (en) | Rig baking | |
Nienhuys et al. | A Delaunay approach to interactive cutting in triangulated surfaces | |
Cheng et al. | Modelling of soft tissue cutting in virtual surgery simulation: a literature review | |
Lim et al. | On the use of meshfree methods and a geometry based surgical cutting algorithm in multimodal medical simulations | |
Wang et al. | Real-Time CUDA Based Collision detection and Physics based collision response simulation | |
Ren et al. | Modelling and Simulation of Vessel Surgery based on Mass-spring | |
Li et al. | Real-time soft tissue modelling for webbased surgical simulation: Surfacechainmail | |
Li et al. | Novel adaptive SPH with geometric subdivision for brittle fracture animation of anisotropic materials | |
CN109036567B (zh) | 一种基于子空间凝聚算法的软组织形变仿真方法 | |
Basloom | A Survey On Physical Methods For Deformation Modeling | |
Ye et al. | An improved collision detection and cutting algorithm of the soft tissue in virtual surgical simulation | |
Shao et al. | A hybrid deformation model for virtual cutting | |
Sun et al. | Real-Time Simulation of First Porta Treatment Based on Position Based Dynamic | |
Ye et al. | An efficient rotational matrix extraction scheme for finite element method-based deformation |
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 |