当前位置: 首页 > 专利查询>东北大学专利>正文

基于流线生长法的纹理生成方法技术

技术编号:12025344 阅读:106 留言:0更新日期:2015-09-10 10:16
本发明专利技术涉及一种基于流线生长法的纹理生成方法,属于科学计算可视化领域。该方法首先用扫描线点定位法对矢量场中每个像素点进行点定位和插值;然后用流线生长法生成每一帧的静态的流线纹理;再利用粒子轨迹法生成当前帧的迹线纹理;最终将利用流线生长法得到的每帧流线纹理和利用粒子轨迹法生成的迹线纹理合成,得到每帧的输出纹理,循环播放每一帧,得到最终的动态的纹理动画。本发明专利技术方法可大幅度提高计算效率和精度,具有优秀的矢量场表达能力和较强的灵活性,适于推广应用。

【技术实现步骤摘要】

本专利技术属于计算机图形学的科学计算可视化领域,主要涉及一种纹理生成方法, 特别是涉及一种。
技术介绍
"纹理"(Texture)是科学计算可视化学科中一种常用的矢量场可视化技术,其基 本功能是对科学研宄中产生的大量矢量场数据(例如流体的速度场,机械设备受热后的温 度梯度场等)进行描述,将大量抽象数据转化为直观的图像表达出来。纹理方法最大的特 点是能提供像素级的矢量场细节描述能力,更利于科研人员分析、理解、挖掘数据本质。 现有的纹理生成算法可分为几种基本思路。 第一种方法是"点噪声"法。首先生成覆盖矢量场的白噪声,然后沿着各点处矢量 径向拉伸点噪声,程度与矢量大小成比例。变形后的点噪声就能反映所在点矢量方向和大 小。这种思路产生的纹理很粗糙,成像效果不理想。 第二种方法LIC(线积分卷积)方法。首先生成覆盖流场的白噪声,然后将每一个 像素作为种子点向上下游追踪一定长度的流线,再对途经的所有像素进行卷积,就得到了 种子点处的输出像素灰度值。这种方法最大的优点是生成的纹理图像对流场的描述很清 晰,对流场中每一点处的矢量方向都有很好的指向性。最大的缺点是速度慢。由于对矢量 场中每个像素都要进行流线追踪和卷积运算,因此速度很慢。 第三种是"纹理合成"法。预先绘制模板纹理,然后从中随机切割出纹理条,将其 沿流线贴图,如此处理若干条流线,就得到全局纹理。该方法速度比LIC算法快,但是生成 纹理质量不高,另外对于流场汇聚和发散的特殊情况需要额外处理,速度受流场情况影响 较严重。 第四种是"图像平流"法。该方法中每帧图像由两部分加权混合得到,第一部分是 沿着流线将上一帧纹理"平流"得到的图像,第二部分是补充的噪声。该方法速度比lie算 法要快,但是由于仍然要进行卷积运算,有时还要进行滤波运算,速度也比较慢。 以上四种方法的速度都比较慢,尤其当数据量很大时,不能满足实时交互的需要。 另外一个共同的缺点就是,他们对非稳态矢量场的描述不是很准确。上述四种方 法都可以经过改进后用来描述动态的、非稳态矢量场,也就是结构随时间变化的矢量场。基 本思路都是不再沿着流线进行卷积,而是沿着迹线进行卷积,每个时刻生成一副纹理图像, 最终很多帧图像合成为纹理动画。这样带来两个不好的后果,其一表达内容混乱,其二速度 慢。 第一个缺点是表达内容混乱,原因如下。首先因为沿着迹线卷积,在任意时间片段 上,当时帧纹理的各点处像素值之间不存在任何关系,并不能反映当时的矢量场全貌。其次 利用迹线卷积,本质上是把很多时间上相邻帧迹线上相邻像素的像素值做了卷积。也就是 某一点处某一帧的像素值包含了相邻一段时间的矢量场信息。这样不可避免的带来一定的 混乱,尤其是某段时间如果矢量场变化剧烈,则混乱非常严重。 第二个缺点是速度慢,有如下几个原因。首先不同帧计算中有大量计算是重复进 行的,例如每一帧中每一像素点都要重复进行点定位和插值。这就带来很大计算冗余,造成 速度慢。其次沿着迹线卷积,本身就是一个计算量较大的运算。
技术实现思路
专利技术目的: 为了解决上述现有的各种纹理生成方法的缺陷,本专利技术提出了一种基于流线生长 法的纹理生成方法,可以用来对稳态和非稳态的矢量场进行全局描述,纹理生成的速度更 快,对矢量场的描述更丰富准确。 技术方案: 本专利技术是通过以下技术方案来实现的: -种,其特征在于:该方法步骤如下: (1)首先利用扫描线点定位法对矢量场中每个像素进行点定位和插值,以备后用; 利用流线生长法生成每一帧的静态流线纹理,该流线纹理描述了当前时刻矢量场的整体静 态瞬间结构;再利用粒子轨迹法生成当前帧的迹线纹理,该迹线纹理描述了当前时刻之前 一段时间内矢量场整体结构的动态变化情况; (2)将利用流线生长法得到的每帧流线纹理和利用粒子轨迹法生成的迹线纹理合 成,得到每帧的输出纹理,循环播放每一帧,得到最终的动态纹理动画。 扫描线点定位法的步骤如下: 从一个确定在矢量场内的像素(Xd,yj开始,沿着y=yd,即水平扫描线方向向 左右延伸,并不断对途径像素进行点定位和插值,直到两端都超出矢量场边界为止,得到初 始的扫描线段,然后将其入栈;之后的处理是一个循环的过程,每次都把栈顶的扫描线段弹 出,并对该线段上方y=yd+1和下方y=ycrl的两条水平线进行点定位和插值处理,直到 他们两端超出矢量场范围,则将他们入栈;不断循环这个过程,直至栈为空,则完成所有纹 理单元的点定位和插值处理。 流线生长法的步骤如下,其中用到两个公式,描述如下: 公式⑴中P(l表示当前流线的起始种子点位置;T(pJ表示P(l位置处的输出纹理 值;NormalRandom是求渐近正态分布数的函数,第一个参数是分布的数学期望,第二个参 数是分布的方差;L为纹理卷积时单侧卷积长度;公式(2)中Pi表示当前流线的第i个采 样点位置;Random是求均匀分布数的函数,两个参数分别是分布区间的左界和右界; 流线生长法按照扫描线顺序依次如下循环处理每个像素: (1)判断当前像素是否被处理过,如未处理转入步骤(2),如已经处理,则结束本 次循环; (2)利用公式(1)求得一个以127. 5为均值,_为方差的渐近正态分布数, 作为该像素的输出像素值;并标记当前像素为已处理; (3)根据上述扫描线点定位法结果取得当前像素点处的坐标值和矢量场值,根据 坐标值和矢量场值计算,并沿着流线前进到下一个像素,设置其为当前像素; (4)判断当前像素是否被处理过,如未处理则利用公式⑵计算产生一个范围内的均匀分布数,加上前一个像素点的像素值,和数就是当前点的输 出像素值;并标记当前像素为已处理,跳转到步骤(3);如当前像素已经处理,则结束本次 循环。利用公式(3)取代公式(1),用公式(4)取代公式(2)降低计算量; T(p〇) =Random(127. 5-range, 127. 5+range) (3);T(pi+1)=T(p^ (4)。公式(3)、⑷中各符号含义与公式(1)、⑵中相同,其中range表不种子点输出 像素值的分布范围,其值可由用户定义。 粒子轨迹法的步骤如下: (1)在矢量场中选取纵横方向上分隔一段相等距离的稀疏像素点阵作为起始种子 占. (2)判断是否需要补充种子点,如果需要,则补充种子点; (3)在种子点处绘制透明度为1的粒子; (4)从当前时间帧回溯N帧,绘制每一帧的所有轨迹粒子,粒子的透明度根据公式 (5)计算;其中At是轨迹帧与当前帧的时间间隔;N是回溯的总帧数,也是绘制出的轨迹 的总长度;a表示△t轨迹帧的透明度; (5)对每个种子点根据其坐标值和上述扫描线点定位法结果计算其矢量场值,根 据坐标和矢量场值计当前第1页1 2 3 本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/CN104899914.html" title="基于流线生长法的纹理生成方法原文来自X技术">基于流线生长法的纹理生成方法</a>

【技术保护点】
一种基于流线生长法的纹理生成方法,其特征在于:该方法步骤如下:(1)首先利用扫描线点定位法对矢量场中每个像素进行点定位和插值,以备后用;利用流线生长法生成每一帧的静态流线纹理,该流线纹理描述了当前时刻矢量场的整体静态瞬间结构;再利用粒子轨迹法生成当前帧的迹线纹理,该迹线纹理描述了当前时刻之前一段时间内矢量场整体结构的动态变化情况;(2)将利用流线生长法得到的每帧流线纹理和利用粒子轨迹法生成的迹线纹理合成,得到每帧的输出纹理,循环播放每一帧,得到最终的动态纹理动画。

【技术特征摘要】

【专利技术属性】
技术研发人员:王成恩杜小甫
申请(专利权)人:东北大学
类型:发明
国别省市:辽宁;21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1