一种用于虚拟实验的液体柱模拟方法技术

技术编号:14117403 阅读:235 留言:0更新日期:2016-12-08 00:42
本发明专利技术公开了一种用于虚拟实验的液体柱模拟方法,包括以下步骤:初始化容器内圆柱形液体柱体积,得到圆柱高度值;捕捉影响液体体积发生变化的事件,更新液体体积值;将转换到液柱自身坐标系中得到在oxyz坐标系中,世界坐标系的水平面α包含点o′=(x0,y0,z0),通过点法式表示该平面方程;对液柱顶面的所有网格点P=(x1,y1,z1),将其投影到平面α上得到该网格点真实坐标;将更新后的液柱顶面高度及轮廓信息发送给传统液面模拟算法,模拟出具有任意深度的液柱动态效果。采用本发明专利技术,整个模拟过程无需碰撞检测,计算快速易于实现,模拟效率高;通过给液柱赋予逼真液体效果的材质贴图即可模拟真实溶液,在透明容器容纳液体的应用场合十分适用。

【技术实现步骤摘要】

本专利技术涉及一种液体模拟方法,尤其涉及一种用于虚拟实验的液体柱模拟方法
技术介绍
虚拟实验(也称为虚拟现实实验)是指借助于多媒体、仿真和虚拟现实(又称VR)等技术在计算机上营造可辅助、部分替代甚至全部替代传统实验各操作环节的相关软硬件操作环境的实验,实验者可以像在真实的环境中一样完成各种实验项目,所取得的实验效果等价于甚至优于在真实环境中所取得的效果。液体模拟一直是虚拟实验系统真实表现系统环境的重要方式,甚至成为很多开发人员选择图形引擎的参考标准。在沉浸式三维虚拟实验应用场景中,烧杯、试管、试剂瓶等容器内的液体都需要能够真实模拟液体高度跟随容器变化而变化的效果。目前,液体模拟的方法大体可分为基于网格的欧拉模型和基于粒子的拉格朗日模型两类,其中,光滑粒子流体动力学(Smoothed Particle Hydrodynamics,SPH)方法表现自由液体动态过程十分出色,近年来成为技术主流。但是,这种基于粒子的方法通常具有较大的时间开销,尤其在粒子数量较大的时候对计算机运行速度有较高要求。基于欧拉网格的流体模拟也得到了大量研究,比如,孙晓鹏(孙晓鹏,李翠芳,“三维游戏中基于OGRE的动态水面模拟算法”,《计算机工程与设计》,32(12):4122~4124,2011)依据力矩和表面张力建立水波方程控制Mesh网格平面较好的模拟了水面涟漪现象;丁振(丁振,苪小平,刘真余等,“基于中心差分法的理想水体三维运动效果的模拟”,《中国科学院研究生院学报》,30(1):33~39,2013)等采用中心差分法平滑因子和布朗运动模型建立水面动态方程,实现了大规模水面动态仿真。网格的方法模拟液面具有速度快,水波效果真实的优点,但缺点是受限于网格面由许多基本单元小平面相邻拼接在一起、无厚度的性质,只能模拟一个面的动态效果,不能表达具有液柱高度的流体内部变化过程和液柱深度信息,无法模拟烧杯中有色液体在杯中晃动的过程,所以网格模拟液面时摄像机视角一般为向下观看水面。基于粒子的方法能真实模拟水滴的自然流动过程和液体在容器内晃动效果,但缺点是模拟过程依赖于大量碰撞检测以表现粒子间相互作用的效果发生大量碰撞检测,在粒子数较多时需要大量的计算和时间消耗,容易在快速移动液体容器时出现滞后和碰撞漏检测,从而发生“漏液”现象。
技术实现思路
本专利技术的目的就在于为了解决上述问题而提供一种能够让液柱在容器倾斜、旋转时始终无误差地保持水面水平的用于虚拟实验的液体柱模拟方法。本专利技术通过以下技术方案来实现上述目的:一种用于虚拟实验的液体柱模拟方法,包括以下步骤:(1)初始化容器内圆柱形液体柱体积,得到圆柱高度值;(2)捕捉影响液体体积发生变化的事件,计算变化后的溶液体积,并更新液体体积值;(3)在世界坐标系OXYZ中,设水平面法向量为令将按照坐标转换公式转换到液柱自身坐标系oxyz中得到(4)在oxyz坐标系中,世界坐标系的水平面α包含点o′=(x0,y0,z0),据此通过点法式表示该平面方程如下:a(x-x0)+b(y-y0)+c(z-z0)=0;(5)对液柱顶面的所有网格点P=(x1,y1,z1),将其投影到平面α上得到该网格点真实坐标;(6)将更新后的液柱顶面高度及轮廓信息发送给传统液面模拟算法,模拟出具有任意深度的液柱动态效果。作为优选,所述步骤(3)中,将转换到液柱自身坐标系得到的转换公式为: ( a , b , c , 1 ) = ( 0 , 1 , 0 , 1 ) cosθ z sinθ z 0 0 - sinθ z cosθ z 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 cosθ x sinθ x 0 0 - 本文档来自技高网
...
一种用于虚拟实验的液体柱模拟方法

【技术保护点】
一种用于虚拟实验的液体柱模拟方法,其特征在于:包括以下步骤:(1)初始化容器内圆柱形液体柱体积,得到圆柱高度值;(2)捕捉影响液体体积发生变化的事件,计算变化后的溶液体积,并更新液体体积值;(3)在世界坐标系OXYZ中,设水平面法向量为令将按照坐标转换公式转换到液柱自身坐标系oxyz中得到(4)在oxyz坐标系中,世界坐标系的水平面α包含点o′=(x0,y0,z0),据此通过点法式表示该平面方程如下:a(x‑x0)+b(y‑y0)+c(z‑z0)=0;(5)对液柱顶面的所有网格点P=(x1,y1,z1),将其投影到平面α上得到该网格点真实坐标;(6)将更新后的液柱顶面高度及轮廓信息发送给传统液面模拟算法,模拟出具有任意深度的液柱动态效果。

【技术特征摘要】
1.一种用于虚拟实验的液体柱模拟方法,其特征在于:包括以下步骤:(1)初始化容器内圆柱形液体柱体积,得到圆柱高度值;(2)捕捉影响液体体积发生变化的事件,计算变化后的溶液体积,并更新液体体积值;(3)在世界坐标系OXYZ中,设水平面法向量为令将按照坐标转换公式转换到液柱自身坐标系oxyz中得到(4)在oxyz坐标系中,世界坐标系的水平面α包含点o′=(x0,y0,z0),据此通过点法式表示该平面方程如下:a(x-x0)+b(y-y0)+c(z-z0)=0;(5)对液柱顶面的所有网格点P=(x1,y1,z1),将其投影到平面α上得到该网格点真实坐标;(6)将更新后的液柱顶面高度及轮廓信息发送给传统液面模拟算法,模拟出具有任意深度的液柱动态效果。2.根据权利要求1所述的用于虚拟实验的液体柱模拟方法,其特征在于:所述步骤(3)中,将转换到液柱自身坐标系得到的转换公式为: ( a , b , c , 1 ) = ( 0 , 1 , 0 , 1 ) cosθ z sinθ z 0 0 - sinθ z cosθ z 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 cosθ x sinθ x ...

【专利技术属性】
技术研发人员:吴亚东杨文超赵思蕊严真乐
申请(专利权)人:西南科技大学
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1