基于分阶段处理的大尺度相变模拟方法、系统及介质

文档序号:37282791发布日期:2024-03-12 21:23阅读:26来源:国知局
基于分阶段处理的大尺度相变模拟方法、系统及介质

本发明涉及计算机图形学,具体地,涉及一种基于分阶段处理的大尺度相变模拟方法、系统及介质。


背景技术:

1、随着计算机软硬件的发展以及计算机图形学研究的深入,人们对交互应用的真实感要求越来越高。真实感一方面体现在渲染的真实性上,另一方面体现在物理现象的丰富性上。简单、单一的物理现象,如刚体或流体,已经不能满足仿真的需要。为了更逼真地还原现实世界,不可避免地要对一些复杂、多态的现象进行模拟,比如水的结冰和融化。该场景涉及到流体模拟、冰体模拟、相变模拟以及破碎模拟等多项技术。

2、在流体模拟领域,有着许多方法,如粒子法、网格法、混合法。其中,粒子法在计算步进时具有优势,可以更好地保留细节;欧拉法更擅长计算压力投影,在场的离散和邻域搜索中具有优势。混合法结合了两者的优点,可以更好地表现流体细节,但在性能上有所牺牲。

3、在相变模拟领域,早期的方法通常采用粒子法和网格法,通过密度、刚度、粘度等参数控制状态的切换;后来引入物质点法,通过背景网格进行热量传递,提升了相变的物理真实性。

4、在破碎模拟领域,早期的方法通过预分割来得到碎片形态;后来基于种子点的选取和几何划分的方法,使得破碎结果可以实时计算;在引入有限元方法后,通过模拟力的传递,破碎效果可以更加精细。

5、然而,在以往的相变模拟中,模拟的场景规模较小,通常只考虑小尺度上的微观性质,并没有针对河流、湖泊等大尺度场景的模拟。此外,在相变模拟中只关注状态转换和形状信息,不考虑水和冰的相互作用,比如水对冰的冲击、冰的漂浮等。在具体的相变计算中,以往的方法考虑因素较少,不考虑水的流动特性、河水与河岸的热量交换。在相变过程中,以往的方法不支持实时交互,同时对冰的性质研究较少,不考虑冰的破碎。

6、因此,如何提供一种大尺度的相变模拟方法,对自然条件下的结冰与融化现象进行基于物理的模拟,同时满足相变过程中实时交互的需求,已成为本领域技术人员亟待解决的技术问题。

7、专利文献cn115270509a公开了一种复杂特殊环境仿真地形规划方法,该方法包括:获取目标园林的地形规划输入信息;基于地形规划输入信息,对目标园林进行地形仿真、建筑仿真、水体仿真和水系规划,确定目标园林的模拟结果并输出,其中,地形仿真、建筑仿真和水体仿真基于三维仿真技术实现。然而该专利无法完全解决目前存在的技术问题,也无法满足本发明的需求。


技术实现思路

1、针对现有技术中的缺陷,本发明的目的是提供一种基于分阶段处理的大尺度相变模拟方法、系统及介质。

2、根据本发明提供的基于分阶段处理的大尺度相变模拟方法,包括:

3、步骤s11,初始化环境信息与模拟信息;

4、步骤s12,使用基于物理的方法进行水体和冰体模拟;

5、步骤s13,计算温度场的演化与冰水相变;

6、步骤s14,进行冰和水在不同模型间的转化;

7、步骤s15,使用实时方法进行水体与冰体模拟;

8、步骤s16,计算用户交互以及冰与水的相互作用。

9、优选的,所述步骤s11包括:

10、步骤s11.1:输入地形信息,地形信息通过高度场表示;

11、步骤s11.2:输入初始的温度场信息,温度场信息通过三维空间网格表示;

12、步骤s11.3:输入初始的水体信息,水体信息通过粒子表示;

13、步骤s11.4:输入初始的冰体信息,冰体信息通过粒子表示;

14、步骤s11.5:输入背景网格信息,背景网格信息用于辅助计算水体和冰体的运动。

15、优选的,所述步骤s12包括:

16、步骤s12.1:将粒子信息映射到网格上,根据网格周围的粒子信息,包括质量、速度和仿射矩阵等,计算每个网格的动量和质量;

17、步骤s12.2:网格操作,计算每个网格的速度,再根据边界条件对网格速度进行修正;

18、步骤s12.3:将网格信息映射到粒子,根据粒子周围的网格信息,计算粒子的速度和仿射矩阵,最后更新粒子的位置。

19、优选的,所述步骤s13包括:

20、温度场的演化源自于热量传递,热量传递的方式分为热传导、热对流和热辐射三种,将热传导与热辐射近似看作扩散过程,根据能量守恒定律和傅里叶热传导定律,计算单位时间内由于发生热传导与热辐射而产生的热量变化;热对流借助空间速度场进行计算,通过半拉格朗日方法进行求解;在计算热量传递时,考虑多种自然因素,并对自然环境添加约束,从而提高计算温度场演化的准确性;

21、冰水相变过程发生在粒子上,具体为:根据热量传递模型,实时更新粒子的温度;检查每个粒子的温度是否低于冰点:

22、对于水粒子,如果当前的温度低于冰点,则认为水体发生结冰,更新该粒子的种类信息,将该粒子的形变梯度置为单位矩阵,从而保存结冰时的瞬时形状,作为冰块的初始形状;

23、对于冰粒子,如果当前的温度高于冰点,则认为冰体发生融化,更新该粒子的种类信息,将该粒子的形变梯度矩阵设为单位阵,再将(0,0)位置的元素置为原始形变梯度行列式的值,实现不可压缩的流体模拟。

24、优选的,所述步骤s14包括:

25、步骤s14.1:将水模型由粒子转化为多层速度场,多层速度场由物质点方法中的速度场采样得到;

26、步骤s14.2:将冰模型由粒子转化为封闭的三角网格,转化后的三角网格与粒子集合具有同样的形状、尺寸以及空间信息。

27、优选的,步骤s15包括:

28、步骤s15.1:采用基于波的方法模拟水体,比如正弦波或gerstner波,首先生成单一的波形用于模拟水面,之后通过修改波的方向、频率信息得到多个波形,最后将这些波进行叠加,得到复杂的水波形状,波的方向与速度由多层速度场计算得到;

29、步骤s15.2:采用基于刚性材料的方法模拟冰体,模拟的冰体具有刚体性质,同时根据冰的特性,在模拟过程中发生不同程度的破碎,采用几何剖分的方法计算冰的破碎,根据碰撞信息生成种子点,利用种子点对冰块进行切割,得到破碎后的冰块。

30、优选的,所述步骤s16包括:

31、步骤s16.1:根据冰块所在位置的水体速度信息,计算冰在水上的漂浮;

32、步骤s16.2:根据冰块不同位置的水流速度差,计算水流对冰块的冲击作用;

33、步骤s16.3:如果冰块发生碰撞,根据发生碰撞的位置及强度信息,计算冰块的破碎;

34、步骤s16.4:计算冰块间的碰撞与堆积。

35、根据本发明提供的基于分阶段处理的大尺度相变模拟系统,包括:

36、模块m11,初始化环境信息与模拟信息;

37、模块m12,使用基于物理的方法进行水体和冰体模拟;

38、模块m13,计算温度场的演化与冰水相变;

39、模块m14,进行冰和水在不同模型间的转化;

40、模块m15,使用实时方法进行水体与冰体模拟;

41、模块m16,计算用户交互以及冰与水的相互作用。

42、优选的,所述模块m11包括:

43、模块m11.1:输入地形信息,地形信息通过高度场表示;

44、模块m11.2:输入初始的温度场信息,温度场信息通过三维空间网格表示;

45、模块m11.3:输入初始的水体信息,水体信息通过粒子表示;

46、模块m11.4:输入初始的冰体信息,冰体信息通过粒子表示;

47、模块m11.5:输入背景网格信息,背景网格信息用于辅助计算水体和冰体的运动;

48、所述模块m12包括:

49、模块m12.1:将粒子信息映射到网格上,根据网格周围的粒子信息,包括质量、速度和仿射矩阵等,计算每个网格的动量和质量;

50、模块m12.2:网格操作,计算每个网格的速度,再根据边界条件对网格速度进行修正;

51、模块m12.3:将网格信息映射到粒子,根据粒子周围的网格信息,计算粒子的速度和仿射矩阵,最后更新粒子的位置;

52、所述模块m13包括:

53、温度场的演化源自于热量传递,热量传递的方式分为热传导、热对流和热辐射三种,将热传导与热辐射近似看作扩散过程,根据能量守恒定律和傅里叶热传导定律,计算单位时间内由于发生热传导与热辐射而产生的热量变化;热对流借助空间速度场进行计算,通过半拉格朗日方法进行求解;在计算热量传递时,考虑多种自然因素,并对自然环境添加约束,从而提高计算温度场演化的准确性;

54、冰水相变过程发生在粒子上,具体为:根据热量传递模型,实时更新粒子的温度;检查每个粒子的温度是否低于冰点:

55、对于水粒子,如果当前的温度低于冰点,则认为水体发生结冰,更新该粒子的种类信息,将该粒子的形变梯度置为单位矩阵,从而保存结冰时的瞬时形状,作为冰块的初始形状;

56、对于冰粒子,如果当前的温度高于冰点,则认为冰体发生融化,更新该粒子的种类信息,将该粒子的形变梯度矩阵设为单位阵,再将(0,0)位置的元素置为原始形变梯度行列式的值,实现不可压缩的流体模拟;

57、所述模块m14包括:

58、模块m14.1:将水模型由粒子转化为多层速度场,多层速度场由物质点方法中的速度场采样得到;

59、模块m14.2:将冰模型由粒子转化为封闭的三角网格,转化后的三角网格与粒子集合具有同样的形状、尺寸以及空间信息;

60、模块m15包括:

61、模块m15.1:采用基于波的方法模拟水体,比如正弦波或gerstner波,首先生成单一的波形用于模拟水面,之后通过修改波的方向、频率信息得到多个波形,最后将这些波进行叠加,得到复杂的水波形状,波的方向与速度由多层速度场计算得到;

62、模块m15.2:采用基于刚性材料的方法模拟冰体,模拟的冰体具有刚体性质,同时根据冰的特性,在模拟过程中发生不同程度的破碎,采用几何剖分的方法计算冰的破碎,根据碰撞信息生成种子点,利用种子点对冰块进行切割,得到破碎后的冰块;

63、所述模块m16包括:

64、模块m16.1:根据冰块所在位置的水体速度信息,计算冰在水上的漂浮;

65、模块m16.2:根据冰块不同位置的水流速度差,计算水流对冰块的冲击作用;

66、模块m16.3:如果冰块发生碰撞,根据发生碰撞的位置及强度信息,计算冰块的破碎;

67、模块m16.4:计算冰块间的碰撞与堆积。

68、根据本发明提供的存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现所述的基于分阶段处理的大尺度相变模拟方法的步骤。

69、与现有技术相比,本发明具有如下的有益效果:

70、(1)本发明采用基于物理的方法,考虑多种自然因素,有效解决现有技术在相变模拟中规模小、自然影响因素缺失的问题;

71、(2)本发明使用基于波与刚性材料的方法进行实时的冰水模拟,并且考虑了冰的破碎与相互作用,有效解决现有技术在相变模拟过程中难以实时交互的问题;

72、(3)本发明通过分阶段的处理策略,在每一阶段解决特定问题,有效解决现有技术难以兼顾物理真实感与实时性能的问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1