一种基于烟模拟的汉字形状变形方法

文档序号:9261715阅读:474来源:国知局
一种基于烟模拟的汉字形状变形方法
【技术领域】
[0001] 本发明属于计算机视觉与计算机图形学领域,具体地说是一种基于密度场的变形 方法,该方法可根据用户输入的一系列形状,生成连贯的变形过程,用于电视、电影、游戏等 领域的特效制作。
【背景技术】
[0002] 随着计算机技术的飞速发展,人们越来越注重自然现象在计算机动画中的多样性 与趣味性,在计算机图形学领域,如烟、火、水等流体的模拟是必不可少的。该种流体的模拟 不仅可W生成逼真的流体场景,还可W用来制作一些非自然的特效,比如烟聚集生成特殊 的形状或者沿着某一特定路线运动。
[000引流体的运动可W用著名的纳维-斯托克斯方程(化vier-StokesEquation)来描 述:
[0004] dw/dt - -(U ? V)U - V;;+ f ( 1)
[0005] V-u = 0 (2)
[0006] 其中u表示速度场,f表示外力,P表示压强,t表示时间。而流体中的可见物体 (如染料,或者烟的颗粒等,用场I表示)可W用如下公式描述:
[0007] 31/dt =-U? V/ (3)
[000引烟的模拟一般采用欧拉网格对空间进行划分,在二维模拟中,一个像素就可看作 一个网格单元。

【发明内容】

[0009] 本发明提出了一种基于烟模拟的汉字形状变形方法。包括;第一步骤是根据汉字 形状生成距离场;第二步骤是在每一帖模拟过程中,根据当前的烟密度场和目标汉字形状 生成的距离场来计算控制力;第=步骤是在传统基于网格的烟的模拟过程中加入了一个密 度场的聚集与扩散过程,可W更加有效地驱使烟向目标形状变化。
【附图说明】
[0010] 图1示出本发明基于烟模拟的汉字形状变形技术的主要流程图;
[0011] 图2示出本发明根据汉字形状生成距离场过程中提取汉字轮廓的方法;(a)在寻 找轮廓时在每个像素角点探测轮廓的顺序,入射箭头为从前一个轮廓点到当前轮廓点的方 向,出射箭头为探测下一个轮廓点的方向,箭头上的数字为探测顺序。化)找到第一个汉字 区域像素时的轮廓;(C)最后找到的轮廓。
【具体实施方式】
[0012] 如图1所示,本发明的基于烟模拟的汉字形状变形技术采用如下步骤:
[0013] (1)由用户输入的汉字生成相应的距离场。每个汉字用二值化的图像进行表述, 如图2所示,黑色区域为汉字的笔画,白色区域为空白。对二值图像提取轮廓首先找到一个 轮廓点,第一轮廓点的寻找方法是从上往下从左往右扫描图像,找到第一个黑色像素(如 图2(b)中所示);然后沿着逆时针方向去寻找下一个轮廓点,寻找下一个轮廓点时的捜索 方向按照图2(a)中的顺序来捜索;最后得到的轮廓如图2(c)所示。然后是计算距离场,每 个像素的距离为离所有轮廓点最短的距离,但是黑色区域为正,白色区域为负。
[0014] (2)烟的模拟过程中,由当前密度场和目标汉字的距离场结合生成控制力。控制力 分为目标形状内和形状外两个区域,对于形状外的烟,我们需要尽快地将它们驱使到形状 内,而对于形状内的烟,我们需要尽可能地将它们扩散到形状内的各个地方。力的方向由如 下公式给出:
[0015]
[0016] 式中dis为距离场,V为梯度符号,Mask(i,j)是描述了目标形状,为1时表示在 形状内,为0时表示在形状外。控制力由公式alz给出,式中a是系数。
[0017] (3)对于每一帖烟的模拟,分为五个步骤:
[0018] (a)施加力。包含外力和内力两个部分,传统的烟模拟方法中外力主要是指浮力 或者风力,本发明中外力是用来控制烟的运动的控制力。内力是旋度增强力,主要用来增 加烟的旋转细节。先计算出当然速度场的旋度,如公式0)二Vxu所示,式中《为旋度 场。然后计算旋度的梯度方向场,如果公式~=iv'i^'il所示,最后计算旋度力= eh(NX?),式中fconf是旋度增强力。
[0019] (b)速度平流。使用传统烟模拟过程中的后向追踪的方式进行速度场的平流。
[0020] (C)速度投影。速度投影是指计算一个无散度的速度场,并且和原先的速度场尽可 能接近,使用泊松方程求解即可。
[0021] (d)密度场平流。使用传统烟模拟过程中的后向追踪的方式进行密度场的平流。
[0022] (e)密度场的聚集与扩散。扩散可W将烟传播到邻近区域,当汉字形状较为复杂 时,该个步骤显得极为有效,我们使用高斯平滑来实现烟的扩散。而烟的聚集是将烟从非目 标形状区域聚集到形状区域。我们使用的聚集方法极为简单但是效果很好:
[0023]
[0024] 式中0<0。<1,0 1〉1是两个系数。
【主权项】
1. 一种基于烟模拟的汉字形状变形方法,其特征在于包括以下步骤: (1) 由用户输入的汉字生成相应的距离场; (2) 烟的模拟过程中,由当前密度场和目标汉字的距离场结合生成控制力; (3) 在每一帧烟的模拟过程包括以下方面:施加力,速度平流,速度投影,密度场平流, 密度场的聚集与扩散。2. 如权利要求1中所述的一种基于烟模拟的汉字形状变形方法,其特征在于:所述步 骤(1),用户输入的汉字为二值化图像,黑色为汉字区域,白色为非汉字区域,采用从上往 下,从左往右的顺序找到第一个汉字区域像素,然后逆时针地寻找汉字轮廓,轮廓用一系列 像素角点表示,在计算距离场时,每个像素的距离定义为距离最近的轮廓点的距离,距离包 含正负符号,在汉字区域内的距离都为正,在非汉字区域的距离都为负。3. 如权利要求1中所述的一种基于烟模拟的汉字形状变形方法,其特征在于:所述步 骤(2),控制力在汉字区域和非汉字区域采用了不同的计算方法,对于非汉字区域,控制力 的方向是沿着距离场的梯度方向,大小与烟的温度成正比,对于汉字区域,控制力的方向为 烟密度场梯度的反方向,大小与烟的温度成正比。4. 如权利要求3中所述的一种基于烟模拟的汉字形状变形方法,其特征在于:所述步 骤⑶,"施加力"中的力分为外力与内力,内力为旋度场增强力,力的大小与当前的速度场 中的旋度场相关,外力为所述控制力;"速度平流","速度投影","密度场平流",采用了图形 学中的计算方法;"密度场的聚集与扩散"中,烟的扩散的实现方式为对整个密度场进行高 斯平滑,而烟的聚集实现方式为对于非汉字区域,烟密度值乘以一个小于1的系数,对于汉 字区域,烟密度值乘上一个大于1的系数,最后对整个烟密度场的值进行缩放,以保证烟的 总量在每帧中不变。
【专利摘要】本发明公开了一种基于烟模拟的汉字形状变形方法。该方法中的汉字用烟的密度场来表示,汉字的形状变形即是烟的密度场的变化。在烟的模拟过程中,每一帧的外力场是根据烟的当前状态来计算生成的,而整个汉字的变形过程由用户输入的一系列汉字形状来决定。
【IPC分类】G06T3/00
【公开号】CN104978711
【申请号】CN201510424059
【发明人】梁晓辉, 左庆, 郭承禹, 顾敏杰, 阮松松, 王宁
【申请人】北京航空航天大学
【公开日】2015年10月14日
【申请日】2015年7月17日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1