APP下载

基于植物顶端优势原理的树木建模方法

2018-03-13王春华

计算机与现代化 2018年2期
关键词:光密度体素树木

王春华,韩 栋

(黄淮学院信息工程学院,河南 驻马店 463000)

0 引 言

三维树木模型是虚拟场景中具有普遍性和代表性的自然景观模型[1-3],可广泛应用于计算机游戏、虚拟生态景观、数字农业、虚拟城市等。因树木种类繁多且几何结构差异性大,三维树木建模研究一直是计算机图形学、计算机视觉和虚拟现实等领域具有挑战性的研究课题[4-6]。

自组织结构建模和递归结构建模是树木真实感建模的2大主流思想,早期研究可分别追溯于Ulam于1962年发表的学术论文[7]和Honda于1971年提出的参数化建模方法[8]。Honda将树木视为一种参数的递归结构,参数主要由分枝角度、单元模块尺寸等构成,后来的树木建模分形方法[9-10]、L-system方法[11]皆在此基础上产生。递归结构的算法,由于基于一个基本的递归结构不断地迭代,因此局部参数的细微变化将引起整个模拟结果的巨大变化,且整个建模过程不易控制。Ulam将树木视为自组织的结构,分枝模型源于个体单元对资源的竞争,文献[12-15]在此基础上进行了更深入的研究,都强调树木结构模型对周围环境的自适应性。据Sachs和Novoplansky[16]观察,较之递归结构,Ulam自组织结构的思想能更好地捕获树木生长的本质。

本文基于自组织结构的思想,提出一种树木基本生长单位——芽基于光源竞争的建模方法,详细描述了模拟算法各个环节的计算过程,通过实验验证了算法在模拟树木顶端优势的各种情况、向地性现象和向光性现象等方面的有效性,生成结果真实感强。

1 相关术语

为了便于理解和建模,本文将树木视为一种分层次组织的模块化结构,从芽的生长命运和顶端优势2方面介绍树木生长的植物学原理。

1.1 芽的生长命运

树木由芽生长发育而成。根据芽的位置,芽可分为顶芽和侧芽2种,侧芽位于叶和枝轴之间,顶芽位于树枝或树干末端,如图1所示。叶与树枝或树干的交叉点称为节点,同一枝上相邻2个节点之间称为节间。受生长环境影响,芽有4种不同的生长命运:生长为幼枝、生长为花、处于休眠状态(在以后的某个生长期再生长)和脱落死亡。

图1 树木生长构成图

1.2 顶端优势

植物学上,树木外观主要受顶端优势的影响,不同的顶端优势将产生不同的树冠。顶芽优先生长而使侧芽受到抑制的现象,称为顶端优势,其可分为3种情况:1)顶端可以完全或几乎完全抑制侧芽生长,树木主干明显;2)一个枝条的生长可以比其他枝条占优势,该枝条生长茂密;3)顶端可以影响分枝和叶的方位。优势的程度与遗传性、环境因素、生理过程及植物年龄等有关。究其本质,顶端优势是由树林内部营养成份传输和外部光照等因素决定的,本文主要通过外部光源竞争思想来模拟树木的建模。

2 TMLC算法的提出

本文通过迭代模拟树木芽在每个生长周期内与光源竞争来实现树木建模,该建模算法简称为TMLC(Tree Modeling based on Light Competition)。在TMLC算法中,芽的每个生长周期都需要完成3个主要环节的计算:计算芽的生长环境、分配芽的生长资源和模拟幼枝生长,如图2所示。

2.1 芽生长环境计算

图2 TMLC算法主要流程框图

为了便于描述,定义Na={n|n是芽a的锥形半影区中的体素网格},即体素网格ni∈Na;定义C(Na)表示Na中阴影值最小的体素网格。

1)初始化。将生长空间划分为体素网格,如图3所示。初始化每个网格(x,y,z)的阴影值s=0。

2)产生阴影区。芽A所在体素网格(X,Y,Z)产生一个位于它下方、光照受其影响的锥形半影区NA,NA中元素n的空间索引值(x,y,z)=(X±p,Y-q,Z±p),其中q=0,1,…,qmax,p=0,1,…,q。

3)计算阴影增量。受芽A遮挡的影响,Na中元素n的阴影增量Δs=ab-q,其中a是比例系数,a>0;b是体素的光密度值,b>1。

4)计算光量值。体素(x,y,z)所接收到的光量Q=max (C-s+a,0),C为体素在没有任何遮挡时的光量值。

图3 芽生长空间体素网格图

2.2 芽生长资源分配

1)统计每个枝上芽的数量以及各芽所接收的光量Q值;

3)生成每个枝的优先级链表,按光量值递减排序各芽;

4)若有顶端优势,则不论枝上末端芽所接收的光量Q值大小,均将其移至优先级链表的头部;

5)根据优先级链表,分配各枝和枝上各芽的内生资源,分配表达式如下:

(1)

图4 资源分配权重系数函数图

6)判断芽的生长:芽在下一生长周期内将生长出的节间数为n=⎣vi」,节间长度为1=vi/n,其中,vi表示芽分配到的内生资源值,若n=0,则表示该芽停止生长;n≥1表示该芽将长出至少一个节间。

2.3 幼枝生长模拟

幼枝生长模拟包括芽死亡脱落、幼枝生长方向优化和幼枝半径计算3部分。

1)芽死亡脱落判断。芽的死亡脱落是树木生长过程中的自然现象,也是基于规则树木建模类方法的重要组成部分。本文借鉴Měch提出的植物与环境交互的可视化模型[18],将芽接收到的光量值Q与可能生长出的节间数n比较,若比值小于自定义的阈值ε,则视为芽将死亡脱落,反之则生长为幼枝。即:

(2)

其中,i=1,2,…,N。

(3)

其中,α,β和γ为权重系数,α+β+γ=1,改变3个系数的比例大小,将会引起树木外观的可预测性变化。

图5 母节间和子节间半径关系图

3 实验分析

依托2.2 GHz主频的双核CPU,4 G内存以及NVIDIA GEFORCE 610M显卡,在Windows7 64位操作系统下,开发环境为Visual Studio2010,本文采用C++语言对TMLC算法进行了实现,分以下几种情况进行实验分析:

1)体素网格的光密度值模拟。根据TMLC算法分析,光密度值b越大,体素(x,y,z)所接收到的光量Q=max (C-s+a,0)=max(C+a(1-b-q),0)值越大。图6是在其他参数相同情况下的实验结果,光密度值递增,树木越茂密;光密度值递减,树枝越稀疏,模拟结果与自然现象吻合。

图6 光密度值模拟结果图

2)顶端优势模拟分析。根据资源分配模型可知,比例系数k越大,分配到树枝上各芽的资源就越多,树枝就越茂密,相应地,主干就越不明显。图7是在其他参数相同情况下的实验结果,比例系数k递增,树枝越茂密;比例系数k递减,主干越明显,验证了算法TMLC的正确性。

图7 顶端优势模拟结果图

3)芽脱落模拟分析。根据芽死亡脱落判断模型可知,当设置芽脱落阈值ε越大,芽越容易死亡脱落;阈值ε越小,芽越容易生长出来。图8是在其他参数相同情况下的实验结果,阈值ε递增,树枝越稀疏;阈值ε递减,树枝越茂密,验证了算法TMLC的正确性。

图8 芽死亡脱落模拟结果图

图9 向性模拟结果图

图10 芽生长方向权重系数变化模拟结果图

4)幼枝方向权重系数模拟分析。根据幼枝生长方向优化模型公式(3)可知,芽的生长方向由3个方向及其权重来决定。图9是在其他参数相同情况下,向性方向变化的模拟结果,从图9可以看出树木的生长方向与向性方向基本一致,与自然现象吻合。图10是向性方向向上时,α,β和γ权重系数改变时的实验结果,从图可以看出,当权重系数调整时,将生成形状各异的树木。

4 结束语

本文从树木生长对光源竞争的角度,提出了自组织的建模算法,实验模拟结果表明,TMLC算法能有效地进行树木建模,并且通过参数的调制可以生成可预测性的树木外观,操作简单,对模拟结果逼真、自然。在此基础上,树木在有障碍物生长环境下的建模,如多棵树木共同竞争、有石头或人为障碍物的环境,是下一步的研究方向。

[1] 谭云兰,贾金原,张晨,等. 3D树木建模技术研究进展[J]. 中国图象图形学报, 2013,18(11):1520-1526.

[2] 蒋艳娜,肖伯祥,郭新宇,等. 植物建模与动画合成研究[J]. 系统仿真学报, 2015,27(4):881-892.

[3] Xie Ke, Yan Feilong, Sharf A, et al. Tree modeling with real tree-parts examples[J]. IEEE Transactions on Visualization & Computer Graphics, 2016,22(12):2608-2618.

[4] 于舜,张铁. 雨场下的树木建模方法分析[J]. 东北大学学报(自然科学版), 2014,35(7):913-916.

[5] Tan Ping, Zeng Gang, Wang Jingdong, et al. Image-based tree modeling[J]. ACM Transactions on Graphics, 2007,26(3): Article No. 87.

[6] Neubert B, Franken T, Deussen O. Approximate image-based tree-modeling using particle flows[J]. ACM Transactions on Graphics, 2007,26(3): Article No. 88.

[7] Ulam S. On some mathematical properties connected with patterns of growth of figures[C]// Proceedings of Symposia on Applied Mathematics. 1962,14:15-24.

[8] Honda H. Description of the form of trees by the parameters of the tree-like body: Effects of the branching angle and the branch length on the shape of the tree-like body[J]. Journal of Theoretical Biology, 1971,31(2):331-338.

[9] 张德嘉,梁爽,张晨,等. 基于增强PyrLK光流法的三维树木骨架重建方法[J]. 计算机辅助设计与图形学学报, 2015,27(7):1247-1254.

[10] 赵春江,陆声链,郭新宇,等. 数字植物研究进展:植物形态结构三维数字化[J]. 中国农业科学, 2015,48(17):3415-3428.

[11] 王春华,杨克俭. 基于L-系统和Perlin噪声函数的风吹树动模拟[J]. 计算机工程, 2009,35(12):191-193.

[12] Runions A, Lane B,Prusinkiewicz P. Modeling trees with a space colonization algorithm[C]// Proceedings of the Eurographics Workshop on Natural Phenomena. 2007:63-70.

[13] Palubicki W, Horel K, Longay S, et al. Self-organizing tree models for image synthesis[J]. ACM Transactions on Graphics, 2016,28(3):1-10.

[14] Wang Yutong, Xue Xiaowei, Jin Xiaogang, et al. Creative virtual tree modeling through hierarchical topology-preserving blending[J]. IEEE Transactions on Visualization and Computer Graphics, 2017,23(12):2521-2534.

[15] Tang Liyu, Chen Chongcheng, Huang Hongyu, et al. An integrated system for 3D tree modeling and growth simulation[J]. Environmental Earth Sciences, 2015,74(10):1-14.

[16] Sachs T, Novoplansky A. Tree from: Architectural models do not suffice[J]. Israel Journal of Plant Sciences, 1995,43(3):203-212.

[17] Bornhofen S, Lattaud C. Competition and evolution in virtual plant communities: A new modeling approach[J].Natural Computing, 2009,8(2):349-385.

[18] Měch R, Prusinkiewicz P. Visual models of plants interacting with their environment[C]// Proceedings of the 23rd Annual Conference on Computer Graphics and Interactive Techniques. 1996:397-410.

猜你喜欢

光密度体素树木
病理辅助诊断系统中数字滤光片的实现方法
瘦体素决定肥瘦
圆锥角膜患者角膜光密度与形态及生物力学的相关性研究
Dividing cubes算法在数控仿真中的应用
树木之最
基于体素格尺度不变特征变换的快速点云配准方法
辨认树木
小麦种子活力测定方法的比较
树木之最
应用数字图像技术测量炮口火焰的方法研究