CN104050718B - 具有时空连续性的真实感三维流体场景合成方法 - Google Patents
具有时空连续性的真实感三维流体场景合成方法 Download PDFInfo
- Publication number
- CN104050718B CN104050718B CN201410315413.9A CN201410315413A CN104050718B CN 104050718 B CN104050718 B CN 104050718B CN 201410315413 A CN201410315413 A CN 201410315413A CN 104050718 B CN104050718 B CN 104050718B
- Authority
- CN
- China
- Prior art keywords
- scene
- particle
- fluid
- height
- wave component
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种具有时空连续性的真实感三维流体场景合成方法,该方法首先使用基于SFS的流体重建方法计算流体粒子的高度值,进而根据高度梯度对三维场景进行层次划分;然后在不同层中分别对流体波成分提取,并进行聚类,保证空间连续性;在对应层中对所得的类成分进行重排列及重定位,合成具有真实感的三维流体场景;对合成场景的过渡区域,采用对高度信息的平滑;建立高度与颜色的哈希映射表,对过渡区域粒子外观进行颜色重映射。对粒子的高度、颜色以及纹理坐标信息进行传递,从而得到了时序上连续的合成结果。本发明对于多种具有挑战性的流体场景合成以及不同规模的流体场景合成时,能够取得满意的合成结果。
Description
技术领域
本发明涉及一种三维空间中真实感流体大场景合成方法,根据流体视频的某一帧高度信息合成大规模的三维虚拟流体场景,实时合成的流体场景具有时空连续性和真实感,并且能够保持原有视频的全局特性。
背景技术
流体自然景观在客观世界中随处可见,流体场景合成被广泛的应用于计算机动画、电脑游戏、影视特技、军事管理等领域。目前流体自然景观的生成方法主要有两类:图形学中基于流体物理运动规律的仿真绘制方法和基于视频图像的流体场景的构建。过去的几十年里,基于物理的研究方法一直是计算机图形学领域的活跃的研究课题,利用这些方法进行复杂流体场景仿真时,昂贵的计算代价限制了这些仿真的时空连续性。随着仿真技术的进一步发展,出现了一些提高渲染速度建模方法:基于FFT(FastFourierTransform)的方法、基于Perlin噪声的方法、基于Gerstner模型的方法和基于分形的仿真方法。利用这些方法构建场景时,虽然可以准确得到某一时刻流体的运动状态,由于巨大的运算量和较高的算法复杂度,难以在普通微型计算机上实现大规模流体场景的实时仿真。
目前,在基于视频图像的流体自然景观绘制的研究中,缺乏与视频媒体真实感一致的流体建模和仿真。另外,随着仿真技术的发展,流体仿真需要大规模场景,视频能够提供流体场景的规模是有限的,因此,在实际仿真的应用中,如何充分利用流体视频的真实感外观及流体运动信息合成所需规模的流体场景,其研究具有一定的现实意义和实用价值。
发明内容
本发明的目的是针对现有技术中存在的真实感差、实时性不强、规模有限等问题而提供的一种具有时空连续性的真实感三维流体场景合成方法,利用该方法能在三维空间中实时合成具有真实感的保留有原视频全局特征的大规模的流体场景。
本发明的目的是这样实现的:
一种具有时空连续性的真实感三维流体场景合成方法,该方法包括以下具体步骤:
a)使用SFS获取场景的高度信息,将三维空间的流体场景进行分层。
为了获取三维空间的信息,我们使用SFS方法获取流体视频一帧的高度信息,从而得到它的三维信息。
为了使合成的场景更加真实,根据高度梯度将三维空间划分为上下两层,上层为运动较为剧烈的流体,下层则为较为平静的流体。之后分别在每一层上执行算法,保证流体的运动特征和随机性。
分层的具体步骤如下:
ⅰ)根据SFS得到的高度信息,按照式(6)计算粒子p(x,y)点的高度hs的梯度:
其中gh表示粒子p的高度梯度,表示px轴方向的高度差分,表示p在y轴方向的高度差分。
ⅱ)按照式(7)对每个粒子的高度梯度进行增强,使得运动剧烈的流体粒子与运动较为平缓的流体粒子能够便于区分;
gh=ghk (7)
其中k为增强因子。
ⅲ)遍历每个粒子,求所有粒子高度梯度最大值gm和最小值gn。
ⅳ)根据式(8)、(9)确定上、下两层粒子的区间,并将粒子分层:
[gn,gm-sg(gm-gn)) (8)
[gm-sg(gm-gn),gm] (9)
其中sg为比例因子,在研究中,对所有视频,sg取0.9能够取得满意的结果。
b)每一层中进行波成分提取与聚类
为使合成的流体场景具有真实感,并且能够保持原有流体场景的全局特征,本发明以波的理论为研究基础,在流体的不同层中提取出波成分。
根据流体的空间连续性,对具有相似特征的波成分进行聚类,再根据形成的类进行合成。这样不仅可以加快合成的速度,同时保证了合成场景的随机性和空间连续性。
Ⅰ)波成分提取,具体步骤:
ⅰ)根据该层的高度信息,选取该层中的极高点作为波峰,获取波峰的坐标和高度信息;
ⅱ)在图像设备坐标系中,水平向右为X轴,垂直向下为Y轴,垂直XOY平面向上方法为Z轴。根据波理论的3σ法则,波表面的粒子在XOY平面上的投影大部分落到以波峰作为中心点、以(即1.197hm)为半径的圆周范围内,即式(1)所在的区间。对于该层中任意未经处理的粒子,如果其在XOY平面的投影在投影半径以内,将其作为波中的粒子成分。
(-1.197hm,1.197hm) (1)
其中hm表示波峰的高度;
ⅲ)重复步骤ⅰ)、ⅱ)直到将该层的波成分全部提取出来。
iv)在各层中,分别执行步骤ⅰ)至步骤ⅲ),直到所有层中的波成分全部被提取出来。
Ⅱ)根据提取的波成分的信息对波成分聚类。具体步骤:
ⅰ)为该层的某个未进行类标记的波成分进行类标记Ci,且Ci之前未使用过,计算任意波成分与该波成分的距离di以及高度梯度距离gi;
ⅱ)如果di小于距离阈值Td,并且gi小于高度梯度阈值Tg,则将波成分fm的类标记置为Ci。
ⅲ)重复步骤ⅰ)、ⅱ)直到将该层的波成分都有了类标记,即该层中的波成分全部进行了聚类。
c)三维空间中大规模流体场景的合成
合成分为三个步骤:合成场景区域划分;区域内的合成及平滑拼接区域。
Ⅰ)合成场景区域划分,具体步骤:
ⅰ)在合成场景中选取一个没有被划分的粒子,根据式(10)计算其在原场景中的对应点坐标:
其中,(xO,yO)为合成场景中的粒子坐标,(xS,yS)为在原场景中对应粒子的坐标,sx和sy分别为场景在X轴、Y轴方向的放大倍数。
ⅱ)获取原场景中点(xS,yS)的类标记,将其赋值给合成场景中的粒子点(xO,yO)。
ⅲ)重复ⅰ)的操作直到合成场景中的粒子全部被划分到对应的区域。
II)区域内的合成步骤:
i)为每个类设置一个初次使用的标记,以便于对重复出现的类进行扰动,使合成结果更具有真实性。
ⅱ)计算原场景中每个类中的各波成分的波峰坐标的平均值,并将其作为该类的中心点。
ⅲ)在要合成的区域中,确定合成中心
对于合成场景中某个未处理的区域Rj,获取该区域的类标记Cj,如果该类标记在原场景中对应的类是上、下、左、右边界之一,根据式(2)设置区域Rj的中心点坐标;否则,在Rj中选取一个随机的位置作为其合成中心。
其中为区域Rj的合成中心,H为视频的垂直尺度,W为视频的水平尺度。
iv)利用原场景中的Cj类及其周围波成分进行合成。如果对应Cj类的类中心位置原场景中粒子的坐标为合成粒子的坐标为区域Rj的中心点坐标那么:
如果合成过程中粒子点对应的类不是首次使用,则对该粒子的高度进行小的扰动,即随机选取1.1或0.9对其高度进行调整。
v)重复步骤iv),直到区域Rj中充满粒子。
vi)重复步骤ⅲ)至步骤v)直到所有区域全部合成。
III)优化处理拼接区域,具体步骤:
ⅰ)查找合成场景中不同类的边界。
ⅱ)求取边界点的法向量,在法向量方向上对高度信息进行线性插值,在空域中产生连续的合成结果。
ⅲ)根据高度与颜色之间的关系,建立输入帧的高度和颜色之间的哈希表。具体为:
求取原视频帧的高度最大值Hx和最小值Hm,如果粒子高度为Hp,利用Hp计算其对应的灰度值Gp:
其中表示向下取整。
将Gp作为哈希表的灰度项,并将该粒子的颜色作为哈希颜色映射结果。
然后,根据建立的哈希表以及插值平滑后的高度信息,对过度区域粒子的颜色进行重映射。如果高度值对应多个哈希表中多个映射结果,则取它们中的任意一个进行映射。
ⅵ)对于后继帧处理时,传递流体视频的颜色、高度、纹理坐标信息,从而可以合成场景序列。
d)传递流体视频的颜色、高度、纹理坐标等信息,形成连续大规模的流体序列
在合成大规模场景的同时,记录合成场景与原场景的对应关系,将流体视频中的每一帧的信息,包括高度、颜色、纹理坐标信息,传递给大的场景,从而形成连续的保持流体全局特征的大规模的三维流体场景序列。同时对合成的每一帧大场景的边界点进行平滑处理和颜色重映射,使其能够具有更好的真实性。
本发明根据基于SFS的方法提取视频中一帧的高度信息合成三维流体场景,使用了层次划分、波成分提取和聚类、大场景合成以及高度信息的平滑和扰动、颜色映射等方法,提高了合成场景的真实感和随机性。同时,由于聚类算法的引入,合成速度大大提升。三维流体场景的合成方法使用原场景与合成场景的对应关系,以原场景中类的中心点为起始点,将其周围粒子重新投到合成区域中,进一步对类边界进行高度平滑和颜色重映射。本发明使用波成分提取和聚类方法,提高了合成大规模场景的效率,同时保持了流体的全局特性,使得合成的结果更加具有真实感。
附图说明
图1为本发明流程图;
图2为本发明层次分割结果示意图;
图3为本发明波成分提取以及聚类结果的示意图;
图4为本发明输入视频帧中的类与合成的大场景中的一个区域的对应关系示意图;
图5为本发明合成大场景过程中,重复使用的类的信息扰动结果示意图;
图6为本发明输入视频帧中的类与合成的大场景的区域的对应关系示意图;
图7为本发明拼接区域的平滑过渡展示图;
图8为本发明单帧合成的不同规模的结果展示图;
图9为本发明连续八帧的合成结果示意图。
具体实施方式
下面详细叙述本发明:
1、使用SFS(Shape From Shading)获取场景的高度信息,将三维空间的流体场景进行分层。
为了使合成的场景更加真实,根据高度梯度将三维空间划分为上下两层,上层表示运动较为剧烈的流体,下层表示较为平静的流体。
1)由SFS得到的三维场景的信息,为消除噪声的影响,使用高斯低通滤波器对高度信息进行平滑;
2)由于流体运动的剧烈程度不同,流体的高度梯度能够更好的反映流体的运动剧烈程度,故预先由式(6)计算出三维场景中各个粒子点的高度梯度变化;
其中gh表示每个粒子的高度梯度,hs(x,y)表示每个粒子的高度,表示该点粒子的高度信息在x轴方向的差分,表示该点粒子的高度信息在y轴方向的高度差分。
3)使用增强因子k按照式(7)增强高度梯度;
gh=ghk (7)
其中k为增强因子。
4)求取增强后的高度梯度的最大值gm和最小值gn;
5)根据式(8)、(9)确定上、下两层粒子的区间,并将粒子分层:
[gn,gm-sg(gm-gn)) (8)
[gm-sg(gm-gn),gm] (9)
其中sg为比例因子,对所有视频,sg取0.9能够取得满意的结果。
6)根据每个粒子的高度梯度,将每个粒子分到层中。
2、每一层中进行波成分提取与聚类
利用分层结果,在每一层上执行波成分提取,并对提取的波成分进行聚类,将输入场景划分成不同的类,其中每个类具有局部相似性,其具体步骤如下:
1)判断是否对该层中的所有粒子都进行了波成分标记处理,如果是,转步骤4),否则,进行下一步。
2)在该层中未进行波成分标记处理的粒子组成的区域R1中,选取高度极高的点作为波峰,获取波峰的坐标和高度信息。
3)根据波理论的3σ法则,将R1中在XOY平面上的投影落到以波峰作为中心点、以为半径的圆周范围内的粒子,标记为该波成分的粒子;转步骤1)。
4)根据提取的波成分的信息对波成分聚类,具体步骤:
ⅰ)计算任意两个波的距离以及波峰的高度梯度;
ⅱ)如果两个波的距离小于Td,并且高度梯度差小于Tg,则将这两个波成分标记为同一个类别;
|g1-g2|<Tg (12)
其中,(x1,y1)、(x2,y2)分别为两个粒子的坐标信息,g1、g2为两个粒子对应的高度梯度,Td为距离阈值,Tg为高度梯度的阈值。
5)该层的波成分提取聚类算法结束,对下一层,执行步骤1)到步骤5)。
3、三维空间中大规模流体场景的合成
利用波成分的聚类结果,通过顺序执行合成场景区域划分、区域内的合成以及平滑拼接区域实现三维空间中大规模流体场景的合成。如果流体场景的放大规模为(Rx,Ry),其场景合成的具体步骤如下:
1)对合成场景中粒子的类标记初始化为ci=0(i=0,1…np-1),np为合成场景中粒子的数目。
2)判断是否对所有粒子都进行了类标记,如果是,转步骤5);否则,执行下一步。
3)在合成场景中选取一个没有被划分的粒子(xO,yO),根据式(10)计算其在原场景中的对应点坐标(xS,yS):
其中,(xO,yO)为合成场景中的粒子坐标,(xS,yS)为在原场景中的对应粒子的坐标,sx和sy分别为X轴、Y轴方向的规模扩大因子。
4)获取原场景中点(xS,yS)的类标记Co,将其Co赋值给合成场景中的粒子点(xO,yO),转步骤2)。
5)计算原场景中每个类中的全部波成分的波峰坐标的平均值,并将其作为该类的中心点。
6)在合成场景中,将具有相同类标记的粒子组成的集合称为一个区域,判断是否对合成场景中所有区域都进行了合成,如果是,转步骤11);否则,假设新场景中任意一个未合成的区域Ri,执行下一步。
7)假设区域Ri的类标记为Ci,判断Ci在原场景中对应的类是否为上、下、左、右边界之一,如果是,根据式(2)设置区域Ri的中心点坐标;否则,在Ri中选取一个随机的位置作为其合成中心。
其中为区域Ri的合成中心,H为视频的垂直尺度,W为视频的水平尺度。
8)判断区域Ri中是否充满粒子,如果是,执行步骤6),否则,转到下一步。
9)如果对应Ci类的类中心位置原场景中粒子的坐标为合成粒子的坐标为区域Ri的中心点坐标判断粒子在原场景中所在的类是否是第一次使用,如果是,按照式(3)、(4)投到合成场景中,否则,将该粒子的高度信息进行随机扰动,即随机选择0.9或1.1对高度信息进行调整,再按照式(3)、(4)投到合成场景中,转步骤8)。
10)对区域Ri的边界点设置边界点标志,转步骤6)。
11)合成算法结束,转下一步。
12)对于原场景,建立颜色和高度的哈希映射关系。
a、根据原场景中所有粒子的高度信息,求其最大高度Hx和最小高度Hn。
b、判断原场景中是否每个粒子都处理过,如果是,转步骤d;否则,进行下一步。
c、选取一个未经处理的粒子p,建立p的高度与灰度值之间的映射,将最大的高度Hx映射为255,最小的高度Hn映射为0。根据粒子p的高度Hp,利用式(5)计算其哈希表中的灰度Gp:
其中表示向下取整。
将Gp作为哈希表的灰度项,并将该粒子的颜色作为哈希颜色映射结果。
d、哈希映射表创建算法结束。
13)判断具有边界点标记的点是否都已进行了高度平滑和颜色重映射,如果是,转步骤16,否则,执行下一步。
14)对以边界点中心点的,沿法线方向选取2n个点,进行线性插值和颜色重映射。
a、判断是否所有边界点都进行了高度平滑和颜色映射,如果是,转步骤g,否则,执行下一步。
b、选取任意一个未处理过的边界点,计算其法向量,沿法向量方向,以边界点为中心,左右各取n个点,组成待插值平滑的点集S,设定左边界点为Pl(xl,yl),右边界点为Pr(xr,yr),平滑中心点为P0(x0,y0)。
c、判断S中是否每个粒子都经过了高度平滑和颜色重映射,如果是,转步骤a;否则,选取S中的一个粒子q,转下一步。
d、粒子q的坐标点为Pi(xi,yi),其平滑后的高度,可由公式(13)求得:
h(xi,yi)=h0sh+hl(1-sh) (13)
h0(x0,y0)为点P0的高度信息,hl(xl,yl)为点Pl的高度信息,hi(xi,yi)为Pi平滑后的高度信息,sh为比例因子,可由求得。
e、根据粒子q拟合的高度,按照式(5)计算其在哈希表T中的高度项。根据该计算出的高度查找高度项对应的颜色值,如果高度值对应哈希表中多个映射结果,则取它们中的任意一个进行映射。
f、判断S中的点是否全部平滑,如果是,转步骤g,否则,执行步骤c。
g、平滑算法结束。
15)算法结束。
4、传递流体视频的颜色、高度、纹理坐标等信息,形成连续的大规模的流体序列
1)在合成大规模场景的同时,记录合成场景与原场景的对应关系。
2)根据存储的对应关系,从原视频帧中提取高度、颜色、纹理坐标信息,传递到合成各帧中,得到大规模场景序列。
实施例
本实施例采用DynTex动态纹理库中的54ab110、649cf10、649ci10、649cj10、649dc10、649dd10、649de10、649df10、649dg10、649dh10、649ea10进行实验。在PC机上Windows7操作系统下进行了计算,其硬件配置是2.66GHz Intel Core(TM)2Duo CPU、4GBRAM。
1)利用现有的基于SFS的流体重建方法恢复流体一帧的表面高度信息。
2)按照式(6)计算每个粒子的高度梯度,并通过式(7)增强高度梯度,式(7)中k
为增强因子,取值100。
其中gh表示每个粒子的高度梯度,hs(x,y)表示每个粒子的高度,表示该点粒子的
高度信息在x轴方向的差分,表示该点粒子的高度信息在y轴方向的高度差分。
gh=kgh (7)
3)找到增强后的高度梯度的最大值gm和最小值gn,根据式(8)、(9)计算出每一层的高度梯度范围,其中式(8)计算出来的范围为上层区域的高度梯度范围,式(9)计算出来的范围为下层区域的高度梯度范围,其中sg为比例因子,取值为0.9;
[gn,gm-sg(gm-gn)) (8)
[gm-sg(gm-gn),gm] (9)
4)在每层上,选取高度最高的点作为波成分的波峰,根据3σ法则将未被处理且在XOY平面的投影落到式(1)的区间的粒子标记为波成分粒子。
(-1.197hm,1.197hm) (1)
5)重复步骤4),直到该层中的粒子全部被标记为波成分。
6)选取某个未被进行类标记的波成分,将其进行类标记,同时计算该波成分的波峰与其他未被标记的波成分的距离以及高度梯度差,若满足式(11)、(12),则将其波成分中的粒子赋值为与选定的波成分相同的类标记。
|g1-g2|<Tg (12)
(x1,y1)、(x2,y2)分别为两个粒子的坐标信息,g1、g2为两个粒子对应的高度梯度,Td为位置坐标信息的阈值,上层中Td取80,下层取50。Tg为粒子高度梯度的阈值,上层中Tg取0.1,下层取0.05。
7)重复步骤6),直到波成分全部进行了类标记,具有相同类标记的粒子作为一个类。
8)计算每个类中波峰的坐标的平均值,将其作为该类的中心点。
9)根据式(10)计算合成场景与原场景的对应关系,将原场景的类标记赋值给对应的合成场景中的粒子点,从而将合成场景划分成多个区域。
其中,(xO,yO)为合成场景中的粒子坐标,(xS,yS)为在原场景中的对应粒子的坐标,sx和sy分别为X轴、Y轴方向的规模扩大因子。
10)对于未被处理的区域R,如果其在原场景中对应的类为上、下、左、右边界之一,根据式(2)设置区域Ri的中心点坐标;否则,在Ri中选取一个随机的位置作为其合成中心(xn,yn)。
其中为区域Ri的合成中心,H为视频的垂直尺度,W为视频的水平尺度。
11)将原场景中该类中心(xk,yk)以及附近波成分通过式(8)、(9)进行合成,为原场景中的粒子,为投到合成场景区域的粒子。
12)重复步骤11),直到区域R中全部填满粒子。
13)标记该区域中的边界点粒子。
14)重复步骤10)到步骤13),直到合成场景中的区域全部被填满,则合成成功。
15)选取未被处理过的边界点粒子,计算其法向量,按照法向量方向,以边界点粒子为中心向两边分别取10个点,按照式(13)进行线性插值。
h(xi,yi)=h0sh+hl(1-sh) (13)
h0(x0,y0)为点P0的高度信息,hl(xl,yl)为点Pl的高度信息,hi(xi,yi)为Pi平滑后的高度信息,sh为比例因子,可由求得。
16)根据步骤15)获得的21个粒子的新的高度值,使用哈希映射表T,对插值的粒子进行颜色重映射。
17)利用步骤1)得到的高度信息以及颜色信息,通过式(5)建立高度与颜色值的哈希映射表T。
其中表示向下取整
18)重复步骤16)、17),直到所有的边界点粒子全部进行了线性插值平滑和颜色重映射。
19)根据步骤1)获取下一帧流体的高度信息,由第一帧合成过程中记录的原场景和合成场景中粒子的对应关系,将该步骤获得到的高度、颜色、纹理坐标信息投到新一帧的合成大场景中,执行步骤15)-18)。
合成结果参照图8及图9。从图8可以看出合成结果保留了原有视频流体的特征,同时扩大了原场景的规模,合成的大规模的三维流体场景能够保持原视频流体的运动特征,并且具有流体的高度信息,保持了流体运动及外观的随机特征。图9中可以看到连续八帧的连续性较好,具有真实感,能反映流体连续运动的特征,同时保留了原场景的运动特性。
从图8、9中可以看出本发明取得的良好效果。为了更进一步说明本发明的实时性,使用时间统计,显示合成大规模场景时,第一帧的合成时间,以及之后连续100帧的平均合成时间。表1为统计的结果,单位毫秒。
表1
从表1中可以看到平均下来的每一帧的合成时间都不大,能够满足实时性的要求,说明本发明不仅满足外观特征的一致性,同时也保证了合成大规模场景的实时性要求。
Claims (1)
1.一种具有时空连续性的真实感三维流体场景合成方法,其特征在于该方法包括以下具体步骤:
a)使用SFS方法获取原场景的高度信息,根据增强的高度梯度将三维空间的流体场景分成上下两层;
根据流体的高度信息,将运动较为剧烈和平缓的流体分开,具体包括:
ⅰ)按照式(6)计算每个粒子p(x,y)点的高度hs的梯度:
其中gh表示粒子p的高度梯度,表示p在x轴方向的高度差分,表示p在y轴方向的高度差分;
ⅱ)按照式(7)对每个粒子的高度梯度进行增强,使得运动剧烈的流体粒子与运动较为平缓的流体粒子能够便于区分;
gh=ghk (7)
其中k为增强因子;
ⅲ)遍历每个粒子,求所有粒子高度梯度最大值gm和最小值gn;
ⅳ)根据式(8)、(9)确定上、下两层粒子的区间,并将粒子分层:
[gn,gm-sg(gm-gn)) (8)
[gm-sg(gm-gn),gm] (9)
其中sg为比例因子;
b)在原视频帧的每层中进行波成分提取与聚类
将流体表面每个独立的成分称为波成分;利用波的研究理论中3σ法则,提取出每层的波成分,并根据波成分之间的距离以及波成分的高度变化特征,对波成分进行聚类处理,具体包括:
Ⅰ)波成分提取
ⅰ)根据该层中高度信息,选取极高点作为波峰,获取波峰的坐标和高度信息;
ⅱ)在图像设备坐标系中,水平向右为X轴,垂直向下为Y轴,垂直XOY平面向上方法为Z轴;高度采用归一化的结果;根据3σ法则,在XOY平面上,以波峰的投影作为中心,将其X或Y投影在式(1)所示区域的所有粒子,分离出来并将其作为一个波成分;
(-1.197hm,1.197hm) (1)
式中hm表示波峰的高度;
ⅲ)重复步骤ⅰ)、ⅱ)将各层中波成分全部提取出来;
Ⅱ)根据提取的波成分的信息对波成分聚类
ⅰ)计算任意两个波的距离以及波峰的高度梯度;
ⅱ)如果两个波的距离小于距离阈值Td,并且高度梯度差小于高度梯度阈值Tg,则将这两个波成分标记为同一个类别,记为原场景每层中类标记结果;
c)利用类的标记结果,通过波成分的重定位处理,在三维空间中合成流体场景设流体场景在X轴和Y轴方向的放大规模分别为Rx和Ry,具体合成步骤如下:
ⅰ)利用在原场景每层中类标记结果,以及原视频帧与合成场景中粒子坐标的对应关系,将合成场景划分成多个区域,每个区域对应一个类;
ⅱ)对应合成场景中的任意一个区域Ri的合成,先确定合成中心;如果Ri是上、下、左、右边界之一,其合成中心计算为:
其中为区域Ri的合成中心,H为视频的垂直尺度,W为视频的水平尺度;
如果Ri不是边界区域,那么在Ri中选取一个随机的位置作为其合成中心
如果Ri所在的类为Ci,利用原场景中对应的Ci类及其周围波成分进行合成;利用对应Ci类中所有波峰的位置均值作为它的类中心位置那么如果原场景中粒子的坐标为合成粒子的坐标为那么:
ⅲ)重复步骤ⅱ),直到所有的区域都合成完毕;
ⅳ)对过渡区域的几何进行平滑;先求取边界点的法相量,在法相量方向上对高度信息进行线性插值,在空域中产生连续的合成结果;
v)根据高度与颜色之间的关系,建立输入帧的高度和颜色之间的哈希表;
首先,求取原视频帧的高度最大值Hx和最小值Hm,如果粒子高度为Hp,利用Hp计算其对应的灰度值Gp:
其中表示向下取整;
将Gp作为哈希表的key值,并将该粒子的颜色作为哈希表的value值,从而得到高度与颜色之间的哈希表;
然后,根据建立的哈希表以及插值平滑后的高度信息,对过度区域粒子的颜色进行重映射;如果高度值对应多个哈希表中多个映射结果,则取它们中的任意一个进行映射;
ⅵ)对于后继帧处理时,传递流体视频的颜色、高度及纹理坐标信息,从而合成三维流体场景序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410315413.9A CN104050718B (zh) | 2014-07-03 | 2014-07-03 | 具有时空连续性的真实感三维流体场景合成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410315413.9A CN104050718B (zh) | 2014-07-03 | 2014-07-03 | 具有时空连续性的真实感三维流体场景合成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104050718A CN104050718A (zh) | 2014-09-17 |
CN104050718B true CN104050718B (zh) | 2017-02-15 |
Family
ID=51503486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410315413.9A Expired - Fee Related CN104050718B (zh) | 2014-07-03 | 2014-07-03 | 具有时空连续性的真实感三维流体场景合成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104050718B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105957152B (zh) * | 2016-06-21 | 2018-10-30 | 西安工程大学 | 一种台阶性边缘曲面重建的方法 |
CN109712221B (zh) * | 2018-12-21 | 2022-08-16 | 成都四方伟业软件股份有限公司 | 三维可视化渲染方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09293146A (ja) * | 1996-04-26 | 1997-11-11 | Nec Corp | 可視化処理方法 |
CN101324963A (zh) * | 2008-07-24 | 2008-12-17 | 上海交通大学 | 基于静止图像的流体视频合成方法 |
CN102855400A (zh) * | 2012-09-10 | 2013-01-02 | 北京航空航天大学 | 一种基于投影网格的海洋表面建模及实时光照方法 |
CN103646428A (zh) * | 2013-11-29 | 2014-03-19 | 华东师范大学 | 一种3d流体场景的合成方法 |
CN103871096A (zh) * | 2014-01-24 | 2014-06-18 | 华东师范大学 | 三维空间中真实感流体场景合成方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7257518B2 (en) * | 2001-02-28 | 2007-08-14 | Felix Alba Consultants, Inc. | Fundamental method and its hardware implementation for the generic prediction and analysis of multiple scattering of waves in particulate composites |
-
2014
- 2014-07-03 CN CN201410315413.9A patent/CN104050718B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09293146A (ja) * | 1996-04-26 | 1997-11-11 | Nec Corp | 可視化処理方法 |
CN101324963A (zh) * | 2008-07-24 | 2008-12-17 | 上海交通大学 | 基于静止图像的流体视频合成方法 |
CN102855400A (zh) * | 2012-09-10 | 2013-01-02 | 北京航空航天大学 | 一种基于投影网格的海洋表面建模及实时光照方法 |
CN103646428A (zh) * | 2013-11-29 | 2014-03-19 | 华东师范大学 | 一种3d流体场景的合成方法 |
CN103871096A (zh) * | 2014-01-24 | 2014-06-18 | 华东师范大学 | 三维空间中真实感流体场景合成方法 |
Non-Patent Citations (2)
Title |
---|
一种流体运动矢量计算的有效方法;全红艳等;《计算机学报》;20130930;第36卷(第9期);第1889页至第1897页 * |
真实感流体实时重建;俞铭琪等;《计算机辅助设计与图形学学报》;20130531;第25卷(第5期);第622页至第630页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104050718A (zh) | 2014-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kelly et al. | FrankenGAN: guided detail synthesis for building mass-models using style-synchonized GANs | |
CN104123747B (zh) | 多方式触控三维建模方法和系统 | |
CN102147928B (zh) | 一种基于粒子系统的火焰模拟加速改进算法 | |
CN105205861B (zh) | 基于Sphere‑Board的树木三维可视化模型实现方法 | |
CN104318605B (zh) | 矢量实线与三维地形的并行贴合渲染方法 | |
CN104392480B (zh) | 以内外存交换方式实现基于点的全局光照效果的渲染方法 | |
CN103854301A (zh) | 基于复杂背景下可见外壳的三维重建方法 | |
CN108573231A (zh) | 基于运动历史点云生成的深度运动图的人体行为识别方法 | |
CN107689079A (zh) | 一种卫星云图与自然图像结合的云景重建方法 | |
CN111028335A (zh) | 一种基于深度学习的点云数据的分块面片重建方法 | |
CN104217461B (zh) | 一种基于深度图模拟实时凹凸效果的视差映射方法 | |
CN106251281B (zh) | 一种基于形状插值的图像渐变方法 | |
CN102930583A (zh) | 互动式生成液滴效果的方法 | |
CN1828671A (zh) | 基于图像的服装虚拟展示系统中的网格纹理映射方法 | |
CN103049931A (zh) | 基于粒子系统的云团快速三维仿真算法 | |
CN105069829B (zh) | 一种基于多目视频的人体动画生成方法 | |
CN104050718B (zh) | 具有时空连续性的真实感三维流体场景合成方法 | |
CN102567465A (zh) | 复眼视觉基础上的三维模型几何相似性搜索方法 | |
CN1920880A (zh) | 一种基于视频流的人脸表情幻想方法 | |
CN103646428B (zh) | 一种3d流体场景的合成方法 | |
CN103617593A (zh) | 三维流体物理动画引擎的实现方法及装置 | |
CN103871096B (zh) | 三维空间中真实感流体场景合成方法 | |
Zhu et al. | Variational building modeling from urban MVS meshes | |
CN102831616B (zh) | 一种视频流体运动矢量计算方法 | |
Su et al. | View frustum culling algorithm based on optimized scene management structure |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170215 Termination date: 20190703 |