CN104599293B - 烟熏壁画动态形成过程的模拟方法 - Google Patents
烟熏壁画动态形成过程的模拟方法 Download PDFInfo
- Publication number
- CN104599293B CN104599293B CN201510063876.5A CN201510063876A CN104599293B CN 104599293 B CN104599293 B CN 104599293B CN 201510063876 A CN201510063876 A CN 201510063876A CN 104599293 B CN104599293 B CN 104599293B
- Authority
- CN
- China
- Prior art keywords
- smoke
- smoke particles
- particles
- mural
- particle
- 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.)
- Active
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种烟熏壁画动态形成过程的模拟方法,能够解决现有的烟熏壁画动态形成过程的模拟方法所存在的真实感差、步骤繁琐和不易掌握的问题。所述方法包括:根据烟雾颗粒的运动轨迹、范围、速度、粒径和壁画颜料对烟雾颗粒的吸附性,建立基于烟雾颗粒运动及分布规律的烟熏壁画动态形成模型;根据所述烟熏壁画动态形成模型,将烟雾颗粒整体运动参数随机转换为每个烟雾颗粒自身的运动参数,并根据所述每个烟雾颗粒自身的运动参数,计算烟雾颗粒在不同时刻的运动状态;计算壁画在烟雾颗粒所在位置处对烟雾颗粒的吸附概率阈值,根据所述吸附概率阈值,确定出烟雾颗粒绘制区域内像素点的不透明度,并根据所述不透明度,采用可视化方法动态绘制吸附在壁画表面的烟雾颗粒。
Description
技术领域
本发明涉及壁画虚拟修复和数字艺术仿真领域,具体涉及一种烟熏壁画动态形成过程的模拟方法。
背景技术
烟熏壁画真实感模拟是采用计算机技术处理正常壁画图像,使其呈现遭受烟熏破坏后的效果,该技术在壁画虚拟修复、数字艺术仿真等领域具有重要的理论研究和实际应用价值。
烟熏壁画的形成过程,从本质上说是黑色烟雾颗粒在壁画表面不断附着的过程。如图1所示,烟雾颗粒从起火点发出后,沿着抛物线FR经过稳定火焰区、间断火焰区、烟气羽流区和热烟气层后到达顶端;烟雾颗粒与顶端发生镜面反射后,沿弧线RA运动到A,竖直速度变成0,然后沿直线AG进行水平方向的匀速直线运动;当烟雾颗粒运动到同侧热烟气层边界点G时,进入下落阶段;上述运动过程如右侧的轨迹F→R→A→G→E所示。对于少部分烟雾颗粒,可能会在镜面反射后的沿弧线运动阶段就到达同侧热烟气层边界,从而直接进入下落阶段,如左侧的轨迹F→R'→G'→E'所示。由此可知,烟雾颗粒的运动范围主要由稳定火焰区、间断火焰区、烟气羽流区和热烟气层4部分构成,它与壁画之间的吸附效应主要发生在上述区域;烟雾颗粒离开热烟气层后开始下落,在下落过程中某些颗粒会吸附在壁画表面。壁画上的烟熏痕迹是烟雾颗粒运动集合在壁画表面的投影,运动集合的边界决定烟熏痕迹的几何形态,烟雾颗粒的分布密度决定烟熏痕迹的不透明度。图2是竖直墙壁上典型的烟熏痕迹,可以看出,在大部分情况下,处于火羽流(稳定火焰区、间断火焰区、烟气羽流区)的烟雾颗粒形成“U”形烟熏痕迹,处于热烟气层的烟雾颗粒形成“朵朵云”形烟熏痕迹,处于下落阶段的烟雾颗粒形成随机分布烟熏痕迹,壁画上的实际烟熏痕迹是上述三种烟熏痕迹的合成。
目前,烟熏壁画动态形成过程的模拟方法主要包括下述两种:
(1)使用PhotoShop等软件在正常壁画图像表面覆盖烟熏图层。
(2)使用火灾模拟软件(火灾动态模拟器)模拟火灾发生过程,截取烟熏区域的火灾图痕。
上述方法可以在正常壁画表面形成烟熏效果,但存在如下缺陷:
(1)真实感差:第一种方法缺乏烟熏壁画形成的理论基础,无法表示烟熏壁画的动态形成过程;其羽化操作导致烟熏强度从中心到边缘逐渐减弱,但实际烟熏强度分布具有一定的随机性,不遵循逐渐减弱的规则分布。第二种方法采用从蓝到红的连续颜色表示烟痕颗粒分布密度由低到高,其表面色彩是从蓝到红连续颜色的子集,不符合烟熏壁画的真实色彩情况。
(2)步骤繁琐:第一种方法需要4个基本步骤,第2种方法需要3个基本步骤。每个基本步骤都包括若干操作,尤其是第2种方法的基本步骤1,需要根据实际情况设计和搭建火灾现场,相当复杂。
(3)不易掌握:第一种方法需要输入大量参数,参数之间存在诸多关联,而且无法表示烟熏效应的物理学意义,需要使用者具备一定的经验和技巧,不易被一般用户所掌握;第二种方法需要输入大量描述烟熏颗粒运动规律的物理学参数,直观性较差,需要使用者具备一定的数学物理基础,不适用于非理工科的文博保护和艺术设计人员。
发明内容
本发明所要解决的技术问题是现有的烟熏壁画动态形成过程的模拟方法所存在的真实感差、步骤繁琐和不易掌握的问题。
为此目的,本发明提出一种烟熏壁画动态形成过程的模拟方法,包括:
根据烟雾颗粒的运动轨迹、范围、速度、粒径和壁画颜料对烟雾颗粒的吸附性,建立基于烟雾颗粒运动及分布规律的烟熏壁画动态形成模型;
根据所述烟熏壁画动态形成模型,将烟雾颗粒整体运动参数随机转换为每个烟雾颗粒自身的运动参数,并根据所述每个烟雾颗粒自身的运动参数,计算烟雾颗粒在不同时刻的运动状态;
根据所述烟雾颗粒在不同时刻的运动状态,计算壁画在烟雾颗粒所在位置处对烟雾颗粒的吸附概率阈值,根据所述吸附概率阈值,确定出烟雾颗粒绘制区域内像素点的不透明度,并根据所述不透明度,采用可视化方法动态绘制吸附在壁画表面的烟雾颗粒。
另一方面,本发明提出一种烟熏壁画真实感模拟装置,包括:
模型建立单元,用于根据烟雾颗粒的运动轨迹、范围、速度、粒径和壁画颜料对烟雾颗粒的吸附性,建立基于烟雾颗粒运动及分布规律的烟熏壁画动态形成模型;
计算单元,用于根据所述烟熏壁画动态形成模型,将烟雾颗粒整体运动参数随机转换为每个烟雾颗粒自身的运动参数,并根据所述每个烟雾颗粒自身的运动参数,计算烟雾颗粒在不同时刻的运动状态;
绘制单元,用于根据所述烟雾颗粒在不同时刻的运动状态,计算壁画在烟雾颗粒所在位置处对烟雾颗粒的吸附概率阈值,根据所述吸附概率阈值,确定出烟雾颗粒绘制区域内像素点的不透明度,并根据所述不透明度,采用可视化方法动态绘制吸附在壁画表面的烟雾颗粒。
本发明实施例烟熏壁画动态形成过程的模拟方法及装置,综合关于烟雾颗粒运动轨迹、范围、速度、粒径和吸附性的分析,建立基于烟雾颗粒运动及分布规律的烟熏壁画动态形成模型,模拟开始时,首先将输入的烟雾颗粒整体运动参数随机转换为每个烟雾颗粒实时运动参数;然后将每个烟雾颗粒的参数带入模型,计算其在不同时刻的运动状态和吸附概率阈值,并使用合适的可视化技术绘制吸附在壁画上的烟雾颗粒,能够解决现有的烟熏壁画动态形成过程的模拟方法所存在的真实感差、步骤繁琐和不易掌握的问题。
附图说明
图1为单个烟熏颗粒的运动轨迹示意图;
图2为竖直墙壁上典型的烟熏痕迹示意图;
图3为本发明一种烟熏壁画动态形成过程的模拟方法一个实施例的流程示意图;
图4为热烟气层边界示意图;
图5为烟熏区域的“裂缝”现象示意图;
图6为图1中下落起点G上方的竖直速度零点W。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本实施例公开一种烟熏壁画动态形成过程的模拟方法,包括:
根据烟雾颗粒的运动轨迹、范围、速度、粒径和壁画颜料对烟雾颗粒的吸附性,建立基于烟雾颗粒运动及分布规律的烟熏壁画动态形成模型;
根据所述烟熏壁画动态形成模型,将烟雾颗粒整体运动参数随机转换为每个烟雾颗粒自身的运动参数,并根据所述每个烟雾颗粒自身的运动参数,计算烟雾颗粒在不同时刻的运动状态;
根据所述烟雾颗粒在不同时刻的运动状态,计算壁画在烟雾颗粒所在位置处对烟雾颗粒的吸附概率阈值,根据所述吸附概率阈值,计算烟雾颗粒绘制区域内像素点的不透明度,并根据所述不透明度,采用可视化方法动态绘制吸附在壁画表面的烟雾颗粒。
可选地,在本发明烟熏壁画动态形成过程的模拟方法的另一实施例中,所述根据所述烟熏壁画动态形成模型,将烟雾颗粒整体运动参数随机转换为每个烟雾颗粒自身的运动参数,包括:
读取正常壁画图像,显示在预设的区域;
基于所述烟熏壁画动态形成模型,输入描述烟雾颗粒整体运动的参数;
根据所述描述烟雾颗粒整体运动的参数,计算热烟气层的左右边界形态参数;其中,所述热烟气层的左右边界形态参数包括热烟气层的左右边界各段抛物线的形态系数和顶点坐标;
根据所述热烟气层的左右边界形态参数,设置每个烟雾颗粒自身运动参数;所述每个烟雾颗粒自身运动参数包括位置坐标、运动速度、运动状态、运动区域、吸附概率、不透明度和运动轨迹。
可选地,在本发明烟熏壁画动态形成过程的模拟方法的另一实施例中,所述根据所述烟雾颗粒在不同时刻的运动状态,计算壁画在烟雾颗粒所在位置处对烟雾颗粒的吸附概率阈值,包括:
启动烟熏模拟;
初始化烟熏帧开始时刻;
判断烟雾颗粒是否全部处于死亡状态,若存在烟雾颗粒未处于死亡状态,则计算上一帧的运行时间和当前帧的开始时刻;
根据所述上一帧的运行时间和当前帧的开始时刻,计算和更新不同状态烟雾颗粒在当前时刻的位置坐标和运动状态信息,其中,所述运动状态包括抛物线或直线运动状态、反射后弧线运动状态、水平直线运动状态和下落状态;
根据所述不同状态烟雾颗粒在当前时刻的位置坐标和运动状态信息,计算所述吸附概率阈值。
可选地,在本发明烟熏壁画动态形成过程的模拟方法的另一实施例中,所述根据所述不同状态烟雾颗粒在当前时刻的位置坐标和运动状态信息,计算所述吸附概率阈值,包括:
对于处于抛物线运动状态、直线运动状态、反射后弧线运动状态或水平直线运动状态的烟雾颗粒,根据该烟雾颗粒在当前时刻的位置坐标,计算所述当前时刻该烟雾颗粒纵坐标处烟雾中心的吸附概率阈值,根据所述当前时刻该烟雾颗粒纵坐标处烟雾中心的吸附概率阈值,计算壁画在该烟雾颗粒所在位置处对该烟雾颗粒的吸附概率阈值;
对于处于下落状态的烟雾颗粒,将壁画图像由RGB空间分别转换到亮度-红绿-蓝黄空间(Lab空间)和色相-饱和度-亮度空间(HSB空间),将该烟雾颗粒所带电荷视为负电荷,根据阳离子壁画颜料颜色在Lab空间和HSB空间的特性,确定出壁画颜料正电荷对该烟雾颗粒的吸附概率阈值,根据该烟雾颗粒当前在竖直方向的速度,确定出壁画颜料对该烟雾颗粒在当前在竖直方向的速度下的吸附概率阈值,根据所述壁画颜料正电荷对该烟雾颗粒的吸附概率阈值、壁画颜料对该烟雾颗粒在当前在竖直方向的速度下的吸附概率阈值,以及概率加法法则,确定出壁画在该烟雾颗粒所在位置处对该烟雾颗粒的吸附概率阈值。
可选地,在本发明烟熏壁画动态形成过程的模拟方法的另一实施例中,在所述根据所述不同状态烟雾颗粒在当前时刻的位置坐标和运动状态信息,计算所述吸附概率阈值之后,还包括:
对于每一个烟雾颗粒,确定出一个随机数,判断该随机数是否大于壁画在该烟雾颗粒所在位置处对该烟雾颗粒的吸附概率阈值,若该随机数不大于壁画在该烟雾颗粒所在位置处对该烟雾颗粒的吸附概率阈值,则计算壁画吸附该烟雾颗粒时该烟雾颗粒的粒径;
其中,所述根据所述不透明度,采用可视化方法动态绘制吸附在壁画表面的烟雾颗粒,包括:
根据所述不透明度和壁画吸附烟雾颗粒时烟雾颗粒的粒径,采用可视化方法动态绘制吸附在壁画表面的烟雾颗粒。
可选地,在本发明烟熏壁画动态形成过程的模拟方法的另一实施例中,所述根据所述吸附概率阈值确定出烟雾颗粒绘制区域内像素点的不透明度,包括:
根据所述吸附概率阈值和烟雾颗粒区域覆盖的几何概率,计算烟雾颗粒绘制区域内吸附若干个烟雾颗粒的像素点的不透明度。
可选地,在本发明烟熏壁画动态形成过程的模拟方法的另一实施例中,还包括:
停止对壁画图像的烟雾颗粒绘制、在对烟雾颗粒进行绘制的过程中截取壁画图像和/或在停止对壁画图像的烟雾颗粒绘制之后,继续对壁画图像进行烟雾颗粒绘制。
本实施例公开一种烟熏壁画真实感模拟装置,包括:
模型建立单元,用于根据烟雾颗粒的运动轨迹、范围、速度、粒径和壁画颜料对烟雾颗粒的吸附性,建立基于烟雾颗粒运动及分布规律的烟熏壁画动态形成模型;
计算单元,用于根据所述烟熏壁画动态形成模型,将烟雾颗粒整体运动参数随机转换为每个烟雾颗粒自身的运动参数,并根据所述每个烟雾颗粒自身的运动参数,计算烟雾颗粒在不同时刻的运动状态;
绘制单元,用于根据所述烟雾颗粒在不同时刻的运动状态,计算壁画在烟雾颗粒所在位置处对烟雾颗粒的吸附概率阈值,根据所述吸附概率阈值,计算烟雾颗粒绘制区域内像素点的不透明度,并根据所述不透明度,采用可视化方法动态绘制吸附在壁画表面的烟雾颗粒。
本发明实施例所述的烟熏壁画动态形成过程的模拟方法及装置,综合关于烟雾颗粒运动轨迹、范围、速度、粒径和吸附性的分析,建立基于烟雾颗粒运动及分布规律的烟熏壁画动态形成模型,模拟开始时,首先将输入的烟雾颗粒整体运动参数随机转换为每个烟雾颗粒实时运动参数;然后将每个烟雾颗粒的参数带入模型,计算其在不同时刻的运动状态和吸附概率阈值,并使用合适的可视化技术绘制吸附在壁画上的烟雾颗粒,能够解决现有的烟熏壁画动态形成过程的模拟方法所存在的真实感差、步骤繁琐和不易掌握的问题。
如图3所示,下面对本发明的一个具体实施例进行详细介绍。
(1)步骤S01:读取正常壁画图像,显示在指定区域。
用户通过文件对话框选择大小为M×N的正常壁画图像Picorig,将其逐像素读取到矩阵ImgMat中。正常壁画图像的尺寸不固定,但是显示区域尺寸固定,所以还需要根据实际情况对图像进行放缩处理。由于图像长宽比例和显示区域长宽比例可能不同,所以图像装入显示区域后,水平或竖直方向的两端可能会存在多余区域。需要准确计算图像放缩比例,使其装入显示区域后,水平(竖直)方向中被填满,竖直(水平)方向允许存在多余区域。若显示区域尺寸是M'×N',则水平方向放缩比ScaleH=M'/M、竖直方向放缩比ScaleV=N'/N,用二者中最小值Scale=Min{ScaleH,ScaleV}对图像Picorig进行放缩,得到的图像ShowPicorig可以满足上述要求。此时烟熏尚未开始,设置烟熏控制参数StartFire=0(关闭烟熏)、PauseFire=1(暂停烟熏)。
(2)步骤S02:输入烟雾颗粒整体运动参数。
输入描述烟雾颗粒整体运动的参数,主要包括:起火点位置(FirePosX,FirePosY)、颗粒总数FireCount、抛物线形态系数范围[MinPbSCoef,MaxPbSCoef]、稳定火焰区高度ConFireHeight、间断火焰区高度DisFireHeight、烟气羽流区高度GasPlumHeight、热烟气层高度HotGasHeight、起火点吸附概率StartFirePro、稳定火焰区顶端烟雾中心吸附概率ConFireTopPro、间断火焰区顶端烟雾中心吸附概率DisFireTopPro、烟气羽流区顶端烟雾中心吸附概率GasPlumTopPro、热烟气层顶端烟雾中心吸附概率HotGasTopPro、热烟气层左端抛物线分割段数LeftParabNum、热烟气层左端抛物线膨胀系数LeftParabExp、热烟气层右端抛物线分割段数RightParabNum、热烟气层右端抛物线膨胀系数RightParabExp、烟雾颗粒在起火点的标准速度StartSpeed、烟雾颗粒在稳定火焰区顶端的标准速度ConFireSpeed、烟雾颗粒在热烟气层顶端的标准速度EndSpeed、稳定火焰区顶端烟雾中心粒径ConFireTopRadi、间断火焰区顶端烟雾中心粒径DisFireTopRadi、烟气羽流区顶端烟雾中心粒径DisFireTopRadi、热烟气层顶端烟雾中心粒径HotGasTopRadi、烟雾颗粒在反射阶段受到竖直向上的阻尼系数DampFact、边界处的吸附概率衰减因子AdhDecFact。
(3)步骤S03:计算热烟气层的左右边界形态参数。
如图4所示,火羽流与热烟气层边界的交点是P和Q,热烟气层的左右边界分别由N1=LeftParabNum和N2=RightParabNum段抛物线拼接而成。本步骤的任务是:计算点P左边各段抛物线的形态系数和顶点坐标i=1,2,…,N1,以及点Q右边各段抛物线的形态系数和顶点坐标j=1,2,…,N2。
起火点F的坐标为(FirePosX,FirePosY),烟雾颗粒从该点出发,沿着抛物线自下而上运动,设抛物线的形态系数为PbS,运动轨迹上任一点坐标为(CX,CY),对应曲线方程如公式1所示:
CY=PbS(CX-FirePosX)2+FirePosY (1)
抛物线PFQ开口向上,与Y轴正方向相反,对应形态系数取最大值PbSmax=MaxPbSCoef。设点P和Q的坐标分别为(CXP,CYP)和(CXQ,CYQ),由图4可知CYP=CYQ=HotGas,代入公式1,可得点P和Q的横坐标如公式2所示:
设PbSLeft=PbSmax·LeftParabExp和PbSRight=PbSmax·RightParabExp分别为热烟气层左边界和右边界各段抛物线的标准形态系数,DLeft=HotGas/N1和DRight=HotGas/N2分别为热烟气层左边界和右边界各段抛物线在Y轴方向的标准长度。实际情况下的抛物线形态具有不确定性,但又具有一定的统计特征,所以可以根据PbSLeft、PbSRight、DLeft、DRightt随机生成左右各段抛物线的形态系数和以及它们在y方向上的长度和i=1,2,…,N1、j=1,2,…,N2。这些参数的计算方法如公式3、公式4所示:
下面计算各段抛物线的顶点坐标,以点P左侧为例,按照从右至左的顺序依次计算,第1个顶点P1=P,根据公式3计算出第1段抛物线的参数;设第2个顶点P2为可以看出:因为P2是第1段抛物线的终点,所以将带入第1段抛物线公式可以解出:按照同样的方法,可以递推求出点P左侧其余各段抛物线的顶点坐标。与此类似,从点Q开始,按照从左到右的顺序,可以递推求出点Q右边各段抛物线的顶点坐标。
为了便于后继烟雾颗粒运动状态控制,还需要设置一个长度为N的数组SmokeLine,保存热烟气层和火羽流的边界信息,元素SmokeLine[CX]保存边界中横坐标为CX时的纵坐标值。生成方式如下:从点(0,0)开始,按照“热烟气层左边界—〉抛物线弧段PFQ—〉热烟气层右边界”的顺序遍历边界,对于遍历过程中的点(CX,CY),均有SmokeLine[CX]=CY。
(4)步骤S04:设置每个烟雾颗粒自身运动参数。
本步骤的任务是:为每个烟雾颗粒初始化下述运动参数:
a.位置坐标:烟雾颗粒由起火点射出,所以位置坐标(CX,CY)=(FirePosX,FirePosY)。
b.运动速度:初始化时烟熏模拟尚未开始,速度Speed=0。
c.运动状态:该参数表示烟雾颗粒运动的不同阶段,定义如下,0:静止状态;1:抛物线或直线运动状态;2:反射后弧线运动状态;3:水平直线运动状态;4:下落状态;5:消亡状态。初始化时运动状态Status=0。
d.运动区域:该参数表示烟雾颗粒当前所在区域,定义如下,0:稳定火焰区;1:间断火焰区;2:烟气羽流区;3:热烟气层。烟雾颗粒初始化时位于起火点,起火点属于稳定火焰区,所在区域ZoneNum=0。
e.吸附概率:和b类似,吸附概率AdhPro=0。
f.不透明度:和b类似,不透明度Opacity=0。
g.运动轨迹:烟雾颗粒从起火点发出后,沿抛物线轨迹运动,因为抛物线形态系数为负值,且最小值为PbSmin=MinPbSCoef,所以烟雾颗粒运动轨迹构成的烟熏区域会出现“裂缝”现象,如图5所示。
在图5中,弧段P'FQ'和PFQ分别是形态系数取最小值PbSmin和最大值PbSmax时的抛物线,二者所构成的阴影区域,是采用抛物线模拟烟雾颗粒运动轨迹生成的烟熏区域;中间的空白区域,是单纯采用抛物线模拟无法生成的区域,即所谓的“裂缝”。
为了使烟雾颗粒运动轨迹均匀分布在抛物线P'FQ'和水平直线PQ所围成的区域,首先需要计算烟雾颗粒落入“裂缝”区域的概率,流程如下:
Step1:设点P'和Q'的坐标分别为(CXP',CYP')和(CXQ',CYQ'),由图5可知CYP'=CYQ'=HotGas,代入公式1,可得点P'和Q'的横坐标如公式5所示:
Step2:点T是点F在水平直线PQ上的投影,点F到水平直线PQ的距离是|FT|=FirePosY-HotGas,线段PQ的长度是由抛物线弓形面积公式可知,抛物线PFQ和水平直线PQ所包围区域的面积为同理可知,抛物线P'FQ'和水平直线PQ所包围区域的面积为由几何概率性质可知,烟雾颗粒运动时处于图5“裂缝”区域的概率为RunGapPro=ZP'FQ'/ZPFQ。
然后,对于每个烟雾颗粒,按照下述流程设置其运动轨迹:
Step1:生成一个0~1之间的随机数rand4_1(0,1),如果rand4_1(0,1)≤RunGapPro,则转Step2设置烟雾颗粒运动轨迹为直线;否则转Step3设置烟雾颗粒运动轨迹为抛物线。
Step2:点T坐标为(FirePosX,HotGas),线段P'Q'长度为生成一个随机数rand4_2(0,1),令CYK=HotGas,则点K=(CXK,CYK)位于线段P'Q'上,烟雾颗粒沿直线FK运动。当CXK≤FirePosX时,点K处于点T的左边,直线FK的斜率为KFK=(FirePosY-HotGas)/(FirePosX-CXK),烟雾颗粒的方向参数Direction设置为-1;当CXK>FirePosX时,点K处于点T的右边,直线FK的斜率为KFK=-(FirePosY-HotGas)/(FirePosX-CXK),烟雾颗粒的方向参数Direction设置为1。
Step3:设烟雾颗粒抛物线与直线PQ交点为I,生成随机数rand4_3(0,1),计算点I到点T的距离 设抛物线形态系数为PbS,因为所以PbS=(HotGas-FirePosY)/|IT|2;由图5可知,抛物线顶点F的坐标为(FirePosX,FirePosY)。根据上述参数,结合公式1,就可以得出烟雾颗粒沿抛物线运动的轨迹方程。因为抛物线是双侧曲线,但烟雾颗粒运动轨迹是单侧曲线,所以还需要生成一个随机数rand4_4(0,1),如果rand4_4(0,1)<0.5,则烟雾颗粒沿左侧抛物线运动,方向参数Direction设置为-1;否则烟雾颗粒沿右侧抛物线运动,烟雾颗粒的方向参数Direction设置为1。
(5)步骤S05:启动烟熏模拟。
设置烟熏控制参数StartFire=1(开启烟熏)、PauseFire=0(继续烟熏)。
(6)步骤S06:初始化烟熏帧开始时刻。
设置烟熏帧开始时刻FrameStartTime=-1,系统进入烟熏动态绘制阶段,烟雾颗粒开始运动。
(7)步骤S07:烟雾颗粒是否全部处于死亡状态。
检测是否全部颗粒的运动状态Status均为5,如果是则表明烟熏颗粒全部处于消亡状态,结束烟熏模拟。
(8)步骤S08:计算上一帧的运行时间和当前帧的开始时刻。
首先,系统调用时间函数(如VC的GetTickCount)获取当前时刻FrameCurrentTime。然后,检测当前帧的开始时刻FrameStartTime是否为-1,如果是则表明首次进入烟熏动态绘制阶段,将上一帧的运行时间PreFrameRunTime设置为默认常数;否则计算上一帧的运行时间PreFrameRunTime=FrameCurrentTime-FrameStartTime。最后,更新当前帧的开始时刻FrameStartTime=FrameCurrentTime。
(9)步骤S09:更新处于非消亡状态烟雾颗粒的位置坐标、运动状态等信息。
烟雾颗粒的完整运动过程包括4种状态:抛物线或直线运动状态、反射后弧线运动状态、水平直线运动状态、下落状态,本步骤的任务是:计算和更新不同状态烟雾颗粒在当前时刻的位置坐标和运动状态等信息,主要操作如下:
a.抛物线或直线运动状态
烟雾颗粒在稳定火焰区自下而上运动时,其运动速度逐渐增加,在点(CX,CY)的最大速度如公式6所示:
在其它区域,烟雾颗粒的运动速度逐渐减少,在点(CX,CY)的最大速度如公式7所示:
烟雾颗粒在点(CX,CY)的实际速度可以视为MaxSpeed(CX,CY)的随机化结果,即:
CurrSpeed(CX,CY)=MaxSpeed(CX,CY)·rand8_1(0,1) (8)
根据上一帧的运行时间,可以得到烟雾颗粒的位移量MoveDistance=CurrSpeed(CX,CY)PreFrameRunTime,如果烟雾颗粒运动轨迹是直线,则根据直线斜率KFK可以得到新的位置坐标(CX',CY'),计算方法如公式9所示,Direction是烟雾颗粒的方向参数,可以表示点K与点T的位置关系,当点K位于点T左边时,Direction=-1,当点K位于点T右边时,Direction=1。
如果该烟雾颗粒的运动轨迹是抛物线,需要综合积分变换和牛顿法计算出X方向的位移Δx,下面以位于抛物线左侧的烟雾颗粒为例进行介绍。为了便于描述,用a表示抛物线的形态系数,用(h,k)表示抛物线的顶点坐标,用(x,y)表示抛物线任一点坐标,对应曲线方程如公式10所示:
y=f(x)=a(x-h)2+k (10)
用l=MoveDistance表示烟雾颗粒在一帧中的位移,用(x0,f(x0))和(x0+Δx,f(x0+Δx))表示烟雾颗粒在一帧中的起点和终点坐标,根据曲线积分公式,则有:
在公式11中,y'=2a(x-h)是y=f(x)的导数,令x-h=t,则公式11可以改写为:
令x0-h=u0、x0-h+Δx=u,则有:
设
建立方程f(u)=0,采用牛顿法迭代求解,迭代公式如下:
在公式13中,un、un+1分别是第n步和第n+1步迭代得到的解,f'(u)是f(u)的导数,其值为反复使用公式13进行迭代,一直到|un+1-un|≤ε为止。求解后根据u和u0的关系可得Δx=u-u0。
在烟雾颗粒抛物线位移计算中,令a=PbS、(h,k)=(FirePosX,FirePosY)、x0=CX,按照上述方法可以得到烟雾颗粒在X方向的位移Δx,则移动后新位置的横坐标CX'=CX+Δx,代入公式1即可得新位置的纵坐标CY'。
对于位于抛物线右侧的烟雾颗粒来说,新位置计算方法基本相似,只是由于运动时横坐标逐渐增加,所以需要交换公式11中的积分上下限,同时交换公式12和f(u)中u和u0的位置。
如果该烟雾颗粒的运动区域ZoneNum≤2,且CY'小于运动区域顶端的纵坐标,那么说明该烟雾颗粒进入下一个运动区域,修改ZoneNum=ZoneNum+1。如果ZoneNum==3,且CY'<0,那么说明该烟雾颗粒与顶端发生碰撞反射,烟雾颗粒进入反射运动状态,修改Status=2。
b.反射后弧线运动状态
如图1所示,烟雾颗粒在点R与顶端发生碰撞反射后,沿弧线RA运动。对公式1进行求导,可得抛物线在点R的斜率为由镜面反射性质,可知反射后的斜率为对烟雾颗粒在点R处反射后的速度VR=CurrSpeed(CXR,CYR)进行分解,可以得到其水平分量Direction是烟雾颗粒的方向参数,竖直分量在运动过程中,水平速度不发生变化,但竖直速度根据阻尼系数DampFact逐渐减少。设烟雾颗粒反射开始时刻为TRefStart,运动到当前位置(CX,CY)的时刻为TRefCurr,则水平速度VC_H=VR_H,位移量ΔX=VC_H·PreFrameRunTime,竖直速度VC_V=VR_V-DampFact·(TRefCurr-TRefStart),位移量ΔY=VC_V·PreFrameRunTime。由此可知,新位置坐标(CX',CY')=(CX+ΔX,CY+ΔY)。
如果(CX',CY')满足CY'≥SmokeLine[CX'],那么说明该烟雾颗粒已经运动到热烟气层的边界,开始进入下落状态,如图1左侧的轨迹F→R'→G'→E'所示,修改Status=4。如果不满足该条件,但竖直速度VC_V≤0,说明烟雾颗粒开始进入水平直线运动状态,修改Status=3。
c.水平直线运动状态
如图1所示,烟雾颗粒在该阶段沿水平直线AG进行匀速直线运动。因为烟雾颗粒的水平速度在弧线运动阶段不发生变化,所以水平直线运动状态的水平速度VH_H=VR_H。可以看出,在时间PreFrameRunTime之内,水平方向位移量ΔX=VH_H·PreFrameRunTime,竖直方向位移量ΔY=0,所以新位置坐标(CX',CY')=(CX+ΔX,CY+ΔY)。
如果(CX',CY')满足CY'≥SmokeLine[CX'],那么说明该烟雾颗粒已经运动到热烟气层的边界,开始进入下落状态,修改Status=4。
d.下落状态
设烟雾颗粒在下落开始点G的水平速度为VG_H、竖直速度为VG_V。因为烟雾颗粒的水平速度在弧线运动和水平直线运动阶段均未发生变化,所以VG_H=VH_H=VR_H。VG_V的取值分两种情况,如果烟雾颗粒在反射后弧线运动状态离开热烟气层,则VG_V=0,下落状态的运动是水平方向匀速直线运动和竖直方向自由落体运动的合成;如果烟雾颗粒在水平直线运动状态离开热烟气层,则VG_V>0,下落状态的运动是水平方向匀速直线运动和竖直方向竖直下抛运动的合成。
设烟雾颗粒下落开始时刻为TDropStart,运动到当前位置(CX,CY)的时刻为TDropCurr,则水平速度VD_H=VG_H=VR_H,位移量ΔX=VD_H·PreFrameRunTime,竖直速度VD_V=VG_V+g·(TRefCurr-TRefStart),g=9.8m/s2表示重力加速度,位移量ΔY=VD_V·PreFrameRunTime。由此可知,新位置坐标(CX',CY')=(CX+ΔX,CY+ΔY)。
如果(CX',CY')满足CX'<0、或者CX'≥N、或者CY'≥M,则说明该烟雾颗粒已经离开壁画图像,修改Status=4。
(10)步骤S10:计算吸附概率,根据结果绘制吸附在壁画上的烟雾颗粒。
首先,计算烟雾颗粒所在位置(CX,CY)的吸附概率阈值MaxAdsPro(CX,CY),对于非下落阶段的烟雾颗粒,步骤如下:
Step1:使用公式14计算纵坐标CY处烟雾中心的吸附概率阈值,在该公式中,自上而下的4个式子分别是烟雾颗粒处于稳定火焰区、间断火焰区、烟气羽流区和热烟气层时的计算公式。
Step2:当纵坐标不变时,吸附概率从烟雾中心到两边逐渐减少,设烟雾颗粒在同一侧边界处被壁画吸附概率阈值为r·CenAdsPro(CY),其中r=AdhDecFact是边界处吸附概率的衰减因子,则壁画在(CX,CY)处对烟雾颗粒的吸附概率阈值为:
在公式15中,CenPosX(CY)是烟雾中心的横坐标,BouPosX(CY)是烟雾颗粒所在一侧运动轨迹边界的横坐标,p是描述吸附概率衰减的指数,经过测试发现,p=4时可以得到较好的吸附效果。
当烟雾颗粒处于下落阶段时,由于烟雾颗粒运动分散、没有明显的分布规律,所以无法采用上面的方法计算吸附概率阈值。需要综合烟雾颗粒的速度及其和壁画颜料之间的电荷力进行计算,步骤如下:
Step1:首先,将壁画图像由RGB空间转换到Lab空间,分别用L(CX,CY)、a(CX,CY)、b(CX,CY)表示(CX,CY)处的Lab空间分量值。然后,将壁画图像由RGB空间转换到HSB空间,分别用H(CX,CY)、S(CX,CY)、B(CX,CY)表示(CX,CY)处的HSB空间分量值。
Step2:根据阳离子颜料颜色在Lab空间和HSB空间的特性,可以得到壁画颜料正电荷在点(CX,CY)处对烟雾颗粒的吸附概率阈值PosChaAdhPro(CX,CY)=a(CX,CY)·b(CX,CY)·S(CX,CY)·(1-L(CX,CY))·(1-B(CX,CY))。
Step3:一般来说,烟雾颗粒被吸附的概率与其速度成反比;因为烟雾颗粒水平速度在下落过程中不发生变化,而竖直速度逐渐增加,所以使用竖直速度度量壁画对烟雾颗粒的吸附性。可以看出,当竖直速度为0时,吸附性最大;当竖直速度最大时,吸附性最小。在实际情况下,烟雾颗粒在下落点的竖直速度VG_V不一定为0;为了便于计算,如图5所示,假设下落起点G上方存在一点W,该点坐标为(CXW,CYW),烟雾颗粒在点W的竖直速度为0,进行自由落体运动后,到达点G的竖直速度恰好为VG_V。由自由落体运动的速度公式可知:由此可知:
使用DropSpdAdhPro(CX,CY)表示下落速度在点(CX,CY)处对烟雾颗粒的吸附概率阈值,假设点W处的DropSpdAdhPro(CX,CY)为1,壁画最底端处的DropSpdAdhPro(CX,CY)为0。因为自由落体运动速度与所经历距离的平方根成正比,所以DropSpdAdhPro(CX,CY)如公式16所示:
Step4:吸附效果受壁画颜料正电荷多寡和烟雾颗粒竖直速度两方面影响,将壁画颜料正电荷多寡和烟雾颗粒自身速度表示为概率论中的两个事件C和D,这两个事件彼此独立,所以P(CD)=P(C)·P(D)。根据概率加法法则P(C+D)=P(C)+P(D)-P(CD),可以得到壁画对下落阶段的烟雾颗粒在点(CX,CY)处的吸附概率阈值,如公式17所示:
然后,生成一个0~1之间的随机数rand10_1(0,1),如果rand10_1(0,1)≤MaxAdhPro(CX,CY),表明该烟雾颗粒被壁画吸附。需要计算吸附时烟雾颗粒的粒径CurrParRadi(CX,CY),对于非下落阶段的烟雾颗粒,步骤如下:
Step1:使用公式16计算纵坐标CY处烟雾中心的颗粒粒径,在该公式中,自上而下的4个式子分别是烟雾颗粒处于稳定火焰区、间断火焰区、烟气羽流区和热烟气层时的计算公式。
Step2:当纵坐标不变时,颗粒粒径从烟雾中心到两边逐渐减少,在同一侧边界处的颗粒粒径为1,则在(CX,CY)处的颗粒粒径为:
在公式17中,n是描述粒径衰减的指数,一般情况下,n=2可以得到较好的模拟效果。
当烟雾颗粒处于下落阶段时,不考虑凝并现象,烟雾颗粒的粒径等于其在下落点G的粒径。
为了模拟烟雾颗粒运动的布朗效应,本方法不是在(CX,CY)处绘制烟雾颗粒,而是在以(CX,CY)为中心的矩形区域中随机选择点(PX,PY)进行绘制,计算公式如下:
在公式18中,rand10_2(0,1)和rand10_3(0,1)是0~1之间的随机数,RX和RY分别表示X和Y方向上的最大偏移量。
本方法采用OpenCV绘制烟雾颗粒,因为OpenCV可以绘制矩形、圆形和椭圆形,所以生成一个随机数rand10_4(0,1),乘以3后取整数部分;取整后的值可以是0、1和2,分别对应该烟雾颗粒的三种形态(矩形、圆形和椭圆形)。
绘制烟雾颗粒时,不透明度与绘制处的吸附概率阈值呈正相关性,所以设置为Opacity(PX,PY)=MaxAdhPro(CX,CY)。因为绘制区域内的某些像素点可能已经吸附其它烟雾颗粒,所以需要将绘制区域内的每个像素点视为半径为1的圆形逐个绘制,如果某个像素点已经吸附烟雾颗粒,还需要计算再次吸附后的不透明度。为了便于计算,建立规模为M×N的不透明度矩阵OpacMat[][],该矩阵保存壁画进行烟熏模拟时各个像素点的不透明度,即OpacMat[PY][PX]表示点(PX,PY)处的不透明度,初始值均为0。
在点(PX,PY)绘制烟雾颗粒时,首先根据烟雾颗粒的形态确定绘制区域的坐标范围;然后遍历绘制区域的每个像素点(TX,TY),如果OpacMat[TX][TY]值为0,那么说明(TX,TY)没有吸附烟雾颗粒,设置OpacMat[TX][TY]=Opacity(PX,PY)为不透明度进行绘制;如果OpacMat[TX][TY]值不为0,那么说明(TX,TY)已经吸附烟雾颗粒,需要计算两个烟雾颗粒重叠后不透明度Opacity'(PX,PY),其核心问题是一个不透明度为O1的像素点S,吸附在另一个面积相同、不透明度为O2的像素点T后,如何计算像素点T的不透明度,具体方法如下:
视S有比例为O1的区域被黑色覆盖,T有比例为O2的区域被黑色覆盖,S吸附在T上,由于S可能会覆盖T中未被黑色覆盖的区域,所以T中被黑色覆盖区域的比例将会增加。T中未被黑色覆盖区域的比例是1-O2,由几何概率性质可知,该部分被S覆盖的概率为O1,所以T中增加的黑色覆盖区域比例为(1-O2)·O1。由此可知,吸附后T中被黑色覆盖区域的比例为O2+(1-O2)·O1=O1+O2-O1·O2,即不透明度为O1+O2-O1·O2。
由此可知,重叠后的不透明度是Opacity'(PX,PY)=OpacMat[TY][TX]+Opacity(PX,PY)-OpacMat[TY][TX]·Opacity(PX,PY),因此,设置OpacMat[TX][TY]=Opacity'(PX,PY)为不透明度进行绘制即可。
(11)步骤S11:暂停烟熏。
设置烟熏控制参数PauseFire=1(暂停烟熏),烟雾颗粒暂停运动。
(12)步骤S12:“快照”截取。
使用图像保存函数(如OpenCV的cvSaveImage)存储吸附烟雾颗粒的壁画图像。
(13)步骤S13:继续烟熏。
设置烟熏控制参数PauseFire=0(继续烟熏),系统重新进入烟熏动态绘制阶段,烟雾颗粒在原先暂停处继续开始运动。
本发明具有下述三方面优点:
(1)容易掌握:本方法所需输入的参数都是表示烟熏壁画形成过程的形态学参数,具有直观可视的物理学意义,容易被广大非理工科用户所掌握。
(2)步骤简单:传统方法一般需要3~4个基本步骤,每个基本步骤包含若干操作,某些复杂操作还需要继续细分,步骤比较繁琐。本方法只有设置烟熏参数1个步骤,所有参数都显示在同一个窗口中,可以同时输入,毋需换页操作。因此,相比传统方法,本方法的操作步骤有了很大简化。
(3)真实感强:本方法通过控制大量烟熏颗粒的运动来模拟烟熏效果,符合烟熏壁画的形成过程。在模拟过程中,本方法严格遵循已知规律控制烟熏颗粒的粒径、吸附概率、速度等参数,采用轮询策略逐帧计算和绘制烟熏颗粒,能够表现壁画烟垢从无到有的全过程;在绘制烟雾颗粒时,本方法提出一种高效的多烟雾颗粒彼此重叠后不透明度计算方法,能够逼真模拟烟垢不透明度连续变化的区域;此外,本方法建立了烟雾颗粒离开热烟气层后的吸附模型,能够准确模拟少量孤立的烟垢斑点。为了提高模拟效率,本方法还通过“快照”截取的方式获取和分析烟熏壁画,有利于及时发现和排除效果不好的烟熏模拟实例,避免浪费时间进行不符合真实感要求的烟熏模拟。
虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (8)
1.一种烟熏壁画动态形成过程的模拟方法,其特征在于,包括:
根据烟雾颗粒的运动轨迹、范围、速度、粒径和壁画颜料对烟雾颗粒的吸附性,建立基于烟雾颗粒运动及分布规律的烟熏壁画动态形成模型;
根据所述烟熏壁画动态形成模型,将烟雾颗粒整体运动参数随机转换为每个烟雾颗粒自身的运动参数,并根据所述每个烟雾颗粒自身的运动参数,计算烟雾颗粒在不同时刻的运动状态;
根据所述烟雾颗粒在不同时刻的运动状态,计算壁画在烟雾颗粒所在位置处对烟雾颗粒的吸附概率阈值,根据所述吸附概率阈值,确定出烟雾颗粒绘制区域内像素点的不透明度,并根据所述不透明度,采用可视化方法动态绘制吸附在壁画表面的烟雾颗粒。
2.根据权利要求1所述的烟熏壁画动态形成过程的模拟方法,其特征在于,所述根据所述烟熏壁画动态形成模型,将烟雾颗粒整体运动参数随机转换为每个烟雾颗粒自身的运动参数,包括:
读取正常壁画图像,显示在预设的区域;
基于所述烟熏壁画动态形成模型,输入描述烟雾颗粒整体运动的参数;
根据所述描述烟雾颗粒整体运动的参数,计算热烟气层的左右边界形态参数;其中,所述热烟气层的左右边界形态参数包括热烟气层的左右边界各段抛物线的形态系数和顶点坐标;
根据所述热烟气层的左右边界形态参数,设置每个烟雾颗粒自身运动参数;所述每个烟雾颗粒自身运动参数包括位置坐标、运动速度、运动状态、运动区域、吸附概率、不透明度和运动轨迹。
3.根据权利要求1或2所述的烟熏壁画动态形成过程的模拟方法,其特征在于,所述根据所述烟雾颗粒在不同时刻的运动状态,计算壁画在烟雾颗粒所在位置处对烟雾颗粒的吸附概率阈值,包括:
启动烟熏模拟;
初始化烟熏帧开始时刻;
判断烟雾颗粒是否全部处于死亡状态,若存在烟雾颗粒未处于死亡状态,则计算上一帧的运行时间和当前帧的开始时刻;
根据所述上一帧的运行时间和当前帧的开始时刻,计算和更新不同状态烟雾颗粒在当前时刻的位置坐标和运动状态信息,其中,所述运动状态包括抛物线或直线运动状态、反射后弧线运动状态、水平直线运动状态和下落状态;
根据所述不同状态烟雾颗粒在当前时刻的位置坐标和运动状态信息,计算所述吸附概率阈值。
4.根据权利要求3所述的烟熏壁画动态形成过程的模拟方法,其特征在于,所述根据所述不同状态烟雾颗粒在当前时刻的位置坐标和运动状态信息,计算所述吸附概率阈值,包括:
对于处于抛物线运动状态、直线运动状态、反射后弧线运动状态或水平直线运动状态的烟雾颗粒,根据该烟雾颗粒在当前时刻的位置坐标,计算所述当前时刻该烟雾颗粒纵坐标处烟雾中心的吸附概率阈值,根据所述当前时刻该烟雾颗粒纵坐标处烟雾中心的吸附概率阈值,计算壁画在该烟雾颗粒所在位置处对该烟雾颗粒的吸附概率阈值;
对于处于下落状态的烟雾颗粒,将壁画图像由RGB空间分别转换到亮度-红绿-黄蓝空间和色相-饱和度-亮度空间,将该烟雾颗粒所带电荷视为负电荷,根据阳离子壁画颜料颜色在亮度-红绿-黄蓝空间和色相-饱和度-亮度空间的特性,确定出壁画颜料正电荷对该烟雾颗粒的吸附概率阈值,根据该烟雾颗粒当前在竖直方向的速度,确定出壁画颜料对该烟雾颗粒在当前在竖直方向的速度下的吸附概率阈值,根据所述壁画颜料正电荷对该烟雾颗粒的吸附概率阈值、壁画颜料对该烟雾颗粒在当前在竖直方向的速度下的吸附概率阈值,以及概率加法法则,确定出壁画在该烟雾颗粒所在位置处对该烟雾颗粒的吸附概率阈值。
5.根据权利要求3所述的烟熏壁画动态形成过程的模拟方法,其特征在于,在所述根据所述不同状态烟雾颗粒在当前时刻的位置坐标和运动状态信息,计算所述吸附概率阈值之后,还包括:
对于每一个烟雾颗粒,确定出一个随机数,判断该随机数是否大于壁画在该烟雾颗粒所在位置处对该烟雾颗粒的吸附概率阈值,若该随机数不大于壁画在该烟雾颗粒所在位置处对该烟雾颗粒的吸附概率阈值,则计算壁画吸附该烟雾颗粒时该烟雾颗粒的粒径;
其中,所述根据所述不透明度,采用可视化方法动态绘制吸附在壁画表面的烟雾颗粒,包括:
根据所述不透明度和壁画吸附烟雾颗粒时烟雾颗粒的粒径,采用可视化方法动态绘制吸附在壁画表面的烟雾颗粒。
6.根据权利要求1所述的烟熏壁画动态形成过程的模拟方法,其特征在于,所述根据所述吸附概率阈值,确定出烟雾颗粒绘制区域内像素点的不透明度,包括:
根据所述吸附概率阈值和烟雾颗粒区域覆盖的几何概率,计算烟雾颗粒绘制区域内吸附若干个烟雾颗粒的像素点的不透明度。
7.根据权利要求1所述的烟熏壁画动态形成过程的模拟方法,其特征在于,还包括:
停止对壁画图像的烟雾颗粒绘制、在对烟雾颗粒进行绘制的过程中截取壁画图像和/或在停止对壁画图像的烟雾颗粒绘制之后,继续对壁画图像进行烟雾颗粒绘制。
8.一种烟熏壁画真实感模拟装置,其特征在于,包括:
模型建立单元,用于根据烟雾颗粒的运动轨迹、范围、速度、粒径和壁画颜料对烟雾颗粒的吸附性,建立基于烟雾颗粒运动及分布规律的烟熏壁画动态形成模型;
计算单元,用于根据所述烟熏壁画动态形成模型,将烟雾颗粒整体运动参数随机转换为每个烟雾颗粒自身的运动参数,并根据所述每个烟雾颗粒自身的运动参数,计算烟雾颗粒在不同时刻的运动状态;
绘制单元,用于根据所述烟雾颗粒在不同时刻的运动状态,计算壁画在烟雾颗粒所在位置处对烟雾颗粒的吸附概率阈值,根据所述吸附概率阈值,确定出烟雾颗粒绘制区域内像素点的不透明度,并根据所述不透明度,采用可视化方法动态绘制吸附在壁画表面的烟雾颗粒。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201510063876.5A CN104599293B (zh) | 2015-02-06 | 2015-02-06 | 烟熏壁画动态形成过程的模拟方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201510063876.5A CN104599293B (zh) | 2015-02-06 | 2015-02-06 | 烟熏壁画动态形成过程的模拟方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN104599293A CN104599293A (zh) | 2015-05-06 |
| CN104599293B true CN104599293B (zh) | 2017-07-07 |
Family
ID=53125043
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201510063876.5A Active CN104599293B (zh) | 2015-02-06 | 2015-02-06 | 烟熏壁画动态形成过程的模拟方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN104599293B (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110491312A (zh) * | 2019-08-16 | 2019-11-22 | 中国科学技术大学 | 残损文物原位虚拟修复展示装置 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104091025A (zh) * | 2014-07-11 | 2014-10-08 | 清华大学 | 烟熏效果真实感模拟方法 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101098834B1 (ko) * | 2009-12-02 | 2011-12-26 | 한국전자통신연구원 | 동역학 기반 동작 생성 장치 및 방법 |
-
2015
- 2015-02-06 CN CN201510063876.5A patent/CN104599293B/zh active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104091025A (zh) * | 2014-07-11 | 2014-10-08 | 清华大学 | 烟熏效果真实感模拟方法 |
Non-Patent Citations (1)
| Title |
|---|
| 敦煌莫高窟的保护与管理;樊锦诗;《敦煌研究》;20000131(第1期);第1-4页 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN104599293A (zh) | 2015-05-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Von Funck et al. | Smoke surfaces: An interactive flow visualization technique inspired by real-world flow experiments | |
| Chiba et al. | Two‐dimensional visual simulation of flames, smoke and the spread of fire | |
| CN102147928B (zh) | 一种基于粒子系统的火焰模拟加速改进算法 | |
| CN102831275B (zh) | 一种3d流体的仿真方法及系统 | |
| CN106056660A (zh) | 一种移动终端模拟粒子系统的方法 | |
| WO2017198104A1 (zh) | 一种粒子系统的处理方法及装置 | |
| CN110310348A (zh) | 一种基于粒子系统的三维火焰动态模拟方法 | |
| CN109658496A (zh) | 一种飞机红外纹理图像生成方法 | |
| CN104599293B (zh) | 烟熏壁画动态形成过程的模拟方法 | |
| CN105303601A (zh) | 一种基于粒子系统的喷泉模拟实现方法 | |
| CN101561939A (zh) | 基于物理的物体交互式燃烧模拟方法 | |
| CN102128570A (zh) | 一种基于粒子系统的运载火箭尾焰仿真方法 | |
| CN102867336A (zh) | 一种基于热力学模型的固体燃烧过程模拟方法 | |
| CN101477709A (zh) | 面向陶瓷隧道窑的燃烧过程交互虚拟仿真方法 | |
| CN114254501A (zh) | 一种大规模草地渲染与仿真方法 | |
| US12535938B2 (en) | Digital imaging of granular media in graphics applications | |
| CN101477708A (zh) | 面向陶瓷辊道窑的燃烧过程交互虚拟仿真方法 | |
| Chen et al. | A hybrid method for water droplet simulation | |
| WO2025044423A1 (zh) | 虚拟地形的绘制方法、装置、设备、存储介质及程序产品 | |
| CN106373180A (zh) | 一种飞行模拟器态势渲染方法 | |
| KR101978026B1 (ko) | 회전 및 상승하는 화구 생성방법 | |
| CN117138334A (zh) | 虚拟场景中天气效果的渲染方法、装置、以及天气系统 | |
| CN108492371A (zh) | 一种面向火灾的三维建筑模型动态可视化方法 | |
| Yu et al. | A fire model for 2-D computer animation | |
| Su et al. | Pool fire rendering method based on improved particle system with collision detection algorithm |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |