1.一种物理数据驱动的真实感流体重仿真方法,其特征在于,利用视频的前两样例帧,记为F1和F2,实现真实感流体重仿,利用流体视频的样例帧,计算得到流体运动的物理驱动数据,实现真实感流体重仿真,具体包括以下步骤:
步骤1:预处理
计算F1中流体粒子的高度Hi,进一步计算F1中任意一个粒子的速度vi及密度ρi.其中i是非负整数,且0≤i<N,N是流体场景的粒子个数;
(a)将流体场景粒子分块,并构建粒子块集合,具体地:
将F1中的所有粒子分块处理,并按照每块中粒子的运动方向,确定为不同类别;先进行粒子块的划分,将F1中的所有粒子按照指定大小b×b分成正方形的块,如果图像的分辨率为X×Y,那么,水平分割块数垂直分割块数
表示向下取整;假设B是这WM个粒子块中的任意一块;B中所有粒子2D速度的均值为
并且u和v是
的两个分量,那么,利用(1)式来确定B的类别T:
按照粒子块的类别,将流体场景的所有粒子块分成四个粒子集合Sj(1≤j≤4),具体地:如果粒子块的类别为j,将该粒子块置入Sj(1≤j≤4);
(b)对每个集合内部的粒子块排序,具体地:
对于任意的粒子集Sj(1≤j≤4),根据每块内部所有粒子密度和ρk,将粒子集Sj内所有粒子块,按照ρk从大到小排序,将排序后的粒子块集,称为标准密度块有序集Gj(1≤j≤4);其中k是非负整数,0≤k≤L-1,L表示Sj中粒子块的个数;
步骤2:按照以下步骤一共进行NR次仿真推演:
(a)当前次是第I次仿真,设I=1;如果满足I≤NR,继续进行以下步骤,否则,跳转到步骤3;
(b)利用速度vi(0≤i<N),初始化LBM模型,使仿真开始推演,然后按照以下步骤对推演后的密度进行增强;在推演过程中,获取第I次推演中流体场景粒子的密度pl(0≤l<N),pl为推演密度,其中I是自然数(1≤I≤NR),N是流体场景的粒子个数;
(c)建立推演密度块有序集合
根据pl(0≤l<N),按照步骤1的(a)和(b)建立推演密度块有序集合Dj(1≤j≤4),其中每个集合的粒子块是按照块内LBM推演的粒子密度和的大小排序;
(d)密度的增强
假设标准密度块有序集Gj(1≤j≤4)中密度块数为C;推演密度块有序集Dj(1≤j≤4)中密度块为J;
对于给定阈值λ(0<0<1),在第I次推演中,推演密度块有序集合Dj(1≤j≤4)的前λc个密度块进行增强处理;具体地:对Dj中的推演密度块bi(0<i≤λc)中的密度pt进行增强;其中t是粒子在bi中的序号;
首先,为了bi从标准密度块有序集Gj中选取标准密度块Bs,序号Bs计算为:
Bs=Cbi/J (2)
然后,对于推演密度块bi中粒子的密度at增强为:
at=PtZb/XB (3)
其中Pt为标准密度块Bs中序号为t的粒子的密度;Zb为推演密度块有序集合Dj中所有密度的和,XB为标准密度块有序集Gj所有粒子密度的和;
(e)转步骤2,进行下一次推演;
步骤3:重仿真结束。