首页 / 专利库 / 物理 / 非牛顿行为 / 基于流体力学与GPU优化渲染的可交互水墨模拟方法

基于流体学与GPU优化渲染的可交互墨模拟方法

阅读:240发布:2020-06-24

专利汇可以提供基于流体学与GPU优化渲染的可交互墨模拟方法专利检索,专利查询,专利分析的服务。并且一种基于 流体 力 学 与GPU优化 渲染 的可交互 水 墨模拟方法,可解决现有的水墨模拟方法不具备真实水墨流体运动模拟过程的实时性、多样性和不可预测性的技术问题。通过计算机设备执行以下步骤:基于粒子个体的受力规则实现流体运动模拟;将交互信息作为外力引入,实现对水墨流体流动规律的模拟;采用GPU Compute Shader进行优化运算;采用GPU可编程流水线进行场景绘制,采用GPU Shader 着色器 直接获取计算结果,同时渲染虚拟场景的内容。本 发明 实现水墨流体静止、运动状态以及流体和固体界壁间有相对运动时的相互作用和流动规律,并引入多种互动元素,为传统水墨文化艺术作品提供一种全新的演绎形式,为普通人提供一种全新的视觉体验。,下面是基于流体学与GPU优化渲染的可交互墨模拟方法专利的具体信息内容。

1.一种基于流体学与GPU优化渲染的可交互墨模拟方法,其特征在于:通过计算机设备执行以下步骤:
步骤S101、建立流体力学模型,对粒子受力规则分析,基于粒子个体的受力规则实现流体运动模拟;
步骤S102、基于流体运动模拟运算,采用传感器设备采集交互信息,进行固液交互分析,实现可交互流体模拟;
步骤S103、采用GPU Compute Shader对交互流体模拟运算进行优化,并将优化后的运算移植到GPU上;
步骤S104、基于流体模拟优化后的运算结果,采用GPU可编程流水线进行场景绘制,采用GPU Shader着色器直接获取计算结果,同时渲染虚拟场景的内容,并采用GPU Shader将流体运动结构、流体交互及虚拟场景最终渲染到显示介质上。
2.根据权利要求1所述的基于流体力学与GPU优化渲染的可交互水墨模拟方法,其特征在于:所述步骤S101建立流体力学模型,对粒子受力规则分析,基于粒子个体的受力规则实现流体运动模拟;
具体为基于光滑粒子流体力学算法,通过对粒子个体相互作用的描述,求解质点组的动力学方程和跟踪每个质点的运动轨道,基于粒子个体的受力规则实现流体运动模拟。
3.根据权利要求2所述的基于流体力学与GPU优化渲染的可交互水墨模拟方法,其特征在于:所述基于光滑粒子流体力学算法,通过对粒子个体相互作用的描述,求解质点组的动力学方程和跟踪每个质点的运动轨道,基于粒子个体的受力规则实现流体运动模拟;
步骤如下:
包括:对于每个单独的流体粒子,遵循最基本的顿第二定律,粒子受力 为:
其中,表示粒子运动的加速度矢量,m表示流体质量,而流体质量是由流体单元密度决定,所以用密度ρ代替质量,粒子受力 表示为:
在一个粒子上的作用力 包括三部分:外力项,压力项,粘度项;
外力项 计算公式为:
其中,ρ代表密度,代表重力加速度矢量;
压力项计算公式 为:
其中:p代表压力场; 表示压力场的梯度;
其中 表示哈密顿(Hamiltonian)算子,哈密顿算子的定义如下:
将哈密顿算子 作用于压力场p,得到压力场的梯度;
粘度项 表示为:
其中:
μ表示粘度系数,为常量;
代表速度变化场,即流体粒子之间的速度差;
其中 表示拉普拉斯(Laplace)算子,其定义如下:
拉普拉斯算子是二阶微分算子,不能单独存在,必须和其他符号放在一起使用,将其作用于A=f(x,y,z)时,得到
该运算为求标量函数梯度场的散度,将其作用于速度场 时,得到
获得速度变化场,即流体运动速度快的部分对于运动速度慢部分的剪切力;则所述一个粒子上的作用力外力项,压力项,粘度项具体表示为:
其加速度形式为:
假设流体中一个位置为 的点,得到该点的加速度 为
其中:
ρ(ri)为此处的密度;
p(ri)为此处的压力;
为此处的速度;
根据流体中某点的密度,压力,速度的累加函数,进而推导出此处的加速度,从而模拟流体的运动趋势。
4.根据权利要求3所述的基于流体力学与GPU优化渲染的可交互水墨模拟方法,其特征在于:所述步骤S102基于流体运动模拟运算,采用传感器设备采集交互信息,进行固液交互分析,实现可交互流体模拟;
具体为采用传感器设备,采集交互信息,将交互信息作为外力引入,结合固体和液体的交互求得力学行为对个体的运动的影响,模拟流体阻挡的状态,实现对水墨流体流动规律的模拟。
5.根据权利要求4所述的基于流体力学与GPU优化渲染的可交互水墨模拟方法,其特征在于:所述采用传感器设备,采集交互信息,将交互信息作为外力引入,结合固体和液体的交互求得力学行为对个体的运动的影响,模拟流体阻挡的状态,实现对水墨流体流动规律的模拟;具体步骤如下:
包括:
S1021、基于步骤S101计算结果的外力项 加入人机交互虚拟环境交互干扰因子,来实现液体和外界因素之间的相互影响;
S1022、基于步骤S101计算结果位置为 的点的加速度 对粒子个体运动引入固体作为影响因子,模拟固体对液体的影响,从而实现对个体的更加真实模拟。
6.根据权利要求5所述的基于流体力学与GPU优化渲染的可交互水墨模拟方法,其特征在于:所述S1021基于步骤S101计算结果的外力项 加入人机交互、虚拟环境交互干扰因子,来实现液体和外界因素之间的相互影响;
具体步骤包括:
采用计算公式,将外部干扰因素统一计算为作用外力
其中f(i)为外部干扰因素,k为控制常量。
7.根据权利要求5所述的基于流体力学与GPU优化渲染的可交互水墨模拟方法,其特征在于:所述步骤S1022基于步骤S101计算结果位置为 的点的加速度 对粒子个体运动引入固体作为影响因子,模拟固体对液体的影响,从而实现对个体的更加真实模拟;
具体包括:
将干扰区域的流体速度和运动趋势都设定为0,从模拟流体在遇到阻挡时的状态;
采用计算公式:
其中,O(ri)表示位置为 的位置中是否存在非流体交互对象,从而在模拟液体与固体的交互。
8.根据权利要求1所述的基于流体力学与GPU优化渲染的可交互水墨模拟方法,其特征在于:所述步骤S103采用GPU Compute Shader对交互流体模拟运算进行优化,并将优化后的运算移植到GPU上;
具体包括:
采用纹理保存流体运动数据,将流体的物理量数据保存在一张多维纹理中,通过纹理在CPU和GPU之间传递数据,从而为GPU计算建立数据保存和传输基础
采用GPU卷积实现流体力学计算,将复杂的哈密顿算子、拉普拉斯算子转换为图像纹理的卷积运算,充分利用GPU的并行结构。
9.根据权利要求8所述的基于流体力学与GPU优化渲染的可交互水墨模拟方法,其特征在于:所述步骤S104中采用GPU可编程流水线进行场景绘制,采用GPU Shader着色器直接获取计算结果,同时渲染虚拟场景的内容;
具体包括:
采用GPU Shader获取GPU Compute Shader卷积计算结果,并进行渲染;
采用不同水墨格材质系统绘制水墨视觉效果;
采用红外传感技术采集交互信息,实现画面与体验者的动态响应。
10.根据权利要求1所述的基于流体力学与GPU优化渲染的可交互水墨模拟方法,其特征在于:
所述步骤S102中的传感器设备具体包括:红外传感器、体感传感器、激光雷达中的一种。

说明书全文

基于流体学与GPU优化渲染的可交互墨模拟方法

技术领域

[0001] 本发明涉及计算机图形学技术领域,具体涉及一种基于流体力学与GPU优化渲染的可交互水墨模拟方法。

背景技术

[0002] 流体力学是力学的一个分支,主要研究在各种力的作用下,流体本身的静止状态和运动状态以及流体和固体界壁间有相对运动时的相互作用和流动规律。流体是气体和液体的总称,在人们的生活和生产活动中随时随地都可遇到流体。所以流体力学是与人类日常生活和生产事业密切相关的。水在管道、渠道、江河中的运动从古至今都是研究的对象。人们还利用水做功,如古老的水碓和近代高度发展的水轮机船舶一直是人们的交通运输工具,船舶在水中运动时所遇到的各种阻力,船舶稳定性以及船体和推进器在水中引起的空化现象,一直是船舶水动力学的研究课题。这些研究有关水的运动规律的分支学科称与流体力学息息相关。20世纪初世界上第一架飞机出现以来,飞机和其他各种飞行器得到迅速发展。20世纪50年代开始的航天飞行使人类的活动范围扩展到其他星球和河系。航空航天事业的蓬勃发展是同流体力学的分支学科——空气动力学和气体动力学的发展紧密相连的。这些学科是流体力学中最活跃、最富有成果的领域。除此之外,流体力学在石油和天然气的开采、地下水的开发利用、建筑物桥梁电缆等的作用使它们承受载荷和激发振动、废气和废水的排放造成环境污染、河床冲刷迁移和海岸遭受侵蚀等领域均有广泛的应用。
[0003] 同时,随着计算机图形图像学技术和计算机硬件技术的发展,计算机图形图像技术广泛应用于军事、教育、仿真、娱乐等领域。精彩的电影特效,身临其境的虚拟现实体验,逼真的游戏动画场景和精美的产品模型设计,无不体现着现代图形图像技术的强大能力,而计算机硬件技术的发展,为计算机图形图像学技术提供了物质保障,但是如何充分利用计算机硬件资源高效计算,也是一个重要的课题。因此如何充分发挥计算机图形图像学和计算机硬件技术的优势,实现水墨流体运动的高仿真模拟有着十分重要的意义。
[0004] 目前在水墨模拟领域,研究者们往往会通过MATLAB等专业软件建立数学模型,进行仿真的计算和研究。这种方式并不直观,较为晦涩。有的研究者为使模拟更加真实和直观,采用Maya等专业动画渲染软件对流体进行渲染,但基于动画制作软件渲染的水墨流体对象运动状态固定,且高质量的影像需要的渲染时间过长,不具备真实水墨流体运动模拟过程的实时性、多样性和不可预测性。

发明内容

[0005] (一)要解决的技术问题
[0006] 本发明提出的一种基于流体力学与GPU优化渲染的可交互水墨模拟方法,可解决现有的水墨模拟方法不具备真实水墨流体运动模拟过程的实时性、多样性和不可预测性的技术问题。
[0007] (二)技术方案
[0008] 为实现上述目的,本发明采用了以下技术方案:
[0009] 一种基于流体力学与GPU优化渲染的可交互水墨模拟方法,包括步骤:
[0010] 步骤1,实现一种基于光滑粒子流体力学算法,通过对粒子个体相互作用的描述,包括各个物质点上承载各种物理量,包括质量、速度等,通过求解质点组的动力学方程和跟踪每个质点的运动轨道,就可以实现整体性的流体运动的模拟;
[0011] 步骤2,将交互信息作为外力引入,并结合固体和液体的交互以求得整个系统的力学行为对个体的运动的影响,从而实现对水墨流体流动规律的模拟;
[0012] 步骤3,充分利用计算机的硬件优势,采用GPU Compute Shader进行优化运算,将运算移植到GPU上,大大提升运算效率。
[0013] 上述步骤1中设计并实现一种基于光滑粒子流体力学算法,通过对将连续的流体用相互作用的质点组来描述,各个物质点上承载各种物理量,包括质量、速度等,通过求解质点组的动力学方程和跟踪每个质点的运动轨道。在一个粒子上的作用力 由三部分组成:外力项,压力项,粘度项。
[0014] 外力项 计算公式为:
[0015]
[0016] 其中,ρ代表密度
[0017] 代表重力加速度矢量。
[0018] 压力项计算公式 为:
[0019]
[0020] 其中:
[0021] p代表压力场;
[0022] 表示压力场的梯度。
[0023] 其中 表示哈密顿(Hamiltonian)算子,哈密顿算子的定义如下:
[0024]
[0025] 将哈密顿算子 作用于压力场p,可以得到压力场的梯度。
[0026] 粘度项 表示为:
[0027]
[0028] 其中:
[0029] μ表示粘度系数,为常量;
[0030] 代表速度变化场,即流体粒子之间的速度差;
[0031] 其中 表示拉普拉斯(Laplace)算子,其定义如下:
[0032]
[0033] 可以获得速度变化场,即流体运动速度快的部分对于运动速度慢部分的剪切力。
[0034] 其中,一个粒子上的作用力外力项,压力项,粘度项可以表示为:
[0035]
[0036] 其加速度形式为:
[0037]
[0038] 假设流体中一个位置为 的点,可以得到该点的加速度 为
[0039]
[0040] 其中:
[0041] ρ(ri)为此处的密度;
[0042] p(ri)为此处的压力;
[0043] 为此处的速度。
[0044] 根据流体中某点的密度,压力,速度的累加函数,进而推导出此处的加速度,从而模拟流体的运动趋势。
[0045] 步骤2进一步包含以下子步骤:
[0046] 2-1基于步骤1计算结果的外力项 加入更多的干扰因素,加入人机交互虚拟环境交互等其他等干扰因子,来实现液体和外界因素之间的相互影响。步骤为,采用计算公式,将外部干扰因素统一计算为作用外力 其中f(i)为外部干扰因素,k为控制常量。
[0047] 2-2基于步骤1计算结果位置为 的点的加速度 对粒子个体运动引入固体作为影响因子,模拟固体对液体的影响,从而实现对个体的更加真实模拟。步骤为,采用计算公式:
[0048]
[0049] 其中,O(ri)表示位置为 的位置中是否存在非流体交互对象,从而在模拟液体与固体的交互。
[0050] 步骤3进一步对实现方法进行GPU Compute Shader优化,设计并实现一种基于GPU计算单元的算法结构,将每个对象的运动计算分配到每个计算单元上,充分利用GPU的强大并行计算能力,有效提升运算效率。
[0051] 还包括步骤4,面向粒子的可交互流体场景渲染方法,包括步骤:
[0052] 采用GPU Shader渲染流体水墨风格画面,采用GPU Shader可以直接获取GPU Computer Shader的计算结果,由于Computer Shader是基于GPU设备进行计算,通过图像纹理卷积实现流体力学计算,因此计算结果也可以保存在一个纹理对象中,可以直接实现GPU之间的数据传递,而不需要将计算结果传递给内存,而是直接在显存中传递给GPUShader进行修改和渲染,通过这种形式可以非常高效的渲染大量对象,对于高重复性的渲染工作具有十分重要的意义。
[0053] 进一步的,采用不同水墨风格材质系统绘制山水、渔船、飞等虚拟色,与动态的流体水墨共同构成一幅中国传统水墨画的视觉效果,
[0054] 进一步的,采用红外传感技术采集交互信息,实现画面与体验者的动态响应,有效提升水墨场景交互性和生动性。最终会渲染出更加丰富的水墨视觉效果。
[0055] (三)有益效果
[0056] 由上述技术方案可知,本发明的基于流体力学与GPU优化渲染的可交互水墨模拟方法通过流体运动模拟,基于物理世界中流体运动的规则,实现一种基于光滑粒子流体动力学算法的流体模拟方案,建立粒子系统,仅通过对粒子个体的运动约束,就可以实现整体性的流体运动的模拟。除此之外加入固液交互,使其变化更加丰富,表现更加真实。并采用GPU Compute Shader进行优化运算,大大提升运算效率。场景渲染:采用GPU可编程流水线进行场景绘制,采用GPU Shader着色器直接获取计算结果,同时渲染虚拟场景的内容,绘制出水墨风格场景,采用红外传感技术采集交互信息,实现画面与体验者的动态响应,有效提升水墨场景交互性和生动性。最终会渲染出更加丰富的水墨视觉效果。
[0057] 本发明通过实现一种流体运动算法,模拟水墨流体的运动行为,同时充分发挥计算机图形图像技术和计算机硬件技术优势,实现水墨流体静止、运动状态以及流体和固体界壁间有相对运动时的相互作用和流动规律,并引入多种互动元素,以提供一种新颖仿生学的模拟形式,同时能为普通人提供一种全新的视觉体验。附图说明
[0058] 图1是本发明方法的基本流程图
[0059] 图2是本发明水墨流体运动模拟基本流程图;
[0060] 图3是本发明场景渲染基本流程图;
[0061] 图4是本发明实施例的渲染效果图。

具体实施方式

[0062] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
[0063] 如图1所示,本实施例所述的基于流体力学与GPU优化渲染的可交互水墨模拟方法,主要分为两大步骤:
[0064] S10、流体运动模拟:实现一种基于光滑粒子流体力学算法,通过对粒子个体相互作用的描述,包括各个物质点上承载各种物理量,包括质量、速度等,通过求解粒子组的动力学方程和跟踪每个质点的运动轨道,就可以实现整体性的流体运动的模拟。除此之外将交互信息作为外力引入,并结合固体和液体的交互以求得整个系统的力学行为对个体的运动的影响,从而实现对水墨流体流动规律的模拟。并采用GPU Compute Shader进行优化运算,将运算移植到GPU上,大大提升运算效率。
[0065] S20、场景渲染:采用GPU可编程流水线进行场景绘制,采用GPUShader着色器直接获取计算结果,同时渲染虚拟场景的内容,绘制出水墨风格场景,采用红外传感技术采集交互信息,实现画面与体验者的动态响应,有效提升水墨场景交互性和生动性。最终会渲染出更加丰富的水墨视觉效果。
[0066] 下面详细说明每个步骤。
[0067] 其中S10流体运动模拟是指:通过计算机算法实现对水墨流体运动方式的模拟,应符合基本流体力学原理,能模拟水墨流体静止、运动状态以及流体和固体界壁间有相对运动时的相互作用和流动规律,并保证高效计算,实施模拟。
[0068] 如图2所示,本发明的运动模拟注意分成以下三步进行:
[0069] S11、实现一种基于光滑粒子流体力学算法,通过对粒子个体相互作用的描述,包括各个物质点上承载各种物理量,包括质量、速度等,通过求解质点组的动力学方程和跟踪每个质点的运动轨道,就可以实现整体性的流体运动的模拟。
[0070] S12、将干扰因素印日,将交互信息作为外力,并结合固体和液体的交互以求得整个系统的力学行为对个体的运动的影响,从而实现对水墨流体流动规律的模拟。
[0071] S13、对实现方法进行GPU Compute Shader优化,设计并实现一种基于GPU计算单元的算法结构,充分利用GPU的强大计算能力,有效提升运算效率。
[0072] 其中,S11中通过对将连续的流体用相互作用的质点组来描述,各个物质点上承载各种物理量,包括质量、速度等,通过求解质点组的动力学方程和跟踪每个质点的运动轨道;在一个粒子上的作用力 由三部分组成:外力项,压力项,粘度项。
[0073] 外力项 计算公式为:
[0074]
[0075] 其中,ρ代表密度
[0076] 代表重力加速度矢量。
[0077] 压力项计算公式 为:
[0078]
[0079] 其中:
[0080] p代表压力场;
[0081] 表示压力场的梯度。
[0082] 其中 表示哈密顿(Hamiltonian)算子,哈密顿算子的定义如下:
[0083]
[0084] 将哈密顿算子 作用于压力场p,可以得到压力场的梯度。
[0085] 粘度项 表示为:
[0086]
[0087] 其中:
[0088] μ表示粘度系数,为常量;
[0089] 代表速度变化场,即流体粒子之间的速度差;
[0090] 其中 表示拉普拉斯(Laplace)算子,其定义如下:
[0091]
[0092] 可以获得速度变化场,即流体运动速度快的部分对于运动速度慢部分的剪切力。
[0093] 一个粒子上的作用力外力项,压力项,粘度项可以表示为:
[0094]
[0095] 其加速度形式为:
[0096]
[0097] 假设流体中一个位置为 的点,可以得到该点的加速度 为
[0098]
[0099] 其中:
[0100] ρ(ri)为此处的密度;
[0101] p(ri)为此处的压力;
[0102] 为此处的速度。
[0103] 根据流体中某点的密度,压力,速度的累加函数,进而推导出此处的加速度,从而模拟流体的运动趋势。
[0104] 步骤S12是实现增加运动多样性:基于步骤S11计算结果位置为 的点的加速度对粒子个体运动引入固体作为影响因子,模拟固体对液体的影响,从而实现对个体的更加真实模拟。步骤S12具体步骤为,采用计算公式:
[0105]
[0106] 其中,O(ri)表示位置为 的位置中是否存在非流体交互对象,从而在模拟液体与固体的交互。
[0107] 步骤S13是进一步对实现方法进行GPU Compute Shader优化,设计并实现一种基于GPU计算单元的算法结构,将每个对象的运动计算分配到每个计算单元上,充分利用GPU的强大并行计算能力,有效提升运算效率。
[0108] 步骤S20场景渲染,实现一种面向粒子对象的场景渲染方法:如图3所示,首先,采用GPU Shader渲染流体水墨风格画面,采用GPU Shader可以直接获取GPU Computer Shader的计算结果,由于Computer Shader是基于GPU设备进行计算,通过图像纹理卷积实现流体力学计算,因此计算结果也可以保存在一个纹理对象中,可以直接实现GPU之间的数据传递,而不需要将计算结果传递给内存,而是直接在显存中传递给GPU Shader进行修改和渲染,通过这种形式可以非常高效的渲染大量对象,对于高重复性的渲染工作具有十分重要的意义。进一步的,采用不同水墨风格材质系统绘制山水、渔船、飞鸟等虚拟角色,与动态的流体水墨共同构成一幅完整的中国传统水墨画面,进一步的,采用红外传感技术采集交互信息,实现画面与体验者的动态响应,有效提升水墨场景交互性和生动性。最终会渲染出更加丰富的水墨视觉效果。最终渲染效果如图4所示。
[0109] 综上,本实施例的基于流体力学与GPU优化渲染的可交互水墨模拟方法,既满足真实世界中水墨流体运动的实时性、多样性、不可预测性的模拟需要,又能充分发挥计算机图形图像技术和计算机硬件技术优势,实现高效真实的渲染方法,有着十分重要的意义。通过本实施例的可交互数字水墨交互系统,体验者不仅可以观赏实时动态的水墨丹青,还可以与水墨山水进行交互,当体验者触碰装置时,水墨的流动会被影响,每一条墨线都根据流动的方向和速度在变化,画面中的游鱼也会胆怯的躲藏,同时搭配古琴和鸟鸣,以虚拟影像和人机交互的方式展示千年水墨的风采。
[0110] 以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈