CN102930583B - 互动式生成液滴效果的方法 - Google Patents
互动式生成液滴效果的方法 Download PDFInfo
- Publication number
- CN102930583B CN102930583B CN201210394304.1A CN201210394304A CN102930583B CN 102930583 B CN102930583 B CN 102930583B CN 201210394304 A CN201210394304 A CN 201210394304A CN 102930583 B CN102930583 B CN 102930583B
- Authority
- CN
- China
- Prior art keywords
- drop
- droplet
- equation
- droplet particles
- described step
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 230000000694 effects Effects 0.000 title claims abstract description 42
- 230000033001 locomotion Effects 0.000 claims abstract description 24
- 239000002245 particle Substances 0.000 claims description 60
- 239000012530 fluid Substances 0.000 claims description 43
- 238000009499 grossing Methods 0.000 claims description 10
- 238000004321 preservation Methods 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 claims description 5
- 238000013459 approach Methods 0.000 claims description 2
- 230000005855 radiation Effects 0.000 claims description 2
- 238000011897 real-time detection Methods 0.000 claims 1
- 239000007788 liquid Substances 0.000 abstract description 43
- 238000004088 simulation Methods 0.000 abstract description 36
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 abstract description 20
- 230000002452 interceptive effect Effects 0.000 abstract description 14
- 238000009877 rendering Methods 0.000 abstract description 10
- 230000008569 process Effects 0.000 description 24
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 230000003993 interaction Effects 0.000 description 11
- 230000009471 action Effects 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 239000011521 glass Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008846 dynamic interplay Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 244000062793 Sorghum vulgare Species 0.000 description 1
- 238000007630 basic procedure Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001595 contractor effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000005755 formation reaction Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 235000019713 millet Nutrition 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Landscapes
- Processing Or Creating Images (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种液滴效果的互动式模拟方法主要步骤为:S1、根据给定的液滴的初始状态参数求解该液滴的运动方程;S2、计算所述液滴表面的表面张力;S3、根据计算所述液滴的运动方程和表面张力得到的液滴位置信息构建液滴的表面;S4、保存液滴表面的信息,并对液滴表面信息进行插值;S5、渲染所述液滴表面。本发明利用图形处理器精确求解液滴控制方程,从而达到实时模拟的效果,将方程的求解与绘制结合在一起,提高了液滴模拟的效率,此外,本发明能够同时适用于大比例液体现象及小比例液滴现象的模拟,其中液滴现象包括水滴、油滴及水彩等。
Description
技术领域
本发明属于图像数据处理技术领域,具体涉及一种生成液滴效果的图像或动画的方法,特别是一种互动式的生成液滴效果的图像或动画方法。
背景技术
液体的滴落现象普遍存在于日常生活中。在图形学领域,人们一直试图利用计算机去模拟这种真实的现象,对于复杂的流体效果,只有借助较为精确的物理方程才能再现其自身的运动规律及外在的视觉特效,然而,流体方程的求解相当耗时,同时受到稳定性及收敛性的限制。因此,研究真实、高效且精确的液滴效果模拟及渲染方法对于流体模拟在图形学领域的发展具有重要的意义。
目前,对于不同液滴效果(水滴、油滴及水彩等)模拟的工作较少,主要围绕在水滴模拟,可以分为两方面:基于合成的方法和基于物理的方法。大部分基于合成的方法虽然能够有效的对水滴效果进行建模,却无法实现真实的水滴运动。基于物理的方法能够借助较为精确的物理方程再现水滴自身的运动规律及外在的视觉特效。
Wang H等人提出一种通用浅水波模型(参考:Wang H.,Miller G.,andTurk G.Solving general shallow wave equations on surface,In:Proceedings ofthe 2007 ACM SIGGRAPH/Eurographics symposium on Computer animation,pp.229-238,2007),用于水滴在平面上的流动,这种方法的依赖于表面,不能用于各种液滴的自由散落现象。
Thurey N等人提出一种混合的方法,用于模拟高细节的水滴效果(参考:Thurey N.,Wojtan C,Gross M.and Ture G.A multiscale approach tomesh-based surface tension flows,ACM Transactions on Graphics,Vol.299,No.4,pp.1-10,2010)。Yizhong Zhang等人利用显示曲面的方法来模拟类似的水滴效果(参考:Yizhong Zhang,Huamin Wang,Shuai Wang,Yiying Tong,Kun Zhou,A Deformable Surface Model for Real-Time Water Drop Animation,IEEE Transactions on Visualization and Computer Graphics,Vol.18,No.8,1281-1289,2011),这两种方法通过复杂的曲面操作来处理水滴的分离与合并过程,尤其是多个水滴的聚集,计算过程相当繁琐,降低了水滴模拟的效率。
Byungmoon Kim提出一种网格与粒子混合的区域水平集(RegionalLevel Sets)方法(参考:Byungmoon Kim.Multi-phase fluid simulations usingregional level sets,ACM Transactions on Graphics,Vol.29,No.6,2010.),用于完成水体及水滴的模拟,然而这种方法在模拟小液滴时,需要完成网格到粒子的转换,很难实现自然的过渡。
综上所述,上述方法仅在水滴模拟方面都仍存在缺陷与不足,很难扩展到多种液滴效果的模拟。
随着计算机硬件的快速发展,在图像上互动式地生成流体效果逐渐成为研究热点,Smoothed Particle Hydrodynamics(SPH)算法作为一种典型的拉格朗日粒子方法,它的特点是简单高效,可以应用于各种实时液体模拟及互动软件中。通用SPH算法的基本流程是利用粒子模拟流体的运动,并根据粒子间的位置构建流体密度场,通过Marching Cubes等网格生成方法来重建流体网格,从而完成对液体的渲染。
尽管通用SPH算法在液体效果模拟中广泛使用,但是在液体表面的可视化方面仍存在不足之处:这种传统的液体渲染方法是独立于摄像机的,因此,很多不可见部分的液体表面及细节同样需要计算,降低了液体模拟的效率。相对于大比例液体的模拟,如何有效地模拟微小液滴的效果仍然是一个具有挑战性的问题,通用SPH的液体模拟方法不能直接应用于液滴的模拟,这主要是由于小比例现象下的强粘性及表面张力效果要求小的时间步长,以确保精确及稳定的流体方程求解,同时需要较大的计算消耗来获得所有的表面细节,因此,通过真实、高效且精确的模拟及渲染方法来实时的动态显示液滴的散落效果具有重要意义。
发明内容
(一)要解决的技术问题
本发明所要解决的技术问题是提供一种互动式生成液滴效果的方法,以克服传统流体渲染独立于摄像机、计算量大,难以兼具真实和高效的缺点。
(二)技术方案
为解决上述技术问题,本发明提出一种生成液滴效果的方法,包括如下步骤:S1、根据给定的液滴的初始状态参数求解该液滴的运动方程;S2、计算所述液滴表面的表面张力;S3、根据计算所述液滴的运动方程和表面张力得到的液滴位置信息构建液滴的表面;S4、保存液滴表面的信息,并对液滴表面信息进行插值;S5、渲染所述液滴表面。
(三)有益效果
本发明能够以实时的、逼真的动画显示液滴散落效果,同时可以保证液滴控制方程求解的精确性、稳定性及收敛性,提高了液滴效果模拟的效率及真实感。
此外,本发明能够同时适用于大比例液体现象及小比例液滴现象的模拟,其中液滴现象包括水滴、油滴及水彩等。
附图说明
图1是本发明的生成液滴效果的方法的流程图;
图2是本发明的液滴运动方程求解流程图;
图3a和图3b是真实液滴表面张力示意图;
图4是本发明的液滴表面张力求解流程图;
图5是本发明的液滴表面的构建的流程图;
图6是本发明用于计算液滴密度分布样式的示意图;
图7是本发明用于判断液滴表面位置的原理示意图;
图8是本发明的液滴表面信息保存的流程图;
图9是本发明用于计算液滴光学特性的原理示意图;
图10是本发明的液滴表面的渲染的流程图;
图11是本发明用于计算反射光线的原理示意图;
图12是本发明用于计算折射光线的原理示意图;
图13是本发明的体感互动求解的流程图;
图14a、图14b和图14c是本发明应用于Kinect互动的效果图;
图15a和图15b是本发明应用于液体团流变现象的效果图;
图16a、图16b和图16c是本发明应用于液滴表面张力现象的效果图;
图17a、图17b、图17c、图17d、图17e和图17f是本发明应用于液滴散落现象的效果图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
图1是本发明的生成液滴效果的方法的流程图。如图1所示,本发明的方法主要分为五个基本步骤:
S1、根据给定的液滴的初始状态参数求解该液滴的运动方程。
为了模拟液滴的流体现象,图形学领域主要针对无粘、不可压的奈维斯托克斯流体控制方程进行求解,在拉格朗日粒子法中,该方程包括质量守恒和动量守恒两部分:
其中,表示流体的速度场,ρ表示流体的密度场,为压强梯度,μ为流体的动力学粘性系数。如果将公式(2)右边合并为一个力,动量方程则退化为牛顿第二定律,显然,拉格朗日粒子法就是对各个相对独立的流体粒子进行受力分析,通过积分计算出各个粒子下一时刻的不同状态量,本发明利用上述原理来实现液滴效果的互动式模拟。
图2是本发明的液滴运动方程求解流程图。如图2所示,液滴运动方程的求解步骤包括:精确压强力计算及人工速度场校正。
在SPH方法中,流体粒子所携带的状态量只定义在离散而不是连续的位置上,空间中流体粒子的状态量可以通过周围流体粒子的状态量插值得到,其以离散求和的形式表示如下:
其中,Ai表示要累积求和的状态量,h为求和半径,又称之为光滑核半径,函数W就是光滑核函数,光滑核函数必须具备两个性质,首先一定要是偶函数,即W(-r)=W(r),其次一定要是规整函数,即∫W(r)dr=1,针对于不同的研究对象及不同的状态量,所选择的光滑核函数是不同的。
首先,考虑到液滴模拟要求多细节,需要较为精确的流体控制方程求解,本发明对通用SPH模型进行改进提出一种精确SPH模型,该模型采用较为精确的压强力的计算,它能够精确的维持线动量及角动量的守恒:
其中,m为液滴粒子质量,p为液滴粒子压强,Wspiky为光滑核函数,h为光滑核半径。
其次,考虑到液滴模拟的强粘性,本发明将XSPH方法引入到液滴效果模拟中。通过引入人工粘性可以降低方程中使用的动力学粘性系数,这有助于在较大时间步长时,保证流体方程的稳定性及收敛性。因此,本发明中的精确SPH模型利用XSPH方法来获得一个较为规整的粒子运动:
其中,m为液滴粒子质量,ρ为液滴粒子密度,v为液滴粒子速度,Wpoly6为光滑核函数。
S2、计算所述液滴表面的表面张力。
表面张力可以简单理解为流体试图减小表面积而产生的一种力。图3a和图3b是真实液滴表面张力示意图,如图3a和图3b所示,这种力产生的效果非常细致,半球形液滴受到内部压强ΔP的作用,使得液滴表面紧绷,最终将液滴收缩成球形。由于表面张力只涉及到表层的粒子,计算方法和体积力有所不同。
和其他力相比,表面张力产生的效果其实是微乎其微的,多用于细节较多的液滴模拟,在较大比例液体模拟中常常忽略表面张力的计算。
图4是本发明的液滴表面张力求解流程图。如图4所示,液滴表面张力求解步骤包括:基于密度分布的平均曲率计算及基于平均曲率的表面张力计算。
首先,考虑到SPH模拟的无网格特性,本发明基于流体粒子的密度分布定义一种简易的平均曲率模型。流体粒子密度的拉普拉斯可以表示为其中ρi为液滴粒子的密度,因此,平均曲率的计算如下:
那么,基于平均曲率的表面张力计算为:
其中,σ为表面张力系数,跟流体的材质有关。
S3、根据计算所述液滴的运动方程和表面张力得到的液滴位置信息构建液滴的表面。
为了提高液滴表面的构建效率及效果,本发明基于一种新的着色器模型,采用一遍绘制技术完成液滴表面构建的过程,如图5所示,所述步骤主要包括:液滴空间密度分布的计算及液滴表面位置的判断。
首先,液滴空间密度分布的计算采用体绘制技术来完成。体绘制方法通常用空间密度函数描述体纹理数据的分布,并利用方程来完成三维流体空间密度的构建,其中,m为液滴粒子的质量,Wpoly6为光滑核函数,h为光滑核半径。传统方法中,密度分布随流体粒子空间位置的变化而变化,计算过程复杂多变。本发明对传统流体粒子密度分布进行简化,固定了网格中单个粒子密度分布的样式,如图6所示,简化的密度分布假定网格体素足够小,流体粒子在单一网格体素内的运动不会导致周围网格体素密度分布的变化,因此,密度分布仅与流体粒子所在的网格体素相关,避免了重复计算。
其次,对于液滴表面的判断,本发明基于新的着色器模型,利用一遍绘制完成液滴表面判断的过程,利用像素着色器将体积边界正面及背面的空间坐标渲染输出成二维纹理,根据片元纹理坐标来采样得到的二维体积边界纹理,用于计算视线的方向及长度,最后基于二分法的思想来判断流体表面位置,如图7所示,I及O分别为体积边界的入射点与出射点,通过求解两点间的中点A及相应位置的密度阈值比较,确定A为流体外部点,用于替换流体外部点I参与计算,以此类推,逐渐收敛于流体等值面C。
S4、保存液滴表面的信息,并对液滴表面信息进行插值。
为了将液滴表面信息保存,通过曲面后处理来提高渲染细节,本发明基于隐式曲面引入水平集(Level Set)方法来追踪液滴表面。如图8所示,所述步骤主要包括:液滴表面函数的逼近及液滴表面信息的细化。
考虑到水平集方法把随时间运动的物理界面看做某个函数的零等值面,满足一定的方程。在每个时刻t,只要求出的值,就可以知道其零等值面的位置,也就是运动界面的位置。因此,本发明利用水平集方法提供的等值面函数逐渐逼近求得的液滴表面,通过保存每一时刻t等值面函数的相应位置信息,完成表面信息的保存,最后,本发明将保存的表面位置信息进行插值,完成对液滴表面的细化工作,以此提高液滴表面的渲染细节
S5、渲染所述液滴表面。考虑到新一代着色器模型的性能,本发明将简易的光线追踪算法应用于液滴的实时渲染中,光线追踪算法对于液体的多种光学特性的渲染非常重要,如图9所示,本发明主要考虑液体正面及背面的折射、反射、散射及衰减特性来映射周围的环境,并将计算得到的颜色值应用于上述流体表面点,此外,光线的折射量与反射量的分布需要满足菲涅尔定律。如图10所示,所述的渲染步骤包括:环境贴图的绘制;反射光线计算;折射光线计算;散射及衰减的计算;液滴表面颜色值计算。
考虑到硬件渲染的优越性,这里本发明基于图形处理器利用天空盒技术来完成环境贴图的绘制过程。对于反射光线计算,如图11所示,利用方程计算反射光线方向,其中,a=1, 为入射光线方向,为反射光线方向,为法线方向,根据反射光线方向对环境贴图采样,计算反射颜色值。对于折射光线计算,如图12所示,利用方程计算折射光线方向,其中,a=sinθt/sinθi=ni/nt,b=1-x-y, 为入射光线方向,为折射光线方向,为法线方向,根据折射光线方向对环境贴图采样,计算折射颜色值。
考虑到不同波长的光折射率不同因而产生光线的散射效果,根据不同的折射率分别计算各自的折射光线方向及相应的折射颜色值,此外,光线在液滴内经过多次反射、折射会导致光线强度的衰减,根据光线的反射及折射次数引入相应的衰减强度γ(n)。
考虑到入射光线经过液体表面会拆分成折射光线与反射光线两部分,反射量与折射量的分布需要遵循菲涅尔定律。考虑到菲涅尔反射多项式的估计质量,当光线从空气中射入时,折射率为n<1,本发明采用菲涅尔反射多项式估计反射量的分布,当光线从液体中射出时,折射率为1/n>1,本发明采用菲涅尔方程精确计算反射量的分布。最后,利用方程Icolor=αtcolor+(1-α)rcolor计算入射光线的颜色值,即液滴表面颜色值,其中,Icolor为液滴表面颜色值,tcolor为折射颜色值,rcolor为反射颜色值,α为折射量。
以上已阐述了本发明的生成液滴效果的方法的基本步骤,上面的方法是在假设液滴在外界受力环境不变的情况下生成的自然液滴效果,根据本发明的一种优选实施方式,为了体现本发明的实时性及鲁棒性,同时为了增加液滴动画的真实性,在模拟液滴效果过程中添加了液滴的体感互动,所谓体感互动是指用身体去感受的新型互动方式,它突破了以往单纯以手柄按键输入的操作方式,而是通过肢体动作变化来进行操作。图13是本发明的体感互动求解的流程图,如图13所示,所述步骤主要包括:体感信息的采集与位置匹配;液滴与碰撞体的碰撞检测及碰撞方程求解。
首先,本发明进行体感信息的采集与位置匹配。作为一种实施方式,可以利用微软体感设备(Microsoft Kinect Sensor)实时的采集手部体感信息。微软体感设备是一种让用户不需要手持或踩踏控制器,而是使用语音指令或手势来进行交互的实时采集设备,具体来说,它能通过采集到的深度图像和彩色图像识别使用者的肢体动作,同时通过内建的麦克风识别语音指令。
对于体感位置的匹配,具体来说,结合OpenNI SDK(OpenNI是一个多语言,跨平台的框架,OpenNI API由一组可用来编写通用自然交互应用的接口组成。)定义手部动作,通过动作之间的匹配来触发与液滴的动态互动,如图14a、图14b和图14c的示例所示,在步骤S1求解液滴运动方程前,定义手部的“挥手”动作,当检测到“挥手”动作时,开始计算液滴的运动方程及液滴与碰撞体的碰撞方程,同时通过碰撞体与手部位置间的匹配映射来移动碰撞体位置。
最后,液滴与碰撞体的碰撞检测及碰撞方程求解。在求解液滴与碰撞体的碰撞方程时,为了节省计算量且提高计算精度,实时的碰撞检测主要分为两步,首先定义碰撞体为方形容器,通过计算液滴粒子与碰撞体各个面是否有交点来检测液滴粒子与碰撞体是否发生碰撞,当液滴粒子与碰撞体发生碰撞,为了提高计算精度,则进一步计算液滴粒子与碰撞体的交点位置,并以该交点作为液滴粒子与碰撞体的碰撞点进行求解,在液滴粒子与手部碰撞体的互动碰撞过程中,液滴粒子是不可能穿过碰撞体的边界的,因此,本发明基于自由滑动(free-slip)边界条件,确保液滴粒子与碰撞体的速度在碰撞边界的法线方向上是一致的,即利用方程对求解液滴运动方程得到的粒子速度进行修正。
实验结果与结论
用C++语言实现了本发明所描述的方法,其实验环境基于PC机(CPU为2.4GHz Core2 Quad Processor,2GB内存,NVidia GTX460显示芯片、操作系统为Windows 7),显示部分使用了标准的OpenGL图形函数库及CUDA4.0函数库。这里给出了一些实验结果,这些结果显示了本发明的有效性及高效性,相应的图形处理器绘制效率比较如表1所示。在图形硬件上,我们不仅完成了液体及液滴流动方程的精确求解,同时也将计算的结果实时绘制出来。
表1不同场景的GPU绘制效率及分析
本发明采用精确SPH模型对液体流及液滴进行模拟,并利用简易光线追踪方法进行实时渲染,包括液滴的光线折射、反射、散射及衰减效果,能够克服传统渲染方法的独立于摄像机、高计算量等不足,同时提高了模拟的速度与渲染质量。
2.1液体团流变现象的实验结果
图15a和图15b给出了以室外场景为背景的液体团实时变化例子。液体团的初始形态为有底圆柱形玻璃杯内的液体,通过鼠标拖拽施加外力而改变玻璃杯的位置,液体团受重力及玻璃杯各面碰撞力的影响而流动。这个例子包括了1万流体粒子,系统帧率维持在100FPS。
为了模拟小比例现象的液滴效果,本发明引入基于平均曲率的表面张力模型。图16a、图16b和图16c以室外草坪为背景,展示了无重力情况下方体液体团的收缩效果。立方体形态的液体团受到表面张力的作用,使得表面紧绷,最终收缩成球形状态。
2.2液滴生成和散落现象的实验结果
初始液体团受到外力的作用向四周散开,由于表面张力及强粘性力的作用,散开后的液体帘会相互聚集成液滴形态,最终受重力的作用散落。图17a、图17b、图17c、图17d、图17e和图17f模拟了液滴散落的现象。整个模拟过程中,用户同样可以通过互动来调整液滴的数量及受力。即使是模拟细节较多的液滴现象,1万流体粒子,系统帧率仍维持在80FPS。
2.3基于Kinect互动的实验结果
目前,微软Kinect体感互动在图形学领域广泛应用,Kinect是一种让用户不需要手持或踩踏控制器,而是使用语音指令或手势来进行互动的实时采集设备,具体来说,它能通过采集到的深度图像和彩色图像识别使用者的肢体动作,同时通过内建的麦克风识别语音指令。
本发明将Kinect与实时液体流模拟相结合,开发了一个交互式液体流效果的模拟系统,结合OpenNI SDK(OpenNI是一个多语言,跨平台的框架,OpenNI API由一组可用来编写通用自然交互应用的接口组成)用户可以通过Kinect捕捉到的手部运动信息,定义各种手部动作,通过动作之间的匹配来触发与液体流的动态互动。本发明定义了手部的“挥动”与“推”两种动作,当检测到“挥动”动作时,触发手部与液体流间的互动,此时如果继续挥手,将拖动液体流容器运动,从而控制液体流的运动。当检测到“推”动作时,将停止手部与液体流间的互动。如图13a、图13b和图13c所示,由于Kinect每秒30帧的采集速率的限制,整个交互过程,5千流体粒子,系统帧率维持在30FPS。
2.4实验结论与本发明的应用意义
本方法的特色和创新首先在于对通用SPH模型加以改进,引入较为精确的压强力的计算及人工粘性,能够在较大的时间步长精确求解流体控制方程,在维持流体线动量及角动量守恒的同时保证了方程求解的稳定性及收敛性。其次,本发明提出一种基于平均曲率的表面张力模型,用于模拟液滴的表面张力效果。最后,对于三维液滴的渲染,本文基于新一代着色器模型提出一种简单高效的光线追踪方法,包括液滴的光线折射、反射、散射及衰减效果。
本发明可以同时应用于大比例现象的液体渲染及小比例现象的液滴渲染,其中液滴包括水滴、油滴及水彩等,对于流体模拟在图形学领域的发展及应用具有重要的意义。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种生成液滴效果的方法,其特征在于,包括如下步骤:
S1、根据给定的液滴的初始状态参数求解该液滴的运动方程,该步骤包括:体感信息的采集与位置匹配;液滴与碰撞体的碰撞检测及碰撞方程求解;所述液滴与手部碰撞体的碰撞检测及碰撞方法求解的步骤包括:实时的检测液滴与手部位置信息对应的碰撞体的碰撞,并利用方程对液滴的速度进行修正,其中为液滴粒子的速度,为碰撞点的法线方向,为碰撞体对应碰撞点的速度;
S2、计算所述液滴表面的表面张力;
S3、根据计算所述液滴的运动方程和表面张力得到的液滴位置信息构建液滴的表面;
S4、保存液滴表面的信息,并对液滴表面信息进行插值;
S5、渲染所述液滴表面。
2.如权利要求1所述的方法,其特征在于,所述步骤S1包括:利用方程 求解液滴压强力,其中,表示液滴粒子i的压强力,i和j分别表示求解过程中不同的液滴粒子,和分别为液滴粒子i和液滴粒子j的空间位置,m为液滴粒子质量,p为液滴粒子压强,Wspiky为光滑核函数,h为光滑核半径。
3.如权利要求2所述的方法,其特征在于,所述步骤S1还包括:利用方程引入人工粘性来校正液滴运动方程,其中,为液滴粒子i的人工粘性校正力,m为液滴粒子质量,ρ为液滴粒子密度,v为液滴粒子速度,Wpoly6为光滑核函数。
4.如权利要求1所述的方法,其特征在于,所述步骤S2包括:
利用方程 求解液滴表面的平均曲率,其中,i和j分别表示求解过程中不同的液滴粒子,m为液滴粒子质量,为液滴粒子密度的拉普拉斯计算方程,ρ为液滴粒子密度,r为液滴粒子位置,Wpoly6为光滑核函数,h为光滑核半径;
利用方程求解液滴的表面张力,其中,σ为表面张力系数,为液滴表面的平均曲率,ρ为液滴粒子密度。
5.如权利要求1所述的方法,其特征在于,所述步骤S3包括:
利用方程来完成三维流体空间密度的构建,其中,ρi表示液滴粒子i的密度,i和j分别表示求解过程中不同的液滴粒子,m为液滴粒子的质量,Wpoly6为光滑核函数,h为光滑核半径;
利用一遍绘制的光线投射技术计算体积边界纹理,根据体积边界纹理计算视线的方向及长度,基于二分法判断液滴表面位置。
6.如权利要求1所述的方法,其特征在于,所述步骤S4包括:利用水平集方法提供的等值面函数逐渐逼近求得的液滴表面,通过保存每一时刻等值面函数的相应位置信息,完成表面信息的保存,并将保存的表面位置信息进行插值。
7.如权利要求1所述的方法,其特征在于,所述步骤S5包括:利用天空盒技术来完成环境贴图的绘制。
8.如权利要求1所述的方法,其特征在于,所述步骤S5包括:利用方程计算反射光线方向,其中,a=1, 为入射光线方向,为反射光线方向,为法线方向,根据反射光线方向对环境贴图采样,计算反射颜色值。
9.如权利要求1所述的方法,其特征在于,所述步骤S5包括:利用方程计算折射光线方向,其中,a=sinθt/sinθi,b=1-x-y,x=cosθi·sinθt/sinθi, 为入射光线方向,为折射光线方向,为法线方向,θi为入射角,θt为折射角,根据折射光线方向对环境贴图采样,计算折射颜色值。
10.如权利要求8或9所述的方法,其特征在于,所述步骤S5包括:在计算反射线和折射线的步骤中,根据光线的反射及折射次数引入相应的衰减强度γ(n)。
11.如权利要求1所述的方法,其特征在于,所述步骤S5包括:根据菲涅尔定律计算入射光线的折射量与反射量,同时利用方程Icolor=αtcolor+(1-α)rcolor计算入射光线的颜色值,即液滴表面颜色值,其中,Icolor为液滴表面颜色值,tcolor为折射颜色值,rcolor为反射颜色值,α为折射量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210394304.1A CN102930583B (zh) | 2012-10-17 | 2012-10-17 | 互动式生成液滴效果的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210394304.1A CN102930583B (zh) | 2012-10-17 | 2012-10-17 | 互动式生成液滴效果的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102930583A CN102930583A (zh) | 2013-02-13 |
CN102930583B true CN102930583B (zh) | 2015-02-11 |
Family
ID=47645373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210394304.1A Expired - Fee Related CN102930583B (zh) | 2012-10-17 | 2012-10-17 | 互动式生成液滴效果的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102930583B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105825059B (zh) * | 2016-03-17 | 2018-11-27 | 天津大学 | 一种sph多相流触觉交互研究的方法 |
CN106408639A (zh) * | 2016-08-31 | 2017-02-15 | 上海交通大学 | 一种基于曲率流的屏幕空间流体渲染方法 |
CN107689080A (zh) * | 2017-08-21 | 2018-02-13 | 西安华景动力科技有限公司 | 基于三角剖分算法的sph粒子封闭曲面可视化方法 |
CN111783368B (zh) * | 2020-07-15 | 2023-04-28 | 吉林大学 | 一种浅层海水物理参数模拟的方法 |
CN112200902A (zh) * | 2020-09-30 | 2021-01-08 | 北京达佳互联信息技术有限公司 | 图像渲染方法、装置、电子设备及存储介质 |
CN112598769B (zh) * | 2020-12-18 | 2024-03-12 | 北京达佳互联信息技术有限公司 | 特效渲染方法、装置、电子设备、计算机可读存储介质 |
CN113160296B (zh) * | 2021-03-31 | 2023-06-06 | 清华大学 | 基于可微渲染的振动液滴三维重建方法及装置 |
CN114324071B (zh) * | 2021-12-31 | 2023-05-16 | 四川大学 | 拉断液滴测量液体表面张力系数的方法 |
-
2012
- 2012-10-17 CN CN201210394304.1A patent/CN102930583B/zh not_active Expired - Fee Related
Non-Patent Citations (7)
Title |
---|
AN INTRODUCTION TO SPH;J.J.Monaghan;《Physics Communications》;19880131;89-96 * |
Rain Scene Animation Through Particle Systems and Surface Flow Simulation by SPH;Bruno Barcellos Coutinho等;《Conference on Graphics, Patterns and Images》;20100831;参见对比文件1第二部分背景知识第1段、A部分第2段、C部分第1-2段 * |
Two一Way Coupled SPH and Particle Level Set Fluid Simulation;Frank Losasso等;《IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS》;20080831;第14卷(第4期);797-804 * |
基于GPU的水面实时渲染算法;王道臣等;《计算机工程》;20081031;第34卷(第20期);233-237 * |
实时水面渲染;张文辉等;《计算机与数字工程》;20110331;第39卷(第3期);参见对比文件2第4.5节公式12 * |
对菲涅尔公式的几点讨论;张效祖等;《纺织基础科学学报》;19940331;第7卷(第1期);79-81 * |
菲涅尔公式和半波损失;金美芳;《新疆师范大学学报》;19960630;第15卷(第2期);26-32 * |
Also Published As
Publication number | Publication date |
---|---|
CN102930583A (zh) | 2013-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102930583B (zh) | 互动式生成液滴效果的方法 | |
Von Funck et al. | Smoke surfaces: An interactive flow visualization technique inspired by real-world flow experiments | |
CN102708227B (zh) | 基于sph算法的洪水溃坝过程仿真方法与仿真系统 | |
Zhang et al. | A deformable surface model for real-time water drop animation | |
CN102496177B (zh) | 三维水墨动画的制作方法 | |
CN104407521B (zh) | 一种实现水下机器人实时仿真的方法 | |
CN102915559A (zh) | 一种基于三维点云的实时透明物体gpu并行生成方法 | |
CN103679802A (zh) | 基于屏幕空间的sph流体表面实时绘制方法 | |
CN102831275B (zh) | 一种3d流体的仿真方法及系统 | |
CN103294850A (zh) | 一种三维动态流体仿真算法智能匹配方法 | |
CN103530907A (zh) | 基于图像的复杂三维模型绘制方法 | |
Xiao et al. | Real-time high-quality surface rendering for large scale particle-based fluids | |
CN103559741A (zh) | 虚拟手术中基于粒子的多相耦合方法 | |
Huang et al. | Ships, splashes, and waves on a vast ocean | |
CN108520549A (zh) | 一种基于物质点法的多尺度泥石流现象模拟方法 | |
Chen et al. | A heuristic approach to the simulation of water drops and flows on glass panes | |
Grahn | Interactive simulation of contrast fluid using smoothed particle hydrodynamics | |
CN110335275A (zh) | 一种基于三变量双调和b样条的流体表面的时空向量化方法 | |
Vyatkin | Method of binary search for image elements of functionally defined objects using graphics processing units | |
Lee et al. | Interactive 3D fluid jet painting | |
CN104517299B (zh) | 视频流体物理驱动模型恢复及重新仿真的方法 | |
Adams et al. | Particle splatting: Interactive rendering of particle-based simulation data | |
Coutinho et al. | Rain scene animation through particle systems and surface flow simulation by SPH | |
Cords et al. | Interactive screen-space surface rendering of dynamic particle clouds | |
Chen et al. | The merging of water droplets base-on metaball |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150211 Termination date: 20211017 |
|
CF01 | Termination of patent right due to non-payment of annual fee |