基于流体模拟的3D模型设计方法、系统、介质及设备

文档序号:32986789发布日期:2023-01-17 22:51阅读:28来源:国知局
基于流体模拟的3D模型设计方法、系统、介质及设备
基于流体模拟的3d模型设计方法、系统、介质及设备
技术领域
1.本发明属于三维建模技术领域,尤其涉及一种基于流体模拟的3d模型设计方法、系统、介质及设备。


背景技术:

2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
3.由于流体的不确定性和复杂性,这种类型的雕塑创作极其困难,并不能为大众所设计创作。随着3d打印技术的进步与发展,激发了更多用户进行创意性三维模型设计,也将大众的视野从流体雕塑转移到了使用3d打印制作流体模型上。3d打印技术的出现方便了物品的生产制造过程,但在生产制造之前,还需要使用者手动建立流体模型,以生成可打印文件。
4.发明人发现,现有的辅助建模软件虽然提供了流体模拟的功能,但从设计模拟场景到重建流体表面的整个过程依旧需要用户拥有娴熟的建模技巧,这同样不适用于没有建模经验的人,而且设计3d模型过程复杂,即使经过建模软件设计出3d模型,并不一定符合最终要求,而为了最终满足要求,必须重新修改各个建模环节,使得修改过程也比较繁琐。


技术实现要素:

5.为了解决上述背景技术中存在的技术问题,本发明提供一种基于流体模拟的3d模型设计方法、系统、介质及设备,其不需要用户掌握建模的能力,仅仅通过修改参数即可获取对应的流体模型。
6.为了实现上述目的,本发明采用如下技术方案:
7.本发明的第一个方面提供一种基于流体模拟的3d模型设计方法。
8.一种基于流体模拟的3d模型设计方法,其包括:
9.将3d模型参数转换为流体仿真模拟参数,再基于流体仿真模拟系统的初始参数,仿真得到相应的流体粒子状态信息;
10.基于流体粒子状态信息依次进行孔洞补全及表面重建,得到对应流体模型;
11.筛选出预设要求的流体模型,得到相应3d模型,以用于3d打印。
12.作为一种实施方式,所述流体仿真模拟系统的初始参数包括底座边界模型的选择、流体流动的粘稠度、流体的形状大小、仿真模拟的总时长以及模型连续输出的时间间隔。
13.作为一种实施方式,所述流体仿真模拟系统的构建过程为:
14.使用基于粒子的拉格朗日视角的流体方仿真算法,选定隐式不可压缩sph的方法作为流体压力的求解算法,选定共轭梯度下降法迭代求解作为流体之间粘性力的计算方式。
15.作为一种实施方式,基于流体粒子状态信息进行孔洞补全的过程为:
16.遍历流体粒子,分析模型重建时可能会出现孔洞的位置,标记孔洞处粒子;
17.遍历孔洞粒子,根据孔洞处粒子的周围邻域粒子的分布,做加权主成分分析,构造贴合孔洞形状的填补核,并添加补全粒子对填补核进行填充,再对已添加粒子做平滑处理,使其贴合流体表面。
18.作为一种实施方式,进行孔洞补全的过程为:
19.使用基于粒子的各向异性核表面重建算法构建表面网格,使用marching cubes提取流体表面。
20.本发明的第二个方面提供一种基于流体模拟的3d模型设计系统。
21.一种基于流体模拟的3d模型设计系统,其包括:
22.流体仿真模拟模块,其用于将3d模型参数转换为流体仿真模拟参数,再基于流体仿真模拟系统的初始参数,仿真得到相应的流体粒子状态信息;
23.流体模型获取模块,其用于基于流体粒子状态信息依次进行孔洞补全及表面重建,得到对应流体模型;
24.3d模型打印模块,其用于筛选出预设要求的流体模型,得到相应3d模型,以用于3d打印。
25.作为一种实施方式,所述流体仿真模拟系统的初始参数包括底座边界模型的选择、流体流动的粘稠度、流体的形状大小、仿真模拟的总时长以及模型连续输出的时间间隔。
26.作为一种实施方式,所述流体仿真模拟系统的构建过程为:
27.使用基于粒子的拉格朗日视角的流体方仿真算法,选定隐式不可压缩sph的方法作为流体压力的求解算法,选定共轭梯度下降法迭代求解作为流体之间粘性力的计算方式。
28.作为一种实施方式,基于流体粒子状态信息进行孔洞补全的过程为:
29.遍历流体粒子,分析模型重建时可能会出现孔洞的位置,标记孔洞处粒子;
30.遍历孔洞粒子,根据孔洞处粒子的周围邻域粒子的分布,做加权主成分分析,构造贴合孔洞形状的填补核,并添加补全粒子对填补核进行填充,再对已添加粒子做平滑处理,使其贴合流体表面。
31.作为一种实施方式,进行孔洞补全的过程为:
32.使用基于粒子的各向异性核表面重建算法构建表面网格,使用marching cubes提取流体表面。
33.本发明的第三个方面提供一种计算机可读存储介质。
34.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的基于流体模拟的3d模型设计方法中的步骤。
35.本发明的第四个方面提供一种电子设备。
36.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的基于流体模拟的3d模型设计方法中的步骤。
37.与现有技术相比,本发明的有益效果是:
38.(1)本发明基于流体仿真模拟系统的初始参数,仿真得到相应的流体粒子状态信
息,基于流体粒子状态信息依次进行孔洞补全及表面重建,得到对应流体模型,最后筛选出预设要求的流体模型,得到相应3d模型以用于3d打印,这样对于没有建模经验的普通用户,仅通过调整系统面板所需参数,就能获得对应的可进行3d打印的流体模型,而且通过物理仿真的方式进行自动化建模,快速地完成了模型的生成,提高了可打印模型的构建效率。
39.(2)本发明提出了基于现有的表面提取算法的孔洞补全方法,该方法能够在表面重建之前通过添加流体粒子的方式对流体模型进行孔洞的补全,保证了可打印模型的有效性、完整性和功能性,减少了后续的填补处理操作。
40.本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
41.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
42.图1为本发明实施例一提供的基于流体模拟的3d模型设计方法的流程图;
43.图2为本发明实施例一提供的系统给予用户选择的参数面板示意图;
44.图3(a)为本发明实施例一提供的流体仿真模拟过程中输出的第一模型图;
45.图3(b)为本发明实施例一提供的流体仿真模拟过程中输出的第二模型图;
46.图3(c)为本发明实施例一提供的流体仿真模拟过程中输出的第三模型图;
47.图3(d)为本发明实施例一提供的流体仿真模拟过程中输出的第四模型图;
48.图4(a)为本发明实施例一提供的输出模型中第1帧的表面重建输出结果;
49.图4(b)为本发明实施例一提供的输出模型中第3帧的表面重建输出结果;
50.图4(c)为本发明实施例一提供的输出模型中第13帧的表面重建输出结果;
51.图4(d)为本发明实施例一提供的输出模型中第27帧的表面重建输出结果;
52.图5(a)为本发明实施例一提供的孔洞补全效果1示意图;
53.图5(b)为本发明实施例一提供的孔洞补全效果2示意图。
具体实施方式
54.下面结合附图与实施例对本发明作进一步说明。
55.应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
56.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
57.实施例一
58.参照图1,本实施例的一种基于流体模拟的3d模型设计方法,其包括:
59.步骤1:将3d模型参数转换为流体仿真模拟参数,再基于流体仿真模拟系统的初始参数,仿真得到相应的流体粒子状态信息。
60.其中,如图2所示,由用户依据面板提示选择必要参数,也就是所述流体仿真模拟系统的初始参数包括底座边界模型的选择、流体流动的粘稠度、流体的形状大小、仿真模拟的总时长以及模型连续输出的时间间隔。
61.将3d模型参数转换为流体仿真模拟参数的过程为:
62.依据系统中所设定的对应关系,将用户设置的内容转变为仿真系统可以使用的参数,如:使用流体仿真中的固体粒子代替用户选择的底座模型作为边界,流体流动的粘稠度转变为流体仿真中粘性力计算所需的粘度系数μ、流体的形状大小转变为流体粒子的数目并计算出每个粒子所在的位置。
63.所述流体仿真模拟系统的构建过程为:
64.使用基于粒子的拉格朗日视角的流体方仿真算法,选定隐式不可压缩sph的方法作为流体压力的求解算法,选定共轭梯度下降法迭代求解作为流体之间粘性力的计算方式。
65.具体地,系统初始化粒子信息,依据调整后的参数,为初始粒子申请存储空间;
66.使用iisph(implicit incompressible sph,隐式不可压缩sph)算法求解流体压力泊松方程,使用cg(conjugate gradient,共轭梯度下降法)迭代求解流体粘性力的泊松方程,以此构建本方法中流体仿真模拟的求解器,并对初始化后的流体粒子进行仿真模拟,为了让求解系统既能稳定运行,又不会过于缓慢,本方法选取的时间步长为0.001,模拟过程如图3(a)-图3(d)所示,本实施例中流体的粘稠度选择为1.5,边界形状选取为“cup”,初始粒子形状为长方体,长*宽*高取数为0.8*0.8*0.1,流体粒子数目为6k。
67.步骤2:基于流体粒子状态信息依次进行孔洞补全及表面重建,得到对应流体模型。
68.其中,基于流体粒子状态信息进行孔洞补全的过程为:
69.遍历流体粒子,分析模型重建时可能会出现孔洞的位置,标记孔洞处粒子;
70.遍历孔洞粒子,根据孔洞处粒子的周围邻域粒子的分布,做加权主成分分析,构造贴合孔洞形状的填补核,并添加补全粒子对填补核进行填充,再对已添加粒子做平滑处理,使其贴合流体表面。
71.进行孔洞补全的过程为:
72.使用基于粒子的各向异性核表面重建算法构建表面网格,使用marching cubes提取流体表面。
73.具体地,获取某时刻的仿真模拟状态,将其流体粒子的物理信息输入到表面重建系统中;
74.因在流体仿真中,每个粒子均会保存其周围邻域粒子的数目,而在模型孔洞易于出现的位置,其粒子的邻域粒子数目会低于均值,所以本方法遍历所有流体粒子,查看其邻域粒子的数目,当确定其邻域粒子数目小于均值时,标记此位置的粒子为孔洞粒子,并加入到孔洞粒子集合s中;
75.为了让填补粒子贴合孔洞形状,本方法分析孔洞的形状,遍历孔洞粒子集合s,并根据其周围邻域粒子的分布,使用加权主成分分析(wpca)的方法构建矩阵ci=∑jw
ij
(x
j-xi)(x
j-xi)
t
/∑jw
ij

76.其中xi为孔洞粒子的坐标位置,xj为其邻域粒子的坐标位置,h为核半径(依据流体仿真的算法所述,h通常设定为粒子半径的4倍),矩阵c刻画了孔洞粒子的周围邻域粒子的分布,为了使填补核可以根据矩阵c的特征值和特征向量进行旋转变形,就需要计算其逆矩阵g;
77.为每一个孔洞粒子构造一个以当前粒子为中心,以核半径h的两倍为填补半径的填补核w,在核内以粒子直径为间隔均匀地添加粒子,并计算其与孔洞粒子的距离向量r=x
i-xj,其中xi为孔洞粒子坐标,xj为所添加粒子的坐标。判断所添加粒子的距离向量r经矩阵g形变后的长度值||gr||是否小于核半径h,当小于条件满足时,即可将此添加粒子作为填补粒子加入到填补集合f中。
78.由于其填补位置并非由仿真模拟形成,其位置并不完全贴合平面,为了使添加后的粒子能够更加贴合表面,不形成“鼓包”,本方法对填补集合f中的填补粒子进行平滑处理,此步骤使用了拉普拉斯平滑的方法,即其中λ是光滑系数,一般取0.9~1.0,本方法取0.98,xi为填补粒子的坐标,xj为填补粒子fi的邻域粒子的坐标。
79.使用面向sph的各向异性核表面重建的方法从流体粒子以及填补粒子中构建表面网格;
80.使用marching cubes从表面网格中提取流体表面,本方法不固定等值面的值,计算所有表面网格点标量值的平均值avg,让等值面的值iso_value=avg*0.666,以此提取流体模型,如图4(a)-图4(d)所示,选取本实施例一的输出模型当中的第1、3、13、27帧的输出结果作为展示。填补孔洞的效果如图5(a)和图5(b)所示,其中左侧展示的是未进行孔洞补全的流体表面重建结果,右侧为执行孔洞补全后的表面重建结果,两张图均取同一帧结果作对比展示。
81.步骤3:筛选出预设要求的流体模型,得到相应3d模型,以用于3d打印。
82.将所有生成的流体模型陈列展出筛选出预设要求的流体模型,若此次陈列的模型均不符合用户的预期,可重复本方法,以获得所需模型。
83.最后,根据用户的选择进行模型的输出,并进行3d打印。
84.实施例二
85.本实施例提供了一种基于流体模拟的3d模型设计系统,其包括:
86.(1)流体仿真模拟模块,其用于将3d模型参数转换为流体仿真模拟参数,再基于流体仿真模拟系统的初始参数,仿真得到相应的流体粒子状态信息;
87.其中,所述流体仿真模拟系统的初始参数包括底座边界模型的选择、流体流动的粘稠度、流体的形状大小、仿真模拟的总时长以及模型连续输出的时间间隔。
88.具体地,所述流体仿真模拟系统的构建过程为:
89.使用基于粒子的拉格朗日视角的流体方仿真算法,选定隐式不可压缩sph的方法作为流体压力的求解算法,选定共轭梯度下降法迭代求解作为流体之间粘性力的计算方式。
90.(2)流体模型获取模块,其用于基于流体粒子状态信息依次进行孔洞补全及表面
重建,得到对应流体模型;
91.其中,基于流体粒子状态信息进行孔洞补全的过程为:
92.遍历流体粒子,分析模型重建时可能会出现孔洞的位置,标记孔洞处粒子;
93.遍历孔洞粒子,根据孔洞处粒子的周围邻域粒子的分布,做加权主成分分析,构造贴合孔洞形状的填补核,并添加补全粒子对填补核进行填充,再对已添加粒子做平滑处理,使其贴合流体表面。
94.进行孔洞补全的过程为:
95.使用基于粒子的各向异性核表面重建算法构建表面网格,使用marching cubes提取流体表面。
96.(3)3d模型打印模块,其用于筛选出预设要求的流体模型,得到相应3d模型,以用于3d打印。
97.此处需要说明的是,本实施例中的各个模块与实施例一中的各个步骤一一对应,其具体实施过程相同,此处不再累述。
98.实施例三
99.本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的基于流体模拟的3d模型设计方法中的步骤。
100.实施例四
101.本实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的基于流体模拟的3d模型设计方法中的步骤。
102.本发明是参照本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
103.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1