1.一种模拟出血模型的虚拟切割算法,其特征在于:具体包括如下步骤:第一步:
虚拟手术刀与虚拟器官接触且满足产生切口的条件时,虚拟器官被切割,产生切口,粒子i在出血模型内;否则只发生形变,粒子i在出血模型外;
第二步:
如果粒子i在出血模型外,则只计算粒子i的压力fip产生的粒子i的压力加速度如果粒子i在出血模型内,则计算粒子i的压力fip产生的压力加速度 和粒子i的张力fit产生的粒子i的张力加速度第三步:
如果粒子i在出血模型内,则计算粒子i的粘性力fiv产生的粒子i的粘性力加速度第四步:将粒子i的压力、张力、粘性力以及重力产生的加速度叠加以获得粒子i的总加速度ai;
第五步:
在出血模拟中,在计算粒子i本身的特性时,用核函数的核心半径h作为参数计算粒子i的密度,使用POLY6核函数计算;计算压力和张力时,使用SPIKY内核函数计算;计算粘性力时,使用VISCOSITY核函数计算;从而得到每帧中粒子i的总加速度ai,进而计算下一帧中粒子i的位置。
2.根据权利要求1所述的模拟出血模型的虚拟切割算法,其特征在于:计算压力fip产生的压力加速度 前,先计算粒子i的密度,其方程为: 其中,ρi表示粒子i的密度,mi表示粒子i的质量,j表示在以粒子i的核心半径为半径的圆的范围内的粒子的标号,W表示核函数,ri与rj分别表示粒子i和粒子j的位置,ri-rj表示粒子i与粒子j之间的距离,h表示核函数的核心半径;
再计算每个粒子i上的压力fip,其方程为:
fip=k(ρi-ρ0)
其中fip表示粒子i上的压力,k是与温度有关的常数,ρi表示粒子i的密度,ρ0是静态密度。
p
3.根据权利要求1或2所述的模拟出血模拟的虚拟切割算法,其特征在于:压力fi产生压力加速度 其方程为 其中 表示粒子i的压力产生的压力加速度,fip表示粒子i上的压力,mi表示粒子i的质量,j表示粒子i的核心半径中的粒子,pi和pj分别表示粒子i与粒子j的压强,ρj表示粒子j的密度,为哈密顿算子,W表示核函数,ri-rj表示粒子i与粒子j之间的距离,h表示核函数的核心半径。
4.根据权利要求1所述的模拟出血模型的虚拟切割算法,其特征在于:步骤二所述的张力fit,定义一个Colorfield区域来计算流体表面的张力 当有粒子i时,其值为1,没有粒子i时,其值为0;
如果粒子i在出血模型内部,那么周围的Colorfield是1,并且张力相互抵消;
如果粒子i在出血模型的表面上,则外部的Colorfield为0,并且张力影响粒子i,SPH被用于计算张力的方程为: 其中C(ri)表示用于计算粒子i的张力的SPH函数,mj表示粒子j的质量,ρj表示粒子j的密度,Aj是表示粒子j的Colorfield的值的函数;
梯度 是粒子i表面的法线对应的参数构成的向量,即 其中C表示SPH函数;表面曲率ω用 计算,其中 是单位法向量的模;
将出血表面粒子i的张力定义为:
其中,δ是用于规范计算的常数,是出血面的单位法向量, 是单位法向量的模。
5.根据权利要求1或4所述的模拟出血模型的虚拟切割算法,其特征在于:所述的张力tfi产生的粒子i的张力加速度 如下:
其中,表示粒子i上的张力fit产生的加速度。
6.根据权利要求1所述的模拟出血模型的虚拟切割算法,其特征在于:所述粒子i的粘性系数μi定义为:λ>0,γ>0,其中,μi表示粒子i的粘性系数,λ和γ是系数,Pi为表示粒子i上的血小板性质的函数,并且当Pi的值减小时,粘度系数μi增加;Pi随时间变化的值按照SPH方法计算:其中P为表示血小板性质的函数,t表示时间,η是传递系数,Pi和Pj分别定义粒子i和粒子j的初始血小板性质。
7.根据权利要求1或6所述的模拟出血模型的虚拟切割算法,其特征在于:所述粒子i的粘性力产生的粘性力加速度 如下:其中, 表示粒子i上的粘性力产生的粘性力加速度,vi和vj分别定义粒子i和粒子j的初始粘性力性质。
8.根据权利要求1所述的一种基于出血模型的虚拟切割算法,其特征在于:所述的粒子i总的加速度 其中,fip表示压力,fit表示张力,fid表示重力,fiv表示粘性力。
9.根据权利要求1所述的模拟出血模型的虚拟切割算法,其特征在于:所述第五步中,使用POLY6核函数计算粒子i本身的特性:采用核心半径h作为粒子密度的函数,其中,Wpoly6表示POLY6核函数,r表示粒子的位置,π是圆周率。
10.根据权利要求1所述的模拟出血模型的虚拟切割算法,其特征在于:所述采用SPIKY核函数计算压力及张力 其中Wspiky表示SPIKY核函数。梯度计算如下:
所述VISCOSITY核函数用于计算粘性力:
它的拉普拉斯算子是: