APP下载

基于L系统的水稻根系建模与可视化①

2020-06-20张素兰

计算机系统应用 2020年6期
关键词:字符串分枝重力

彭 英,张素兰

1(德宏师范高等专科学校 经济与管理学院,芒市 678400)

2(长江师范学院 大数据与智能工程学院,重庆 408100)

3(长江师范学院 三峡库区环境监测与灾害防治工程研究中心,重庆 408100)

4(昆士兰大学 园艺科学中心,布里斯班 4072)

随着世界人口的日益增长,粮食供应需求不断增加,提高植物水分与养分利用效率则成为一项大挑战.植物生产力受诸多环境因素制约,如辐射拦截、土壤中水分与养分供给等,因此必须对植物生长关键过程进行较为深入的了解,以便在有限的资源环境中改进行植物种植方法和改良植物品种[1].为了实现植物的可持续生产,特别是在土壤肥力减少、潜在短缺、成本增加、气候变化、干旱频繁增加的情况下,了解植物根际与根际性状对植物资源效率的影响尤为重要[2].因此植物根系是结构是影响植物生产力的一个基本方面,在植物生长过程模型中需要精确描述[3].

近年来,国内外学者在植物根系生长模拟方面进行了较为深入的研究[4-8].Pagès 等[9]提出RootTyp 模型,该模型依据观察所得根系结构特征,形式化定义了不同根类别及其生长率、向性、分枝等特征模拟根系结构.Postma 等[10]构建OpenSimRoot 模型,用于模拟根系结构、养分获取和植物生长,并成功应用于玉米根系生长过程模拟.在国内,吴劼[11]开发一整套用于测定田间成熟玉米根系结构的方法,用于田间玉米根系三维结构的测定与可视化仿真.胡军成等[12]依据根系生长发育的基本结构单元,利用根系与地上部叶片生长之间的同伸关系,以生长度日为时间尺度,建立小麦初生根、节根与分枝根发生过程的动态模型.李松阳等[13]基于L 系统研究了群体行为对根系生长的影响.

由于水稻根系没有突出的生长特征等,同时较其它植物如小麦、玉米更为复杂,因此定量化水稻根系的结构比较困难[14].目前,国内外学者已对水稻根系做了比较深入的研究,但大多侧重于水稻根系形态、生理机能、根系与地上部的关系以及栽培管理措施对水稻根系的影响等[15-17],而在研究根系三维建模与可视化方面的成果并不多见.本文在L 系统[18]的基础上,分析了水稻根系生长特性,定义了水稻根系的生长方向、生长及分枝规则、对水稻根系进行建模,并利用L-studio 工具[19]实现了重力指数及偏转指数控制下水稻根系生长过程的动态模拟.

1 L 系统

L 系统[20]是由Prusinkiewicz、Lindenmayer 等提出的形式化描述植物生长过程与形态变化的方法.之后Prusinkiewicz 等[21,22]对L 系统进行了长期深入的研究,他们提出了参数L 系统、随机L 系统、上下文相关L 系统等,使得L 系统成为目前应用较为广泛的一种虚拟植物建模工具.L 系统是一个模式字符串的替换过程,其核心概念是重写机制.通过对初始模式字符串应用产生式规则,进行有限次迭代生成当前模式字符串,然后再将模式字符串解释成复杂的几何图形并在计算机上展示出来.

1.1 L 系统定义

假定V表示字母表由模式字符串的集合构成,V*表示字母表V中所有模式字符串构成的集合即V的闭包,V+表示字母表中所有模式字符串构成的非空集合即V的正闭包,则L 系统可形式化定义为一个有序三元组:

其中,ω∈V+表示非空模式字符串集合即公理,P∈V×V*则表示产生式的集合.P中产生式通常表示为S→χ,其中,S∈V称为产生式的前驱,χ∈V*称为产生式的后继,→表示前驱在迭代过程中将会被后继替代.对于V中的任意一个模式字符串S,至少存在一个后续模式字符串集合χ,满足产生式S→χ,如不存在则假定其后继为其自身即S→S.

1.2 L 系统图形解释

在L 系统中公理和产生式均由模式字符串集合构成,经过迭代演化所得到的结果也是模式字符串集合.为使L 系统迭代演化所生成的模式字符串集合能够映射成某种图形,要为L 系统中每个模式字符串赋予特定的图形含义,我们把这个由模式字符串向图形的映射过程称为L 系统的图形解释.根据文献[23]介绍,Szilard等在1979年提出了“龟图形几何(Turtle geometry)”的概念,通过对模式字符串进行龟图解释来表示复杂图形,后来Prusinkiewicz 和Hanan 对其进行了扩展,使得Turtle 解释成为L 系统最常用的图形解释工具.

2 水稻根系建模

水稻为须根系植物,其根系由种子根与不定根组成[24,25].种子根只有一条,由胚根生长而成.不定根又称节根,由茎基部若干不伸长的节上发生.随着叶片的抽出,不定根按发根节位由下而上渐次分化发生.种子根和不定根可发生一次分枝根,一次分枝根上可发生二次分枝根.高产条件下可发生五、六次分枝根,形成强大而密集的根群.我们用带有参数的模式字符串T表示根尖,B表示产生分枝的结点,S表示种子根发根结点,N表示不定根的发根结点.则模式字符串T、B、S、N和Turtle 命令一起构成了水稻根系L 系统模型中的模式字符串集合即V.

2.1 单根生长方向建模

在单位时间步长内,根尖新生长方向取决于前单位时间步长内的原生长方向,相对原生长方向的轴向偏转角度和径向偏转角度,我们分别用α和β表示,如图1所示.新的根段生长方向与原生长方向成一定角度且径向随机偏转.

图1 根尖生长方向偏转

轴向偏转角度α表示重力影响下根尖偏转方向,模型中其值取决于重力指数G[26],我们用式(2)描述轴向偏转角度α与重力指数G之间关系.

其中,ran(1)表示取[0,1]之间随机值的函数.重力指数G取值范围为[0,1].当重力指数G为0 时,表示轴向偏转角α在[-180,180]范围内取随机值,重力指数G越接近1,表示偏转角α受重力影响越大.我们用Turtle 命令Down(α)表示轴向偏转操作.

同理,径向偏转角β表示围绕原根尖方向偏转角度,模型中其值取决于偏转指数D[26],我们用式(3)描述径向偏转角度与偏转指数D之间关系.

其中,uy表示Turtle 坐标系中向上方向向量的y值.同样,偏转指数D取值范围为[0 1],当偏转指数D接近0 时,表示在径向方向几乎没有偏转.当偏转指数D逐渐增大至1 时,径向偏转角度完全随机生成.我们用Turtle 命令RollL(θ)表示径向偏转操作.

2.2 单根生长及分枝建模

在单位时间步长内水稻根系生长主要由根尖分生区伸长实现,分枝则由分枝区产生,单根生长及分枝产生式可用式(4)描述.

参数o表示单根所处的分枝层次,t表示单根生长时间,l表示单根当前长度,c表示单根上产生的分枝数目,lc表示当前位置距第c个分枝的长度.条件C1及C1分别定义为:C1={l+Δl<lmax}判断当前根的长度是否小于单根生长的最大长度lmax,C2={lc+Δl<llen}判断当前根段长度是否小于最大根段长度llen.当条件C1及C2同时成立时,单根伸长F(Δl),且更新模式字符T(o,t,l,c,lc)为T(o,t+Δt,l+Δl,c,lc+Δl);当C1成立,C2不成立时,表示根段长度达到分枝长度,因此除进行伸长外并产生新的分枝.我们用符号B(o+1,dc,c+1)表示新的分枝产生节点,dc表示生成新的分枝延迟时间.

单根分枝产生式表述如式(5)所示.

Nmax表示单根最大分枝数目;当单根分枝数目未达到最大值且延迟时间已到即条件c<Nmax&d<=0 成立时,使用SetColor(o)命令设置新生根颜色,并使用Down(ran(90))与RollL(ran(360))命令实现新生根的轴向与径向偏转.当单根分枝数目未达到最大值但延迟时间未到即条件c<Nmax&d>0 成立时,将延迟时间减少时间步长.否则,当到单根分枝数目达到最大值时,停止产生分枝.

2.3 水稻根系结构模型

水稻种子根最先产生,我们用模式字符R表示种子根发根结点,则由R形成种子根的过程可用产生式如式(6)描述.使用SetColor(0)命令设置种子根颜色,并将模式字符T所含参数,包括种子根所处的分枝层次o,生长时间t,当前长度l,分枝数目c,前位置距第c个分枝的长度lc初始化为0.

不定根发根节点我们用模式字符N(tc,tt),其中参数tc,tt分别表示根节点距上一次发根的时间及其生存周期.则由发根节点N(tc,tt)生成不定根的产生式定义如式(7)所示.

Tc表示水稻茎基发根节点上产生不定根的时间间隔,Tmax表示发根节点产生不定根的最大时间.当未到发根时间间隔时,更新模式字符N(tc,tt)参数为N(tc+Δt,tt+Δt);当到达发根时间间隔且未到最大生根时间时,N(tc,tt)被Ti,i=1,···,n代替,其中Ti=S B()S etColor(0)RollL(ran(360°))Down(ran(90°))T(0,0,0,0,0)EB(),i=1,…,n表示根节点产生新的不定根表达式,同时n为一次产生不定根数目;其中SB()和EB()命令表示产生新的分枝;否则根节点停止产生不定根.P1~P4构成了水稻根系L 文法的产生式集合P.

由此,我们可定义水稻根系L 文法的公理如式(8)所示.

其中,m表示发根节点.通过迭代并不断应用产生式,模拟水稻根系动态生长过程,由此产生整个水稻根系.

3 水稻根系可视化

3.1 Turtle 坐标系

Turtle 命令包括F、RollL、Down、SB、EB、SetColor等,用于描述水稻根系在三维空间生长过程中单根伸长、分枝、方向等形态变化.在Turtle 几何学中,Turtle 的状态是由位置向量及方向向量构成的一个向量组.执行Turtle 命令后,Turtle 由当前状态转换到另外一个状态,新的Turtle 状态是执行相应的操作后新生成的位置和方向向量组成.Turtle 状态描述了一个局部坐标系S,而每一个Turtle 命令可表示成一个转换矩阵T.执行Turtle 命令后,当前坐标系S变换到一个新的坐标系S',如式(9)所示.

在三维Turtle 坐标系中,Turtle 坐标系S是由向前、向左及向上3 个方向向量H、L、U和位置向量P构成,如式(10)所示.

其中,方向向量H、L、U两两垂直,并满足H=L×U.

3.2 Turtle 命令解释

在Turtle 解释过程中,每一个Turtle 命令通过式(9)改变当前Turtle 坐标系到下一个状态.在三维Turtle 几何坐标系中,每一个Turtle 命令对应一个4×4变换矩阵如表1.

表1 Turtle 命令

Turtle 分支命令SB,EB并不进行任何坐标系变换操作,只将当前Turtle 状态存入堆栈,或从堆栈取出栈顶数据作为当前Turtle 状态.它表示具有相同父亲的根系子分支具有的Turtle 状态,即这些子分支在Turtle 坐标系中具有相同的起点.SetColor命令只改变根系颜色,与坐标变换无关.通过上述命令的解释实现水稻伸长与分枝的图形绘制,从而实现水稻根系生长过程的可视化.

4 实验及结果

实验中我们假定单根最多产生3 次分化,因此每个单根所处的分枝层次分别为0,1,2.根据水稻根系生长特性,单根生长时间间隔定义为Δt=1 (单位:天),也是L 系统中进行模式字符串迭代、Turtle 命令图形解释的时间间隔.处于不同层次的单根产生的最大分枝数目定义为Nmax[]={50,10,5},根节点上不定根发根时间间隔定义为Tc=2 (单位:天),根节点产生不定根的最大时间定义为Tmax=150 (单位:天),根节点一次产生不定根最大数目定义为n=2,初始不定根发根节点数定义为m=1.而针对处于不同分枝层次的单根,相关参数定义如表2.

L-Studio 是由Prusinkiewicz 和Hanan 开发,使用L 系统专门对植物生长过程建模的可视化工具.包含cpfg和lpfg[21]两个模拟器,一个图形浏览器,用于组织和访问本地和远程机器上的对象,以及一系列用于创建和修改对象的编辑器和其他建模工具.本文利用Lstudio 工具以及lpfg模拟器对水稻根系生长及分枝规则进行编程实现如图2所示.

表2 单根建模参数

图2 水稻根系建模与可视化窗口

当处于不同分枝层次的单根重力指数与偏转指数相同且定义为G=0.3,D=0.25 时,可得到水稻根系动态生长过程模拟,图3展示了20,40,60,80 天水稻根系模拟结果.在模拟过程中,种子根最先从种子胚部生长发育,然后越来越的不定根从发茎基部根节点生出.种子根与不定根发生一次分枝,一次分枝再发生二次分枝,直至形成整个庞大的根系.

图3 当G=0.3,D=0.25 时20,40,60,80 天水稻根系生长模拟

为了研究重力指数G对水稻根系生长的影响,我们定义概率P(x<α)=(α/180)1-G,其中θ为轴向偏转角,取值范围为[-180,180],当重力指数G分别取0,0.3,0.6,0.9 时,P与α之间关系如图4所示.

当偏转因子取特定值D=0.25 时,分别模拟G=0,0.3,0.6,0.9 时80 天水稻根系生长情况,结果如图5所示.不同分枝层次的单根所对应的重力指数G与偏转指数D取相同值.当G=0时,轴向偏转角完全随机生成,不受重力影响.当G值逐渐增大时,水稻根系受重力影响越来越大,向地性也更加明显.由于根系生长的土壤中,土壤承受了根系的一部分重力,所以向地性不如地上部分明显.当G值在0.3 附近时,水稻根系生长模拟结果比较符合实际情况.

同样地,为了研究偏转指数D对水稻根系生长的影响,我们定义概率P(x<β)=(β/360)1/D,其中β为径向偏转角,取值范围为[0,360].当偏转指数D分别取0.0001,0.3,0.6,0.9 时,P与β之间关系如图6所示.当重力因子取特定值G=0.3 时,分别模拟D=0.0001,0.3,0.6,0.9 时80 天水稻根系生长情况,结果如图7.不同分枝层次的根系所对应的重力指数G与偏转指数D取相同值.当偏转指数D接近0 时,水稻根系近乎直线生长.当偏转指数D值越来越大时,单根生长方向的偏转也越来越大.对比实际情况,当D值在0.3 附近,水稻根系生长模拟结果比较符合实际情况.

图4 P(x<α)=(α/180)1-G曲线

图5 当G=0,0.3,0.6,0.9,D=0.25 时,80 天水稻根系生长模拟

图6 P(x<β)=(β/360)1/D曲线

5 结论与展望

水稻根系生长过程建模与可视化是虚拟水稻模型研究的重要组成部分.在分析水稻根系空间分布特性,水稻根系发育进程的形态结构、生长及分布特点和规律的基础上,本文利用L 系统定义了水稻单根生长规则,单根分枝产生规则等,构建了水稻根系结构模型,模拟水稻根系在重力因子及偏转因子影响下,根系动态生长变化过程,并利用L-studio 实现水稻根系生长过程的三维可视化.研究表明:(1)当重力因子G=0 时,轴向偏转角完全随机生成,不受重力影响.当重力因子G值逐渐增大时,水稻根系受重力影响越来越大,向地性也更加明显.(2)当偏转指数D≈0 时,水稻根系几乎没有偏转,根系呈直线生长.当偏转指数D值越来越大时,单根生长方向的偏转也越来越大.(3)对比实际情况,当G与D值在0.3 附近取值时,水稻根系生长模拟结果比较符合实际情况.在后续的研究工作中,将会引入土壤环境模型,对环境影响下水稻根系生长过程进行建模,使得仿真结果更加贴近实际.

图7 当D=0.001,0.3,0.6,0.9 时,80 天水稻根系生长模拟

猜你喜欢

字符串分枝重力
分枝大苗建园苹果树当年如何修剪
重力消失计划
一株吊兰
兴化市油菜新品种评比试验总结
氮水平对小菊“东篱秋心”分枝和开花的影响
重力之谜
一种基于PowerBuilder环境字符串相似度算法
SQL server 2008中的常见的字符串处理函数
倍增法之后缀数组解决重复子串的问题
一张纸的承重力有多大?