CN110298909A - 一种基于三维元胞自动机的风化现象模拟方法 - Google Patents

一种基于三维元胞自动机的风化现象模拟方法 Download PDF

Info

Publication number
CN110298909A
CN110298909A CN201910575773.5A CN201910575773A CN110298909A CN 110298909 A CN110298909 A CN 110298909A CN 201910575773 A CN201910575773 A CN 201910575773A CN 110298909 A CN110298909 A CN 110298909A
Authority
CN
China
Prior art keywords
weathering
voxel
growth
model
cellular automaton
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.)
Granted
Application number
CN201910575773.5A
Other languages
English (en)
Other versions
CN110298909B (zh
Inventor
朱青
沈扬
齐娜
李蔚然
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Technology
Original Assignee
Beijing University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing University of Technology filed Critical Beijing University of Technology
Priority to CN201910575773.5A priority Critical patent/CN110298909B/zh
Publication of CN110298909A publication Critical patent/CN110298909A/zh
Application granted granted Critical
Publication of CN110298909B publication Critical patent/CN110298909B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A90/00Technologies having an indirect contribution to adaptation to climate change
    • Y02A90/10Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种基于三维元胞自动机的风化现象模拟方法,其简化了风化计算方法,在效率上得到显著提升,适用于实时性要求高的情况。该方法的整体框架包括:体素化器、基于三维元胞自动机模型的风化计算器和着色器;输入数据为三角形网格及环境参数,输出为具有风化效果的三角形网格模型;该方法包括:(1)将输入的三角形网格模型体素化;(2)基于元胞自动机模型,根据生物风化过程中生物的生长扩散规律和环境影响参数,模拟自然界环境因素对生物生长的影响规律;(3)将体素单元存储的风化进度信息传递给三角形网格顶点后,通过游戏引擎提供的着色器实现网格信息和相应纹理贴图的逐顶点映射,经视觉效果优化后渲染出风化后的网格模型。

Description

一种基于三维元胞自动机的风化现象模拟方法
技术领域
本发明涉及计算机图形学模拟的技术领域,尤其涉及一种基于三维元胞自动机的风化现象模拟方法。
背景技术
石材的风化是一种常见的自然现象,生物风化是其中的一种类型,表现为苔藓及微生物将轻易的在石体表面生长繁殖,造成石材变质,改变石材的外观。该现象在计算机图形领域的实现作为一种自然现象的模拟,在游戏、虚拟现实及仿真中广泛地应用。其最直接实现方法是修改模型素材,即美术工作者手动地根据现实风化效果调整原模型形态和材质。此方法可得到极高的满意度,但由于素材固定,风化状态的更换需要多次调整,造成繁复的工作量。如何通过程序高效且便捷地生成生物风化效果,具有深远的意义。
随着计算机硬件水平的提升,计算机图形学的表现力进展显著,计算机生成的图形被广泛应用于表示各种材质特性的物体和现象。已经提出多种方法模拟风化现象,涵盖二维纹理及三维模型。其中,三维空间的风化模拟主要为基于数学和物理模型的方法。在早期的研究中,Dorsey J等人建立了一种风化模型,模拟水分流动、多孔石块内矿物质的运输溶解和重结晶,结合次表面蒙特卡洛光线追踪器表现模型表面附近的半透明质感。该方法基于理想化的物理模型,可渲染出真实度极高的效果。在Lee S等人对石材的物理风化研究中,为石雕物理属性的瞬态行为定义了实时的估计函数,使用概率分布函数和环境加权因子模拟自然条件,最终通过体素可视化侵蚀后的石雕形态。Jain N等人提出了一个风化对象的三维随机模型,通过随机过程模拟风化点的生长,以显示金属在金属物体点蚀过程中的内部侵蚀和外部相干效应。上述方法主要模拟物理和化学风化,在模拟生物因素导致的风化方面,Desbenoit提出了模拟地衣的生长的方法,通过使用开发式扩散有限聚集模拟地衣与环境的相互作用和竞争有力条件的传播,并将模型图谱实例化,实现地衣形态的多样性,但因为包含碰撞检测等复杂计算,时间消耗大,无法满足实时性要求。
元胞自动机为解决复杂扩散问题提供了一条有效的途径。元胞自动机是一种时间、空间、状态均离散的网格动力学模型,它未严格定义物理方程或函数,而是由一系列模型构造的规则构成,其每个变量只取有限多个状态,且其状态改变的规则在时间空间上都是局部的。出于这些特性,现已有研究将元胞自动机模型引入生长、扩散相关的模拟中:Roque等人提出基于元胞自动机的植株生长模拟,Kanazawa等人通过使用二维元胞自动机在铁板上产生锈纹理图像,在二维元胞自动机的基础上,Suzuki等人提出了体素自动机,即一种改进的二维元胞自动机,模拟了三维铁质物体的腐蚀、穿洞效果。EvenP等人通过交互式重建实现了建筑工地图像的三维重建,并和多表面细胞自动机,对不同尺寸的工地模型,进行了油烟沉积物的模拟效果。
综上,现有的基于数学和物理模型的方法主要针对非实时应用领域,涉及复杂的数学物理公式,且包含数据量极大的高精度网格模型,需消耗较高时间成本,不适用于实时性要求高的情况,例如虚拟现实、游戏等。而元胞自动机对复杂扩散问题的解决能力,使其成为模拟风化效果的一种思路。
发明内容
为克服现有技术的缺陷,本发明要解决的技术问题是提供了一种基于三维元胞自动机的风化现象模拟方法,其简化了风化计算方法,在效率上得到显著提升,适用于实时性要求高的情况。
本发明的技术方案是:这种基于三维元胞自动机的风化现象模拟方法,该方法的整体框架包括:体素化器、基于三维元胞自动机模型的风化计算器和着色器;输入数据为三角形网格及环境参数,输出为具有风化效果的三角形网格模型;该方法包括以下步骤:
(1)将输入的三角形网格模型体素化,建立体素与网格模型的对应关系;三角形网格信息被用作表面体素化的数据源,将网格模型转化为体素表达形式,其中,每个体素单元存储与生物生长计算相关的信息;
(2)基于元胞自动机模型,根据生物风化过程中生物的生长扩散规律,在每次迭代中计算体素网格中每个体素存储的生物生长进度,称为风化进度;为真实地表现自然条件下的风化效果,引入光照方向、温度和湿度的环境影响参数,通过相应的环境影响函数改变风化步长,从而影响风化状态的变化速度;
(3)将体素单元存储的风化进度信息传递给三角形网格顶点后,通过游戏引擎提供的着色器实现网格信息和相应纹理贴图的逐顶点映射,经视觉效果优化后渲染出风化后的网格模型;
其中,步骤(2)-(3)为迭代步骤,每次迭代将重复该步骤,完成一次风化扩散的计算和渲染;迭代次数用以模拟石材风化过程中经历的时长。
本发明结合元胞自动机的特性,具体为风化中的生物因素,通过三维元胞自动机模型模拟苔藓、地衣等生物在石材表面的扩散效果;同时建立风化程度关于光照、温度和湿度等环境因子的影响函数及各环境因子计算函数,从而模拟自然界环境因素对苔藓、地衣的生长的影响规律;本发明可整合至当下主流游戏引擎,从而渲染出风化后的三角形网格模型。该方法简化了风化计算方法并使用GPU并行计算,在效率上得到显著提升,适用于实时性要求高的情况,且仅需通过环境参数的设定即可直观反映特定环境下的风化结果。
附图说明
图1是根据本发明的基于三维元胞自动机的风化现象模拟方法的整体框架图。
图2是根据本发明的基于三维元胞自动机的风化现象模拟方法的一个体素实例中的风化状态变化示意,其中图2a是未风化(gi=0),图2b是部分风化(0<gi<gmax),图2c是完全风化(gi≥gmax)。
图3是太阳直射强度与生物生长速度曲线。
图4是湿度与生物生长速度曲线。
图5是温度与生物生长速度曲线。
图6是根据本发明的基于三维元胞自动机的风化现象模拟方法的流程图。
具体实施方式
如图1、6所示,这种基于三维元胞自动机的风化现象模拟方法,该方法的整体框架包括:体素化器、基于三维元胞自动机模型的风化计算器和着色器;输入数据为三角形网格及环境参数,输出为具有风化效果的三角形网格模型;该方法包括以下步骤:
(1)将输入的三角形网格模型体素化,建立体素与网格模型的对应关系;三角形网格信息被用作表面体素化的数据源,将网格模型转化为体素表达形式,其中,每个体素单元存储与生物生长计算相关的信息;
(2)基于元胞自动机模型,根据生物风化过程中生物的生长扩散规律,在每次迭代中计算体素网格中每个体素存储的生物生长进度,称为风化进度;为真实地表现自然条件下的风化效果,引入光照方向、温度和湿度的环境影响参数,通过相应的环境影响函数改变风化步长,从而影响风化状态的变化速度;
(3)将体素单元存储的风化进度信息传递给三角形网格顶点后,通过游戏引擎提供的着色器实现网格信息和相应纹理贴图的逐顶点映射,经视觉效果优化后渲染出风化后的网格模型;
其中,步骤(2)-(3)为迭代步骤,每次迭代将重复该步骤,完成一次风化扩散的计算和渲染;迭代次数用以模拟石材风化过程中经历的时长。
本发明结合元胞自动机的特性,具体为风化中的生物因素,通过三维元胞自动机模型模拟苔藓、地衣等生物在石材表面的扩散效果;同时建立风化程度关于光照、温度和湿度等环境因子的影响函数及各环境因子计算函数,从而模拟自然界环境因素对苔藓、地衣的生长的影响规律;本发明可整合至当下主流游戏引擎,从而渲染出风化后的三角形网格模型。该方法简化了风化计算方法并使用GPU并行计算,在效率上得到显著提升,且仅需通过环境参数的设定即可直观反映特定环境下的风化结果;因此简化了风化计算方法,在效率上得到显著提升,适用于实时性要求高的情况。
体素化的目的是将输入的三角形网格模型离散化,获得用于风化计算的体素表示。体素化方法采用改进的基于三角形细分的方法。由于风化的作用对象仅为模型表面,为节约计算成本提升效率,发明中仅关注其中的表面体素化部分,而不考虑内部体素填充。同时,原方法是基于CPU的单线程计算,受硬件特性局限,处理效率相对较低。针对该问题,优选地,所述步骤(1)使用GPGPU使基于三角形细分的方法的体素化计算并行化,实现多线程处理。
优选地,所述步骤(1)中,体素单元vi的数据结构包括:定义当前体素单元在世界空间下的位置为Pi,当前体素单元是否需要填充的状态定义为fi,其默认状态为0,若当前体素单元包含三角形网格顶点,则与网格有交集,设为1;Ni表示体素单元对应于网格的法线信息,将在风化计算参与环境影响因子的计算;gi为当前体素单元位置的风化进度,是描述风化状态的重要参数。
表1
参数 描述
P<sub>i</sub> 体素单元坐标
f<sub>i</sub> 体素单元填充状态
N<sub>i</sub> 体素单元法线
g<sub>i</sub> 体素单元风化进度
本发明设计了一种用于模拟苔藓在石体上扩散的三维元胞自动机。上一步体素化步骤生成了规则3D网格,每个网格即一个体素单元,有效计算区域为整个3D网格中与原三角形网格模型相交的全部体素单元。每个体素单元格的状态为实例化的体素数据结构(如表1)。下面将对设计的元胞自动机进行详细说明。优选地,所述步骤(2)包括以下步骤:
(2.1)初始化:风化进度在初始化过程中使用到种子的生成,生成一个随机数r∈(0,100),并定义随机阈值rp,则体素单元苔藓及微生物的初始生长进度gi (0)根据公式(1)求得:
(2.2)风化扩散:定义一个时间步长为一次迭代,在每次生长迭代中,遵照26-邻域体素网格的规则扩散,转换规则公式S(x,y,z)定义为:
其中K为处理核的大小,由于此处使用26邻域,K=3,g(x,y,z)为gi的索引表示形式,
令gp为生长起始阈值,gmax为生长饱和状态,风化步长Δg为每次迭代时风化进度的增加量,则风化扩散计算方法为:
遍历每一个体素单元vi
(2.2.1)若当前体素gi (j)=0(处于未生长状态):
(2.2.1.1)根据上文定义的转换规则公式获取当前坐标下的S(idx,idy,idz)值;
(2.2.1.2)若S(x,y,z)≥gp,gi (j+1)=gi (j)+Δg;
(2.2.2)否则:
(2.2.2.1)若当前体素处于生长中状态(0<gi<gmax),gi (j+1)=gi (j)+Δg;
(2.2.3)否则,计算结束;
图2展示了以上过程中体素单元与邻域26个体素单元的一个实例。当前体素单元处于中心位置(由加粗轮廓线框出),由于受到周围体素单元影响,当前单元将参与风化过程,(a)至(c)分别按照风化的时间顺序(即迭代次数)反映了风化的三种状态,在图中(a)的状态下当前体素单元未风化,即未被生物侵蚀,用空白表示。(b)为部分风化状态,苔藓地衣部分覆盖石体,仍可能继续生长,用浅灰色表示。最后(c)为完全风化,苔藓地衣完全覆盖石体,生长饱和度达到最大不再风化,用深灰色表示。由于每个体素单元的计算独立,该计算使用GPU加速,为每个体素单元分配一个GPU线程并行计算。
(2.3)应当注意的是,现实环境中石材上不同位置的生物生长速度并非均匀,环境参数会对风化步长Δg造成影响,如背光面比向光面生长迅速,湿度、温度能促进或抑制生长等。下文将分别描述针对这些环境因素的模拟方式。影响苔藓等生物生长的主要因素主要有三种:光照、湿度和温度,湿度又可分为大气湿度和石体表面湿度,为使这些影响应用于风化过程,引入其相应的环境影响因子。确定环境影响因素:定义光照因子为FL,大气湿度因子和表面湿度因子分别为FHa和FHup,温度因子为FT,则生长步长Δg根据公式(3)求得:
Δg=Δg0FLFHaFT+FHup (3)
其中,Δg0为基础风化步长,是一个非0常数。
环境中的光照会影响苔藓的生长,相对于向阳面,苔藓更倾向于分布于背阳面。这是由于苔藓是一种阴生植物,绝大多数种类的苔藓对湿度要求高,难以在阳光直射面生长。基于以上规律,通过图3所示曲线近似地表示了太阳直射强度与生长速度的关系。由图可得,直射强度与生物生长速度有接近于反比的关系。优选地,所述步骤(2.3)的光照因子通过公式(4)获得:
其中,N为当前体素单元的法线方向,Dl为光照方向向量变量。
苔藓需要液态水维持正常的生长,干燥会导致苔藓停滞生长甚至枯萎,而过高的湿度将影响植物的呼吸作用,同时也会促进厌氧菌类大量繁殖,导致苔藓死亡。常见于石雕上的苔藓种类最适宜湿度约为80%,低于或高于此数值,均会导致生长速度的下降。环境中的湿度影响可分为两种类型:空气相对湿度影响和物体表面湿度影响。空气相对湿度作用于整个环境,即对所有体素单元均造成相同的影响。由苔藓与相对湿度的关系讨论,获得如图4所示的关系曲线。优选地,所述步骤(2.3)的大气湿度因子FHa通过公式(5)获得:
k1,k2为系数,当k1=80,k2=200时,所得曲线最接近目标曲
线,最能反映湿度与生长速度的关系。
除空气湿度外,另一个显著的湿度因素为物体表面湿度。在露天的自然环境中,石体朝上的面通常会更多地与雨水接触,因此这些区域的苔藓生长会受到促进。优选地,所述步骤(2.3)的表面湿度因子FHup通过公式(6)获得:
FHup=|Vup·N| (6)
其中,N为当前体素单元归一化的法线,Vup为竖直单位向量。
石雕上常见苔藓的正常生长温度为22-25℃,低于20℃时生长缓慢,温度过低时会进入休眠状态,停滞生长。反之,高温同样会影响苔藓正常生长。与相对湿度影响的计算类似,得到图5所示曲线。优选地,所述步骤(2.3)的温度影响因子FT通过公式(7)获得:
其中,当系数k3=0.25,k4=25时,近似效果最佳。
得到每个环境影响因子后,即可通过公式(4)求得当前体素的加权生长步长Δg。
优选地,所述步骤(3)中,体素模型的生长状态计算结果将通过体素化步骤中的映射关系传递给三角形网格的每一个顶点,随后根据该信息进行渲染;根据每个顶点所具有的不同的风化状态值对应不同的顶点颜色ID,在着色器中,建立顶点颜色ID与相应纹理贴图的映射关系。
优选地,所述步骤(3)中,风化状态相应颜色ID及纹理贴图为:
未生长,(0,1,0,1),纯石质;生长中,(1,0,0,1),部分覆盖苔藓的石质;已成熟,(0,0,1,1),完全覆盖苔藓的石质。
表2反映了一个风化实例中,风化状态颜色ID与纹理贴图的对应关系。
表2
为验证算法的风化模拟效果和实时性,下面将分别从视觉效果和运行效率角度分析。
视觉效果方面,基本还原了现实世界中环境因素对风化的影响规律。在仅受光照因素的影响下,阴影中的苔藓和地衣纹理几乎完全覆盖住石材表面,且处于生长饱和状态。而在受光面,只有少部分生长,且均处于生长中的状态。由此可以得出,经过光照影响因子的叠加,有效地还原了风化进程在阴影面高于直射面的特性。
在仅受湿度因素的影响下,在湿度参数H为80时苔藓覆盖面积最大,数值为100和60时相对80的扩散程度有所下降,而在30时效果更加不明显。另外值得注意的是,苔藓和地衣纹理多聚集于模型中朝上的面,这是由于受到石材表面湿度因子FHup的作用,导致法线方向朝竖直正方向的区域会滋生相对茂密的生物。
在仅受温度因素影响下,当T=15时生长停滞;20时有一定程度的苔藓覆盖,但较为稀疏,以极缓慢的速度增长,25时几乎覆盖整个石材模型,且苔藓处于生长成熟状态,30时与20时相似,仅有少量苔藓、地衣在缓慢生长的状态。因此,在温度参数的作用下,石材模型表面的生物风化程度呈现出以25度为最高峰,向两级递减的趋势。
运行效率方面,本发明在Unity3D引擎中的运行效率如表3所示,作为对照,表中给出了Desbenoit等人实现生物风化的运行效率。由表可得,本方法相比之下更能满足实时性的要求,主要原因是本方法主要从模型的材质表现风化形态,并未使用对资源耗费极大的粒子,这在很大程度上降低了计算量。同时,本方法采用的是元胞自动机模型,其中对风化状态的判断仅需关注每个体素与邻域的关系,无需时间复杂度较高的碰撞检测计算。
表3
具体地,本发明的流程如图6所示。
1.将输入的三角形网格模型体素化。读取并记录三角形网格模型的信息,包括顶点、三角面等,将网格模型转化为体素表达形式,并初始化每个体素单元的状态,包括位置、填充状态、法线信息和风化进度。其中,所有包含网格模型顶点的体素单元标记为填充,其法线为该顶点的法线方向,其余体素单元法线为零向量;风化进度的初始化方法为:对每个被记为填充的体素单元中生成一个[0,100]区间内的随机值,若该值小于初始阈值(输入的自定义值,例中为30),则设置当前体素单元风化进度为0.1。
2.计算体素单元的风化步长。在每一次时间迭代中,遍历所有标记为填充的体素单元,首先判断当前体素单元是否需要进行风化计算,即判断当前风化进度是否大于0且小于完全风化进度值(自定义值,例中设为20),若满足条件,则结合输入的光照方向、温度值和湿度值等环境影响参数,使用环境影响函数计算光照、温度、相对湿度和物体表面湿度因子,并进一步获得当前体素单元受环境影响后的风化步长。
3.计算体素单元的风化进度。计算其邻域26个体素单元的风化进度之和,若结果在一个指定的阈值内,则将风化进度加上一个风化步长。
4.通过对网格模型着色将体素单元的风化信息转化为模型的材质。将每个体素单元的风化进度转换为颜色信息传递给对应三角形网格顶点,其中三种风化状态分别表示为三个不同的颜色ID(此例中使用红、绿、蓝三色对应部分风化、未风化和完全风化)。通过Unity3D引擎自定义的着色器实现逐顶点上颜色ID和相应纹理贴图的映射,三种ID分别对应的纹理为未风化的石质、轻微风化的石质和被苔藓完全覆盖的石质,从而在网格模型的每个顶点呈现与当前风化状态对应的纹理贴图效果。
5.通过着色器优化风化材质效果。调整每个颜色ID的权重从而调整纹理贴图混合方式,使不同风化状态间的纹理自然过渡。此外,为获得石质随风化程度迭代而变暗的效果,将迭代次数乘以特定系数(此例中系数为0.05)并用1减去该值后,与未风化状态对应的纹理颜色值相乘。最终渲染得风化后的网格模型。
以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。

Claims (10)

1.一种基于三维元胞自动机的风化现象模拟方法,其特征在于:该方法的整体框架包括:体素化器、基于三维元胞自动机模型的风化计算器和着色器;输入数据为三角形网格及环境参数,输出为具有风化效果的三角形网格模型;该方法包括以下步骤:
(1)将输入的三角形网格模型体素化,建立体素与网格模型的对应关系;三角形网格信息被用作表面体素化的数据源,将网格模型转化为体素表达形式,其中,每个体素单元存储与生物生长计算相关的信息;
(2)基于元胞自动机模型,根据生物风化过程中生物的生长扩散规律,在每次迭代中计算体素网格中每个体素存储的生物生长进度,称为风化进度;为真实地表现自然条件下的风化效果,引入光照方向、温度和湿度的环境影响参数,通过相应的环境影响函数改变风化步长,从而影响风化状态的变化速度;
(3)将体素单元存储的风化进度信息传递给三角形网格顶点后,通过游戏引擎提供的着色器实现网格信息和相应纹理贴图的逐顶点映射,经视觉效果优化后渲染出风化后的网格模型;
其中,步骤(2)-(3)为迭代步骤,每次迭代将重复该步骤,完成一次风化扩散的计算和渲染;迭代次数用以模拟石材风化过程中经历的时长。
2.根据权利要求1所述的基于三维元胞自动机的风化现象模拟方法,其特征在于:所述步骤(1)使用GPGPU使基于三角形细分的方法的体素化计算并行化,实现多线程处理。
3.根据权利要求2所述的基于三维元胞自动机的风化现象模拟方法,其特征在于:所述步骤(1)中,体素单元vi的数据结构包括:定义当前体素单元在世界空间下的位置为Pi,当前体素单元是否需要填充的状态定义为fi,其默认状态为0,若当前体素单元包含三角形网格顶点,则与网格有交集,设为1;Ni表示体素单元对应于网格的法线信息,将在风化计算参与环境影响因子的计算;gi为当前体素单元位置的风化进度,是描述风化状态的重要参数。
4.根据权利要求3所述的基于三维元胞自动机的风化现象模拟方法,其特征在于:所述步骤(2)包括以下步骤:
(2.1)初始化:风化进度在初始化过程中使用到种子的生成,生成一个随机数r∈(0,100),并定义随机阈值rp,则体素单元苔藓及微生物的初始生长进度gi (0)根据公式(1)求得:
(2.2)风化扩散:定义一个时间步长为一次迭代,在每次生长迭代中,遵照26-邻域体素网格的规则扩散,转换规则公式S(x,y,z)定义为:
其中K为处理核的大小,由于此处使用26邻域,K=3,g(x,y,z)为gi的索引表示形式,
令gp为生长起始阈值,gmax为生长饱和状态,风化步长Δg为每次迭代时风化进度的增加量,则风化扩散计算方法为:
遍历每一个体素单元vi
(2.2.1)若当前体素gi (j)=0(处于未生长状态):
(2.2.1.1)根据上文定义的转换规则公式获取当前坐标下的S(idx,idy,idz)值;
(2.2.1.2)若S(x,y,z)≥gp,gi (j+1)=gi (j)+Δg;
(2.2.2)否则:
(2.2.2.1)若当前体素处于生长中状态(0<gi<gmax),
gi (j+1)=gi (j)+Δg;
(2.2.3)否则,计算结束;
(2.3)确定环境影响因素:定义光照因子为FL,大气湿度因子和表面湿度因子分别为FHa和FHup,温度因子为FT,则生长步长Δg根据公式(3)求得:
Δg=Δg0FLFHaFT+FHup (3)
其中,Δg0为基础风化步长,是一个非0常数。
5.根据权利要求4所述的基于三维元胞自动机的风化现象模拟方法,其特征在于:所述步骤(2.3)的光照因子通过公式(4)获得:
其中,N为当前体素单元的法线方向,Dl为光照方向向量变量。
6.根据权利要求5所述的基于三维元胞自动机的风化现象模拟方法,其特征在于:所述步骤(2.3)的大气湿度因子FHa通过公式(5)获得:
k1,k2为系数,当k1=80,k2=200时,所得曲线最接近目标曲线,最能反映湿度与生长速度的关系。
7.根据权利要求6所述的基于三维元胞自动机的风化现象模拟方法,其特征在于:所述步骤(2.3)的表面湿度因子FHup通过公式(6)获得:
FHup=|Vup·N| (6)
其中,N为当前体素单元归一化的法线,Vup为竖直单位向量。
8.根据权利要求7所述的基于三维元胞自动机的风化现象模拟方法,其特征在于:所述步骤(2.3)的温度影响因子FT通过公式(7)获得:
其中,当系数k3=0.25,k4=25时,近似效果最佳。
9.根据权利要求8所述的基于三维元胞自动机的风化现象模拟方法,其特征在于:所述步骤(3)中,体素模型的生长状态计算结果将通过体素化步骤中的映射关系传递给三角形网格的每一个顶点,随后根据该信息进行渲染;根据每个顶点所具有的不同的风化状态值对应不同的顶点颜色ID,在着色器中,建立顶点颜色ID与相应纹理贴图的映射关系。
10.根据权利要求9所述的基于三维元胞自动机的风化现象模拟方法,其特征在于:所述步骤(3)中,风化状态相应颜色ID及纹理贴图为:
未生长,(0,1,0,1),纯石质;生长中,(1,0,0,1),部分覆盖苔藓的石质;已成熟,(0,0,1,1),完全覆盖苔藓的石质。
CN201910575773.5A 2019-06-28 2019-06-28 一种基于三维元胞自动机的风化现象模拟方法 Active CN110298909B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910575773.5A CN110298909B (zh) 2019-06-28 2019-06-28 一种基于三维元胞自动机的风化现象模拟方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910575773.5A CN110298909B (zh) 2019-06-28 2019-06-28 一种基于三维元胞自动机的风化现象模拟方法

Publications (2)

Publication Number Publication Date
CN110298909A true CN110298909A (zh) 2019-10-01
CN110298909B CN110298909B (zh) 2023-04-07

Family

ID=68029492

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910575773.5A Active CN110298909B (zh) 2019-06-28 2019-06-28 一种基于三维元胞自动机的风化现象模拟方法

Country Status (1)

Country Link
CN (1) CN110298909B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112507589A (zh) * 2020-12-04 2021-03-16 北京石油化工学院 一种菌类物料热风干燥过程的仿真方法
CN113160413A (zh) * 2021-02-25 2021-07-23 北京大学 一种基于细胞自动机的实时动态云层绘制方法
CN115906590A (zh) * 2023-01-05 2023-04-04 苏州数算软云科技有限公司 一种注塑充型的模拟填充方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060087509A1 (en) * 2004-06-30 2006-04-27 Ebert David S Computer modeling and animation of natural phenomena
CN105528494A (zh) * 2015-12-29 2016-04-27 上海大学 基于三维元胞自动机的轻量化模型生成及优化方法
CN108959698A (zh) * 2018-05-18 2018-12-07 东南大学 一种基于三维元胞自动机技术的金属腐蚀形态模拟方法
CN109377541A (zh) * 2018-08-22 2019-02-22 山东捷瑞数字科技股份有限公司 一种基于着色器实时表现气象变化的虚拟仿真系统和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060087509A1 (en) * 2004-06-30 2006-04-27 Ebert David S Computer modeling and animation of natural phenomena
CN105528494A (zh) * 2015-12-29 2016-04-27 上海大学 基于三维元胞自动机的轻量化模型生成及优化方法
CN108959698A (zh) * 2018-05-18 2018-12-07 东南大学 一种基于三维元胞自动机技术的金属腐蚀形态模拟方法
CN109377541A (zh) * 2018-08-22 2019-02-22 山东捷瑞数字科技股份有限公司 一种基于着色器实时表现气象变化的虚拟仿真系统和方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SUYEOL LEE 等: "A visual simulation method for weathering progress of stone artifacts", 《MULTIMED TOOLS AND APPLICATIONS》 *
高超等: "基于GPU的元胞自动机熔岩流动模拟", 《计算机工程与设计》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112507589A (zh) * 2020-12-04 2021-03-16 北京石油化工学院 一种菌类物料热风干燥过程的仿真方法
CN112507589B (zh) * 2020-12-04 2023-05-26 北京石油化工学院 一种菌类物料热风干燥过程的仿真方法
CN113160413A (zh) * 2021-02-25 2021-07-23 北京大学 一种基于细胞自动机的实时动态云层绘制方法
CN113160413B (zh) * 2021-02-25 2022-07-12 北京大学 一种基于细胞自动机的实时动态云层绘制方法
CN115906590A (zh) * 2023-01-05 2023-04-04 苏州数算软云科技有限公司 一种注塑充型的模拟填充方法及装置

Also Published As

Publication number Publication date
CN110298909B (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
CN110298909A (zh) 一种基于三维元胞自动机的风化现象模拟方法
Reeves et al. Approximate and probabilistic algorithms for shading and rendering structured particle systems
CN102289846B (zh) 一种基于广义参数化建模的树木模拟方法
CN107832562B (zh) 一种大气污染扩散的仿真方法与仿真系统
CN102314546B (zh) 基于虚拟植物的植物生长生物量变化估算方法
CN101241603B (zh) 一种电磁场强度实时可视化方法
CN100570641C (zh) 基于物理的植物叶子模拟方法
CN106228594B (zh) 基于曲面细分的台风模式云动画显示方法
CN105760581B (zh) 一种基于osg的沟道流域整治规划仿真方法及系统
CN106097424A (zh) 一种农业生态场景的可视化方法及装置
CN101615300B (zh) 一种屏幕空间微结构表面对象环境光遮挡方法
Wen et al. Estimating canopy gap fraction and diffuse light interception in 3D maize canopy using hierarchical hemispheres
CN102855661A (zh) 基于空间相似性的大规模森林场景快速生成方法
CN106844979A (zh) 一种城市虚拟公园交互式组合设计系统及方法
Beneš et al. Interactive modeling of virtual ecosystems
Du Application of CAD aided intelligent technology in landscape design
CN114462316A (zh) 一种面向国土空间规划的空气质量优化模拟方法
CN116560746A (zh) 虚幻引擎平台下实时天气的动态加载系统及动态加载方法
Daubert et al. Hierarchical lighting simulation for outdoor scenes
CN102867325B (zh) 植物叶片病斑渲染方法
Kohek et al. Interactive synthesis and visualization of self-organizing trees for large-scale forest succession simulation
CN105045934A (zh) 一种处理大型地理栅格数据的并行聚类方法
Ding et al. New collision detection method for simulating virtual plant populations
CN113160413A (zh) 一种基于细胞自动机的实时动态云层绘制方法
Wu et al. An interactive design method for realistic fruit rot modeling and simulation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant