流体模拟渲染方法及装置的制作方法

文档序号:6435885阅读:236来源:国知局
专利名称:流体模拟渲染方法及装置的制作方法
技术领域
本发明涉及计算机图像渲染技术领域,尤其涉及一种流体模拟渲染方法及装置。
技术背景
在计算机图像渲染领域,通过求解Navier-Stokes方程进行流体模拟渲染的方法已经取得了巨大的成功。
然而,在产生足够的流体细节方面,流体模拟受到了当前有限的计算能力的制约, 因而成为了研究人员一直以来关心的重要问题。与计算物理不同,流体模拟渲染结果并不需要与现实情况完全一致,只需在视觉上获得令人满意的效果。
这意味着可以利用视点的信息对流体的不同部分进行不同精度的模拟。这一技术通常被称为“细节分层”技术。如Oliva et al.在2006年发表的“Hybrid Images,,中,利用了距视点较近的区域高频分量较为重要,距视点较远的区域低频分量较为重要的特点, 获得了一定的模拟加速。
在3D流体模拟方面,针对如何控制在获取更多细节中所需的计算量的问题,存在一些算法。如 Losasso et al.在 2004 年发表的"Simulating water and smoke with an octree data structure” 一文中,通过减少空间划分网格中那些不含精细运动的部分的计算加速模拟。这一方法的缺点在于必须维护较为复杂的数据结构。Kim等于2008年发表“Wavelet turbulence for fluid simulation”,提出利用低精度下的模拟结果指导高精度的模拟过程,使得艺术家调节过程中预览的结果与最终结果较为一致。Yoon et al 在 2009 年发表的"Procedural synthesis using vortex particle method for fluid simulation” 一文,提出可以用“旋度子”来加入高频率的涡旋效果。这些方法需要在 Navier-Stokes方程之外引入其他变量,因此其模拟结果将与真实物理情形有所偏离。
在基于视点的模拟渲染方面,Barran等在2006年发表“ViewD印endent Fluid Dynamics” 一文中,将整个模拟区域划分成为薄层结构,但其视点被视作始终固定在场景一个定点,并且整个模拟区域内的模拟精度相同,从而使流体模拟渲染速度较慢,并且浪费了系统资源。发明内容
(一)要解决的技术问题
本发明要解决的技术问题是提供一种流体模拟渲染方法及装置,其能够提高流体模拟渲染的速度和精细度,同时可以有效地节约系统资源。
( 二 )技术方案
为解决上述问题,本发明提供了一种流体模拟渲染方法,包括以下步骤
A 利用空间填充曲线将二维或三维空间的流体流场一维化;
B 根据用户视点确定的流场内不同区域的重要性,并利用经验模态分解算法将一维化后的流体流场分解为不同频率的分量;
C 根据分解结果对所述不同频率的分量进行不同精度的模拟;
D 将各分量的模拟结果加和得到总体的模拟结果作为输出。
优选地,所述步骤A进一步包括以二维或三维的流体流场网格作为输入,通过空间填充曲线逐个遍历每个格点的速度矢量,输出一维的流体流场。
优选地,所述步骤B进一步包括提取距离视点较近的区域中的高频分量作为第一层,剩余部分加入距离视点次近区域进一步提取其中的高频分量作为第二层,重复上述方法,直至流场被全部划分为不同频率与重要性的分层。
优选地,所述步骤C进一步包括对离视点较近、频率较高的分量采用较高的精度进行模拟,而对离视点较远,频率较低的分量采用较低的精度进行模拟。
一种利用前述方法进行流体模拟渲染的装置,包括
一维化模块,用于利用空间填充曲线将二维或三维空间的流体流场一维化;
流场分解模块,用于根据用户视点确定的流场内不同区域的重要性,并利用经验模态分解算法将一维化后的流体流场分解为不同频率的分量;
模拟渲染模块,用于根据分解结果对所述不同频率的分量进行不同精度的模拟;
加和模块,用于将各分量的模拟结果加和得到总体的模拟结果。
优选地,所述装置还包括高维流场处理模块,用于以二维或三维的流体流场网格作为输入,通过空间填充曲线逐个遍历每个格点的速度矢量,输出一维的流体流场。
优选地,所述装置还包括分层模块,用于提取距离视点较近的区域中的高频分量作为第一层,剩余部分加入距离视点次近区域进一步提取其中的高频分量作为第二层,重复上述方法,直至流场被全部划分为不同频率与重要性的分层。
优选地,所述装置还包括精度分配模块,用于对离视点较近、频率较高的分量采用较高的精模拟度,而对离视点较远,频率较低的分量采用较低的模拟精度。
(三)有益效果
本发明通过利用空间填充曲线将多维空间一维化,并利用经验模态分解算法分析流体的不同频率分量、将不同频率分量进行不同精度的模拟,从而能够提高流体模拟渲染的速度和精细度,同时,本发明可以根据用户的视点关注区域不同,自动地改变重点模拟部分与其他部分的模拟精度,从而能够有效地节约系统资源。本发明所述方法可以应用于气体,液体等流体的模拟,可以处理流场中存在静止或者运动物体的情形。


图1为本发明实施方式中所述流体模拟渲染方法的流程图2为本发明实施方式中所述进行流体模拟渲染的装置的结构示意图3为本发明实施方式中所述三维空间的流体流场模拟渲染的流程图4为本发明实施方式中所述二维空间流体流场使用本发明所述方法进行模拟渲染后的效果图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
如图1所示,本发明所述的流体模拟渲染方法,包括以下步骤
A 利用空间填充曲线将二维或三维空间的流体流场一维化;
B 根据用户视点确定的流场内不同区域的重要性,并利用经验模态分解算法将一维化后的流体流场分解为不同频率的分量;
C 根据分解结果对所述不同频率的分量进行不同精度的模拟;
D 将各分量的模拟结果加和得到总体的模拟结果作为输出。
优选地,所述步骤A进一步包括以二维或三维的流体流场网格作为输入,通过空间填充曲线逐个遍历每个格点的速度矢量,输出一维的流体流场。
优选地,所述步骤B进一步包括提取距离视点较近的区域中的高频分量作为第一层,剩余部分加入距离视点次近区域进一步提取其中的高频分量作为第二层,重复上述方法,直至流场被全部划分为不同频率与重要性的分层。
优选地,所述步骤C进一步包括对离视点较近、频率较高的分量采用较高的精度进行模拟,而对离视点较远,频率较低的分量采用较低的精度进行模拟。
如图2所示,本发明所述的利用前述方法进行流体模拟渲染的装置,包括
一维化模块1,用于利用空间填充曲线将二维或三维空间的流体流场一维化;
流场分解模块2,用于根据用户视点确定的流场内不同区域的重要性,并利用经验模态分解算法将一维化后的流体流场分解为不同频率的分量;
模拟渲染模块3,用于根据分解结果对所述不同频率的分量进行不同精度的模拟;
加和模块4,用于将各分量的模拟结果加和得到总体的模拟结果。
优选地,所述装置还包括高维流场处理模块5,用于以二维或三维的流体流场网格作为输入,通过空间填充曲线逐个遍历每个格点的速度矢量,输出一维的流体流场。
优选地,所述装置还包括分层模块6,用于提取距离视点较近的区域中的高频分量作为第一层,剩余部分加入距离视点次近区域进一步提取其中的高频分量作为第二层,重复上述方法,直至流场被全部划分为不同频率与重要性的分层。
优选地,所述装置还包括精度分配模块7,用于对离视点较近、频率较高的分量采用较高的精模拟度,而对离视点较远,频率较低的分量采用较低的模拟精度。
以三维空间的流体流场为例,其模拟渲染方法流程如图3所示。
如图4所示,以二维空间的流体流场为例,使用了本发明所述方法后,可以明显地观察到流场中流体的细微运动与涡旋。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
权利要求
1.一种流体模拟渲染方法,其特征在于,包括以下步骤A 利用空间填充曲线将二维或三维空间的流体流场一维化;B 根据用户视点确定的流场内不同区域的重要性,并利用经验模态分解算法将一维化后的流体流场分解为不同频率的分量;C 根据分解结果对所述不同频率的分量进行不同精度的模拟;D 将各分量的模拟结果加和得到总体的模拟结果作为输出。
2.如权利要求1所述的流体模拟渲染方法,其特征在于,所述步骤A进一步包括以二维或三维的流体流场网格作为输入,通过空间填充曲线逐个遍历每个格点的速度矢量,输出一维的流体流场。
3.如权利要求1所述的流体模拟渲染方法,其特征在于,所述步骤B进一步包括提取距离视点较近的区域中的高频分量作为第一层,剩余部分加入距离视点次近区域进一步提取其中的高频分量作为第二层,重复上述方法,直至流场被全部划分为不同频率与重要性的分层。
4.如权利要求1所述的流体模拟渲染方法,其特征在于,所述步骤C进一步包括对离视点较近、频率较高的分量采用较高的精度进行模拟,而对离视点较远,频率较低的分量采用较低的精度进行模拟。
5.一种利用如权利要求1-4中任一项所述的方法进行流体模拟渲染的装置,其特征在于,包括一维化模块(1),用于利用空间填充曲线将二维或三维空间的流体流场一维化;流场分解模块O),用于根据用户视点确定的流场内不同区域的重要性,并利用经验模态分解算法将一维化后的流体流场分解为不同频率的分量;模拟渲染模块(3),用于根据分解结果对所述不同频率的分量进行不同精度的模拟;加和模块,用于将各分量的模拟结果加和得到总体的模拟结果。
6.如权利要求5所述进行流体模拟渲染的装置,其特征在于,还包括高维流场处理模块(5),用于以二维或三维的流体流场网格作为输入,通过空间填充曲线逐个遍历每个格点的速度矢量,输出一维的流体流场。
7.如权利要求5所述进行流体模拟渲染的装置,其特征在于,还包括分层模块(6),用于提取距离视点较近的区域中的高频分量作为第一层,剩余部分加入距离视点次近区域进一步提取其中的高频分量作为第二层,重复上述方法,直至流场被全部划分为不同频率与重要性的分层。
8.如权利要求5所述进行流体模拟渲染的装置,其特征在于,还包括精度分配模块 (7),用于对离视点较近、频率较高的分量采用较高的精模拟度,而对离视点较远,频率较低的分量采用较低的模拟精度。
全文摘要
本发明公开了一种流体模拟渲染方法,涉及计算机图像渲染技术领域,包括以下步骤A利用空间填充曲线将二维或三维空间的流体流场一维化;B根据用户视点确定的流场内不同区域的重要性,并利用经验模态分解算法将一维化后的流体流场分解为不同频率的分量;C根据分解结果对所述不同频率的分量进行不同精度的模拟;D将各分量的模拟结果加和得到总体的模拟结果作为输出。本发明能够提高流体模拟渲染的速度和精细度,同时可以有效地节约系统资源。
文档编号G06T13/80GK102509332SQ20111031917
公开日2012年6月20日 申请日期2011年10月19日 优先权日2011年10月19日
发明者任博, 李晨锋, 胡事民, 高岳 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1