对合轴分枝树木的形态进行三维可视化模拟,指出合轴分枝树木特征的描述指标,以槐树为例,将分枝分为主分枝与次分枝,分别对枝径、仰角、枝长等形态参数进行统计分析.结果表明: 主枝枝径的平均值大于次枝,仰角和枝长的平均值小于次枝.主枝与次枝仰角均呈正态分布,集中在20°~40°之间,枝长主要分布在20~40 cm范围内.基于IFS算法,提出适于表达合轴分枝形态特点的数据结构,指出IFS入口参数对应于合轴分枝结构的实际意义,并对IFS分形算法进行合轴分枝树木建模的具体实现流程进行详细描述,最后实现合轴分枝树木三维可视化模型的构建.构建的树木模型符合合轴分枝形态特点,可以实现合轴分枝树木基本形态结构的表达.
The three-dimensional visual model of sympodial branching trees was simulated. Pointed out descriptive index of sympodial branching trees, taking Sophora japonica as an example, by making branch fall into primary and secondary branch, did some statistical analysis of morphological parameters like branch diameter, elevation angle and branch length. Then reached the conclusion that the mean value of primary branch diameter was greater than secondary branch diameter, while the elevation angle and branch length of primary branch was less than secondary branch.The distribution of elevation angle was ideally normal, and ranged from 20° to 40°, and branch length distributed in 20-40 cm. Based on IFS algorithm, presented a data structure that was suitable for expressing sympodial branching morphological characteristics, and specifically pointed out the real meaning of IFS parameters corresponding to sympodial branching structure, stated the method of constructing sympodial branching trees model, and built the three-dimensional visual model of sympodial branching trees in the end. The constructed tree model was in line with the sympodial branching morphological characteristics, and indicated that it could achieve expressing the basic morphological structure of sympodial branching trees.
全 文 :第 50 卷 第 12 期
2 0 1 4 年 12 月
林 业 科 学
SCIENTIA SILVAE SINICAE
Vol. 50,No. 12
Dec.,2 0 1 4
doi:10.11707 / j.1001-7488.20141210
收稿日期: 2014 - 01 - 22; 修回日期: 2014 - 06 - 26。
基金项目: 国家“863”计划课题项目(2012AA102002) ; 国家自然科学基金项目(31170590)。
* 张怀清为通讯作者。
合轴分枝树木形态结构三维可视化模拟方法*
白 静 张怀清 刘 闽
(中国林业科学研究院资源信息研究所 北京 100091)
摘 要: 对合轴分枝树木的形态进行三维可视化模拟,指出合轴分枝树木特征的描述指标,以槐树为例,将分枝
分为主分枝与次分枝,分别对枝径、仰角、枝长等形态参数进行统计分析。结果表明: 主枝枝径的平均值大于次枝,
仰角和枝长的平均值小于次枝。主枝与次枝仰角均呈正态分布,集中在 20° ~ 40°之间,枝长主要分布在 20 ~ 40 cm
范围内。基于 IFS 算法,提出适于表达合轴分枝形态特点的数据结构,指出 IFS 入口参数对应于合轴分枝结构的实
际意义,并对 IFS 分形算法进行合轴分枝树木建模的具体实现流程进行详细描述,最后实现合轴分枝树木三维可
视化模型的构建。构建的树木模型符合合轴分枝形态特点,可以实现合轴分枝树木基本形态结构的表达。
关键词: 合轴分枝; IFS; 可视化
中图分类号: S757 文献标识码: A 文章编号: 1001 - 7488(2014)12 - 0073 - 06
Three-Dimensional Visual Simulation of Sympodial Branching
Trees Morphological Architecture
Bai Jing Zhang Huaiqing Liu Min
(Research Institute of Forestry Resources Information Techniques,CAF Beijing 100091)
Abstract: The three-dimensional visual model of sympodial branching trees was simulated. Pointed out descriptive
index of sympodial branching trees,taking Sophora japonica as an example,by making branch fall into primary and
secondary branch,did some statistical analysis of morphological parameters like branch diameter,elevation angle and
branch length. Then reached the conclusion that the mean value of primary branch diameter was greater than secondary
branch diameter,while the elevation angle and branch length of primary branch was less than secondary branch. The
distribution of elevation angle was ideally normal,and ranged from 20° to 40°,and branch length distributed in 20 - 40
cm. Based on IFS algorithm,presented a data structure that was suitable for expressing sympodial branching morphological
characteristics,and specifically pointed out the real meaning of IFS parameters corresponding to sympodial branching
structure,stated the method of constructing sympodial branching trees model,and built the three-dimensional visual model
of sympodial branching trees in the end. The constructed tree model was in line with the sympodial branching
morphological characteristics,and indicated that it could achieve expressing the basic morphological structure of sympodial
branching trees.
Key words: sympodial branching; IFS; visualization
树木三维可视化模拟是指运用计算机图形学中
的科学可视化技术与方法对树木的形态结构、空间
结构及动态生长过程等进行模拟(郝小琴,2001)。
树木种类繁多,几何形态与结构复杂,按分枝模式不
同,树木可分为单轴分枝与合轴分枝以及假二叉分
枝树木,其中最主要的是单轴分枝和合轴分枝树木。
单轴树木,其形态相对简单,对其进行的可视化模拟
研究较多,如杉木 (Cunninghamia lanceolata) (卢康
宁等,2010; 吴谦等,2010; Liu et al.,2010; Zhang
et al.,2009)、樟子松(Pinus sylvestris var. mongolica)
(董灵波等,2011)、马尾松 (Pinus massoniana) (孙
静静 等,2007; 唐 丽玉 等,2006 )、红 松 ( Pinus
koraiensis)(赵庆丹等,2010)等都已经实现了三维
可视化,但是合轴树木相对结构复杂,只有较少的研
究涉及(胡秀珍等,2011)。
常见的树木可视化技术有 L-System(徐畅凯等,
林 业 科 学 50 卷
2012)、迭代函数系统 IFS 方法(李庆忠等,2004; 肖
海 荣, 2011; 刘 树 群 等, 2012; Sprott, 1994;
Barnsley et al.,1985 ) 及粒子系统模型 (雷蕾等,
2004)等。IFS 方法模型简单,适于表达整体与局部
自相似性的物体,在树木形态模拟方面比其他方法
更具明显优势。
本研究基于 DirectX 平台,运用 C#语言实现了合
轴分枝树木的三维可视化模拟,指出了能够描述合轴
分枝树木特征的参数指标,并以槐(Sophora japonica)
为例,统计分析了参数指标的分布规律与范围,建立
了适于表达合轴分枝形态特点的数据结构,给出了
IFS 入口参数对应于合轴分枝结构的实际意义,并对
所有参数都引入一定的随机量,应用 IFS 方法完成了
合轴分枝树木的形态结构建模。
1 合轴分枝树木形态结构
1. 1 合轴分枝定义
不同的树木,其枝条与主干间有着不同的着枝
角度,呈现出千姿百态的特征。分枝方式可以被看
作是物种生物学、分类学的一个重要特征。合轴分
枝植物在现实世界中十分常见,树冠呈开张状态。
合轴分枝植物顶芽发育一定时间后就会死亡或
生长缓慢、或分化成花芽、或成为卷须等变态器官,
而位于顶芽下面的侧芽代替原来的主轴继续发育,
不断生长形成强的侧枝连接在原来的主轴上。生长
一段时间后,侧枝上的顶芽停止发育,又由它下面的
侧芽来代替,如此更迭,就形成了弯曲的主轴。由于
这种主干是由许多腋芽发育而成的侧枝联合组成,
所以称为合轴。以这种方式分枝的植物,没有明显
的主干,而是形成多个弯曲的主轴。
1. 2 合轴分枝树木分枝结构的描述指标
合轴分枝树木的形态结构遵循自相似规律,局
部与整体相似。其形态结构是分层组织的,由主干
分生第一层分枝,再由第一层分枝分生第二层分枝,
如此一层一层分生下去直至树叶,呈现出一定的自
相似分形特征。
将描述合轴分枝树木的分枝结构指标分为 2
类: 一类为形态指标,描述树木的整体形态; 另一
类为结构指标,体现树木的几何结构特征。形态指
标包括树高、冠长、冠幅等; 结构指标包括分枝仰
角、枝径、枝长、分枝级数等。本研究的分枝级数指
分枝的层数,即第一层分枝为一级分枝,第二层分枝
为二级分枝,以此类推。合轴分枝树木每一分枝的
子枝至少有 2 个,其中枝径大的作为主枝,其余作为
次枝(图 1)。
图 1 合轴分枝形态示意
Fig. 1 Morphological figure of sympodial branching trees
2 研究方法
2. 1 合轴分枝形态结构参数分析
采用美国 FARO 公司生产设计的三维激光扫描
仪 FARO LS 120 扫描槐树 3 株,基本信息见表 1。
处理得到点云数据,提取树高、冠幅等基本信息,并
以分枝为基本单位,提取 3 株槐树 1 ~ 4 级分枝的枝
径、枝长、仰角等分枝结构参数。
表 1 槐树基本信息
Tab. 1 The basic information of Sophora japonica
编号
No.
树高
Height /m
主干长
Trunk length /m
胸径
Diameter / cm
冠幅
Crown /m
分枝数
Branch number
仰角 1
Angle 1 /( °)
仰角 2
Angle 2 /( °)
01 3. 5 1. 31 7 2. 8 66 33 34
02 3. 6 0. 55 10. 2 2. 4 48 25 26
03 4. 4 0. 58 6. 1 3. 5 79 29 32
将分枝分为主枝和次枝分别进行统计分析,主
要考虑主、次枝的枝径、枝长、仰角的分布范围以及
与枝下高的相关性。从表 2 可知,主枝枝径的平均
值大于次枝,而仰角和枝长的平均值则小于次枝; 主
枝与次枝仰角集中在 20° ~ 40°,主枝仰角的偏度系数
Skewness = 0. 288 < 1,峰度系数 Kurtosis = 0. 151 < 1;
次枝仰角的偏度系数 Skewness = 0. 205 < 1,峰度系
数 Kurtosis = - 0. 189 < 1,故主枝与次枝的仰角
47
第 12 期 白 静等: 合轴分枝树木形态结构三维可视化模拟方法
都呈正态分布; 主、次枝的枝长都主要分布在 20 ~ 40 cm的范围内(图 2)。
表 2 主、次枝各参数分析结果
Tab. 2 Analysis results of primary and secondary branch parameters
主枝仰角
Primary branch
elevation angle /( °)
次枝仰角
Secondary branch
elevation angle /( °)
主枝枝径
Primary branch
diameter / cm
次枝枝径
Secondary branch
diameter / cm
主枝枝长
Primary branch
length / cm
次枝枝长
Secondary branch
length / cm
平均 Mean 29. 40 32. 90 2. 88 2. 09 31. 53 33. 96
标准差 Std. deviation 9. 95 11. 41 0. 98 0. 83 9. 36 12. 39
最小值 Minimum 12. 08 7. 03 1. 20 0. 80 17. 50 14. 30
最大值 Maximum 71. 00 64. 00 6. 40 5. 50 62. 30 85. 30
图 2 主、次枝仰角和枝长分析
Fig. 2 Analysis of primary and secondary branch elevation angle and branch length
从表 3 (样本数为 189)可以看出,枝径与枝下
高呈负相关,相关性较强,仰角随着枝下高增大有增
表 3 分枝各参数相关性分析①
Tab. 3 Correlation analysis of branch parameters
枝径
Branch
diameter
枝长
Branch
length
仰角
Elevation
angle
枝下高
Height
below
branch
枝径 Branch diameter 1
枝长 Branch length 0. 122 1
仰角 Elevation angle - 0. 425** - 0. 006 1
枝下高
Height below branch - 0. 639
** - 0. 087 0. 506** 1
①**:在 0. 01 水平显著 (2-tailed)。Correlation is significant at
the 0. 01 level (2-tailed) .
大的趋势,而枝下高对枝长的影响不明显。利用这
些参数的分布规律确定 IFS 入口参数的范围,为构
建合轴分枝树木形态模型提供数据基础。
2. 2 基于 IFS 的合轴分枝树木形态模型构建
2. 2. 1 IFS 算法 迭代函数系统 IFS ( iterated
function system)是 Barnsley 等(1985)提出并发展起
来的一种研究分形集的数学方法,公式的具体形
式是:
Wn(X) = AnX + Bn =
an bn cn
dn en fn
gn hn i
n
x
y
z
+
un
vn
w
n
。
(1)
57
林 业 科 学 50 卷
为了更加明确地表达合轴分枝树木的枝系结
构,将式(1)转化为下式:
x
y
z
= S ×
cosβcosα sinβ - cosβsinα
- sinβcosα cosβ sinβsinα
sinα 0 cos
α
x
y
z
+
0
0
h
。 (2)
式中: x,y,z表示 x,y,z经过 IFS 变换后的坐标; S
为枝长比(子枝长与父枝长的比值),在 IFS 迭代时
控制分枝缩放比例的收缩矩阵; α 为分枝的仰角,β
为相应的方位角,旋转矩阵的作用是将分枝绕 Y 轴
旋转 α角,并且绕 Z 轴旋转 β角; h 表示每次迭代的
位移值,单轴分枝树木每一分枝的位移值为枝下距,
而合轴分枝树木为上一级分枝的长度。
根据 IFS 本身的特点以及合轴分枝树木形态参
数的意义,给出了 IFS 因子与形态参数间的对应关
系(图 3),即应用分枝个数来控制 IFS 的迭代次数,
枝长、仰角和方位角确定分枝的位置,枝长比确定分
枝的大小。
图 3 IFS 因子的实际意义
Fig. 3 Actual meaning of IFS factor
2. 2. 2 构建合轴分枝树木形态模型算法描述 为
了说明合轴分枝的迭代方法,将树木枝系结构分为
主干、分枝分别说明。主干是一个特殊的 IFS 迭代,
即进行仰角、方位角、位移值均为 0 的仿射变换。分
枝是主干经过旋转、平移、收缩变换后得到的,每一
次迭代产生一个分枝,每一分枝都可看作是主干的
一个复制品。树木的分枝级数控制 IFS 算法中迭代
次数,达到分枝级数时 IFS 停止迭代,迭代过程如图
4 所示。
使用如下递归算法:
Step1: 参数初始化,包括枝长、仰角、分枝级数
CN、分枝个数 R 等;
Step2: 建立主干,即一个 SymTreeNode,主干不
需要做 IFS 变换;
Step3: 判断 CN 的值,不等于 0 时,建立 R 个
n - 1级树枝;
Step4: 当 CN 等于 0 时结束,否则 CN = CN - 1,
转到 Step3。
图 4 合轴分枝树木 IFS 迭代过程
Fig. 4 IFS iterative process of sympodial branching trees
a. CN = 0,树木没有分枝; b. CN = 1,第 1 次迭代经过 2 个变
换产生 2 个分枝; c. CN = 2,第 2 次迭代经过 4 个变换,即每
一个一级分枝分别产生 2 个子枝; d. CN = 3,第 3 次迭代经过
8 个变换,每一个二级分枝继续分别产生 2 个子枝; e. CN =
4,第 4 次迭代经过 16 个变换,每一个三级分枝再继续分别产
生 2 个子枝。a. CN = 0,the tree have no branch; b. CN = 1,
after 2 affine transformation of first iteration,generate 2 branches;
c. CN = 2,after 4 affine transformation of second iteration,every
branch of first level generates 2 branches; d. CN = 3,after 8
affine transformation of third iteration,every branch of second level
continue generating 2 branches; e. CN = 4, after 16 affine
transformation of forth iteration, every branch of third level
continue generating 2 branches.
树木的每一层分枝都与其上一层分枝相似,单
轴分枝树木的每一分枝枝系都是相似的,故在模拟
时迭代使用的仿射变换通常是相同的一组,而合轴
分枝树木的主枝与次枝枝系有不同的特点。因此为
了使构建的形态模型更加符合真实树木的形态,在
利用递归算法构造树木模型时,建立 2 组仿射变换
对应于主枝与次枝,并对分枝参数指标值仰角、枝
长、方位角等引入随机因子,使用 C #语言中的
Random 类产生随机数,在原有值的基础上加一个随
机数,使这些参数在分布范围内随机变化,且考虑其
级数的不同采用不同的收缩矩阵、旋转矩阵,使得树
木分枝角度和长度产生随机变动,避免所构建的合
轴分枝树木模型千篇一律,绘制过程如图 5 所示。
2. 3 数据结构
基于合轴分枝树木的形态特点,设计如下数据
结构表示每一分枝:
public class SymTreeNode
{
public int BranchClassNumber;∥记录当前枝
级数
public float Diameter;∥记录当前枝的枝径
public float angle;∥记录当前枝的仰角
67
第 12 期 白 静等: 合轴分枝树木形态结构三维可视化模拟方法
图 5 合轴分枝树木模型绘制过程
Fig. 5 Drawing process of sympodial branching trees
public Vector3 Position1;∥记录当前枝的起始
点坐标
public Vector3 Position2;∥记录当前枝的结束
点坐标
public SymTreeNode Parent;∥记录当前枝的
父枝
public SymTreeNode Brother;∥记录当前枝的同
级枝
public SymTreeNode Child;∥ 记录当前枝的
子枝
}
每一个分枝即一个 SymTreeNode,通过字段
Parent 记录该分枝的上一级枝,字段 Brother 记录该
分枝的同级枝,字段 Child 记录该分枝的下一级枝。
所有分枝都建立好后,遍历所有的 SymTreeNode,得
到该合轴分枝树木的枝系结构。
2. 4 纹理贴图
设定叶子着生在最外层的分枝上,在最外层枝
两侧生成相对排列的三维矢量矩形。叶子的绘制采
用 billboard 技术,在矩形贴上带有 Alpha 通道的真
实叶子纹理。
在 DirectX 中使用关键色透明技术,通过设置渲
染状态 ALPHATSTE-ABLE 和参考值 ALPHAREF 进
行 Alpha 测试。程序根据 Alpha 测试函数比较当前
像素的 Alpha 值与 ALPHAREF 的值,由比较结果决
定是否绘制该像素,如果返回 TRUE,则通过测试并
绘制像素,反之则不予绘制(吴谦,2008)。使用真
实的树干、树叶照片作为纹理贴图,三维模型具有更
强的真实感。
3 实现与效果展示
采用 C #语言,使用面向对象的方法,基于
DirectX 平台开发,实现了合轴分枝树木形态的三维
可视化模拟。形态参数设置窗口如图 6 所示。
图 6 形态参数设置
Fig. 6 Settings of morphological parameter
根据形态结构参数的统计分析结果设置形态参
数,设置分枝级数为 5 级,构建槐树形态结构模型,
效果如图 7 所示。
图 7 槐树模拟效果
Fig. 7 Effects of Sophora japonica simulation
4 结论与讨论
确定了描述合轴分枝特征的指标参数,以槐树
为例,统计分析了槐树主、次枝枝径、仰角、枝长等参
数的分布规律。以槐树基本形态特征的数据分析结
果为依据,结合 IFS 算法,构建了槐树的三维可视化
模型,实现了合轴分枝树木的三维可视化模拟,并使
用真实的纹理贴图,提高了三维可视化效果。本研
究表明,以树木分枝形态结构参数所建立的树木形
态结构模型,可以实现对合轴分枝树木的基本形态
结构的表达。
本研究由于获取的槐树数据有限,仅对合轴分
枝树木的形态结构进行了模拟,没有考虑环境因子
77
林 业 科 学 50 卷
和生理因子的影响,因此将植物生长机制与坏境的
影响加入到合轴分枝树木的可视化模拟中是进一步
研究的方向;并且在渲染速度上也有一定提高的空
间,可以考虑与计算机硬件技术相结合,进一步提高
渲染速度。
参 考 文 献
董灵波,刘兆刚 . 2011. 基于形态结构特征参数的樟子松人工林单
木可视化研究 . 北京林业大学学报,33(5) :20 - 27.
郝小琴 . 2001. 林 业 科 学 与 科 学 可 视 化 . 林 业 科 学,37 ( 6 ) :
105 - 108.
胡秀珍,张 建,李 淼,等 . 2011. 基于参数 L 系统的梨树枝干模型
三维可视化 .计算机系统应用,20(8) : 86 - 90.
雷 蕾,郭新宇,周淑秋 . 2004. 基于粒子系统思想的叶片纹理构造 .
计算机工程与应用,40(36) : 218 - 219.
李庆忠,韩金姝 . 2004. 基于 IFS 的树木形态模拟方法 . 计算机辅助
工程,13(4) : 20 - 24.
刘树群,张雯雯 . 2012. 遗传算法与 IFS 相结合的植物形态模拟 . 计
算机系统应用,21(1) : 176 - 178.
卢康宁,张怀清,刘 闽 . 2010. 杉木形态结构可视化模拟调查方法
研究 . 中南林业科技大学学报,30(1) : 34 - 40.
孙静静,唐丽玉,姚林强,等 . 2007. 基于形态结构特征的马尾松几
何建模研究 . 林业科学,43(4) :71 - 76.
唐丽玉,陈崇成,王钦敏,等 . 2006. 马尾松的形态结构分析与三维可
视化 .系统仿真学报,18(1) :315 - 318.
吴 谦,张怀清,陈永富 . 2008. 基于生长规律与图像相结合的树木
叶片动态模拟 . 林业科学研究,21(增) :122 - 125.
吴 谦,张怀清,陈永富,等 . 2010. 杉木形态三维可视化模拟技术
研究 . 林业科学研究,23(1) : 59 - 64.
肖海荣 . 2011. 基于 IFS 分形算法的树木形态分析与实现 . 计算机
仿真,6(6) : 274 - 279.
徐畅凯,徐文华 . 2012. 基于 L - 系统的真实感树木生成算法与实
现 . 计算机应用与软件,29(7) :231 - 234.
赵庆丹,罗传文,孙海洪,等 . 2010. 基于 OpenGL 和 VC 的树木三维
可视化模拟实现 . 东北林业大学学报,38(11) :54 - 57.
Barnsley M F,Demko S. 1985. Iterated function systems and the global
construction of fractals. Proc Roy Soc London,243 - 275.
Liu M,Zhang H Q,Lu K N. 2010. Research on three-dimensional
simulation of tree’s morphology based on tree-crown growth model.
International Conference on Computational Intelligence and Software
Engineering(CiSE 2010) .
Sprott J C. 1994. Automatic generation of iterated function systems.
Computers & Graphics,18(3) :417 - 425.
Zhang H Q,Liu M. 2009. Tree growth simulation method based on
improved IFS algorithm. Proceedings of International Conference on
Computer Intelligence and Software Engineering (CiSE 2009) .
(责任编辑 石红青)
87