水稻生长可视化模拟系统的设计与实现
2012-08-24丁维龙朱元伟章谦元张玉屏
丁维龙,朱元伟,章谦元,张玉屏
(1.浙江工业大学 计算机科学与技术学院,浙江 杭州 310023;2.中国水稻研究所水稻生物学国家重点实验室,浙江 杭州 310006)
水稻生长可视化模拟系统的设计与实现
丁维龙1,朱元伟1,章谦元1,张玉屏2
(1.浙江工业大学 计算机科学与技术学院,浙江 杭州 310023;2.中国水稻研究所水稻生物学国家重点实验室,浙江 杭州 310006)
针对目前国内外虚拟作物的研究现状,在Windows平台上,使用OpenGL图形接口,采用面向对象编程技术,设计并实现了一个集水稻形态模拟及可视化、场景动态渲染、水稻生长动画等功能的三维结构可视化模拟系统原型.首先结合水稻的空间结构特点,基于参数化L系统,在器官尺度上模拟了单株水稻的拓扑结构.在此基础上,结合水稻的生长特性,构建了水稻生长的有限状态自动机模型,实现了对水稻动态生长过程的可视化描述.简述了系统的总体结构及基本功能,论述了系统设计与实现过程中涉及的关键技术,并给出了系统的界面以及实现的一些典型效果图.
虚拟作物;可视化;水稻生长建模;参数化L系统;自动机模型
以植物为对象的建模、仿真与可视化研究开始于上世纪60年代.早期的研究主要是基于计算机图形学的树木外型模拟,追求的是视觉效果的真实性.近十几年来,基于结构功能反馈机制的虚拟作物研究受到了越来越多的关注.国内外众多学者在棉花[1]、玉米[2-3]、高粱[4]、西瓜[5]、小麦[6]等作物的器官建模以及植株生长的可视化模拟方面做了较多工作[5].由于水稻分蘖多、株型复杂,导致其虚拟仿真研究相对其他形态简单的作物而言比较薄弱.另一方面,尽管目前国内外已开发出多种流行的植物形态 可 视 化 建 模 系 统,如 Xfrog[7],PlantStudio,Virtual Plants及Tree Professional等,但专门针对某种作物的可视化仿真软件却未见文献报道.因此,以水稻为例,研究了水稻拓扑结构及其生长过程的可视化建模方法,在此基础上,开发了交互式的水稻植株形态设计系统,实现了水稻植株形态及其生长过程的交互式模拟.
1 系统总体设计
系统设计的总体思路是通过田间试验获取水稻生长数据,在分析水稻冠层结构特征的基础上,利用L系统构建水稻拓扑结构,结合有限态自动机模型,模拟水稻生长.系统运行时,先把数据载入系统中,再对数据进行处理,作为水稻生长的数据.然后,利用三维可视化技术,将数据转化为三维可视化,从而输出虚拟水稻植株.
水稻虚拟生长系统的设计,主要实现了三大功能:拓扑结构的构建、虚拟生长控制、三维可视化输出.系统共分为6个模块,各模块功能如下:
1)数据载入模块
数据载入模块是系统最先运行的模块,包括参数初始化单元和田间试验数据读取单元.参数初始化单元包括水稻品种选择、信息输出格式等初始化操作.其中,田间试验数据读取模块负责从Excel文档中读入数据.
2)L系统模块
该模块包括L系统定义单元、拓扑结构建立单元、导龟设计与构建单元.其中L系统定义单元包括对L系统公理和产生式的定义.拓扑结构建立单元,用于根据水稻知识库建立水稻的拓扑结构.导龟设计与构建单元,用于对L系统的字符串进行图形化解释,并进行三维视图和坐标的定义,以可视化输出模拟结果.
3)有限态自动机模块
有限态自动机模块包括:水稻生长参数初始化单元、事件触发器单元、三维可视化信息输出单元.水稻生长参数初始化单元包括:时间轴的初始化和导龟状态的初始化.事件触发器单元根据时间轴的变化,不断产生新的事件,并对事件按发生的时间进行排序,从最早发生的事件开始,直到时间轴末端停止.三维可视化信息输出单元,主要是利用导龟机制对L系统解析,并可视化输出模拟结果.
4)水稻器官建模模块
该模块主要包括水稻器官的建模算法.它根据水稻各器官的三维特征,利用数学建模和计算图形学知识,得到水稻器官的三维数学描述.关于该模块的建模算法,在笔者发表的论文[8~9]中有详细的描述,此处不再赘述.
5)光照模块
光照模块包括光照环境模拟模型,光照量计算模型.光照环境模拟模型用以完成光照强度、光源等参数的设置.光照量计算模型,以层为单位进行,将水稻冠层分为五层,如图1所示.假设上一叶层基部的辐射量即为下一叶层的辐射输入量.基于Goudriaan J.提出的冠层光合产量计算的算法思想[10],确定水稻生长的地理条件、生长日期、环境因素、自身生长情况等参数,然后计算出各层的光合产量以及整个冠层的光合总产量.
图1 光线在冠层中投射示意图Fig.1 The light in different layers
6)输出模块
输出模块包括三维可视化输出单元和屏幕信息输出单元.三维可视化输出单元根据有限态自动机模块输出的三维信息,结合水稻器官建模模块,利用计算机图形绘制接口(OpenGL)进行绘制输出.屏幕信息输出单元负责水稻生长过程中的信息输出,包括生长时期、当前叶数、分蘖数,以及光照环境等提示信息的输出.
2 系统构建的关键技术
2.1 单株水稻的模拟
水稻主茎和分蘖的生长具有递归性的特点,即茎上长出第四片叶的同时产生一个分蘖.同时,它们也具有同伸关系,即n叶抽出≈n-3号分蘖的第1叶抽出.分蘖的第1叶抽出后,其出叶速度与主茎叶片的出叶速度大体相同.
水稻茎叶的生长关系,就单茎而言,叶片的生长具有互生关系,生于茎节的两侧.每个茎节生长一片叶子,单株常保持4-5片绿叶,随着上部新叶的生长,下部老叶逐渐枯死.每片叶子具有相似的形态,因此,水稻茎叶的分形特征比较明显.将水稻植株在器官尺度上分成:基部、生长单元、分蘖(单茎)、植株四个部分.其中生长单元,由叶下节间、叶鞘叶片或者稻穗组成.然后,通过多次试探,归纳出描述水稻单茎拓扑结构的L系统公理及其产生式规则:
式中:W 为L系统公理;P1,P2,P3为产生式规则;R为基部;B为生长单元,由叶下节间、叶鞘、叶片组成;I,S,L,P分别代表节间、叶鞘、叶片、穗.&(180)用来控制水稻叶片的互生关系;参数i和j分别表示分孽茎号和节位号,初始都为0.maxB为最大单茎数,maxI为最大节数.
利用上述产生式P1进行迭代,随着迭代次数的增加不断抽出新的分蘖;产生式P2的迭代则会使单个分蘖新器官不断抽出和生长;产生式P3则为最后一个生长单元穗和穗下节间的抽出和生长.通过控制产生式的迭代次数,可以生成不同叶数和分蘖数的水稻植株的拓扑结构.
实现单株水稻拓扑结构模拟的算法思想,可以概括为:首先根据公理和产生式以及迭代次数来生成字符串,然后计算机对字符串进行解释,从而画出相应的植物拓扑结构.该算法的伪代码如下:
2.2 水稻生长模拟
采用有限状态自动机模型来控制水稻的生长.如前所述,在L系统迭代过程中,每次迭代都会有新的生长单元加入.假设每种生长单元都有相同或者近似的生长过程,如节间生长、出叶、叶片生长、抽穗、穗的生长.采用有限状态自动机中的状态来描述这些生长过程.经过抽象和简化,在模型中定义了4种状态:基部、节间、叶、穗.相应地,在模型中也定义了4种大事件:状态事件、分蘖事件、拔节事件、抽穗事件.状态事件分为生长事件和枯萎事件(主要针对叶状态).模型中的“动作”是指由事件引起的状态生长变化.在模型中,建立一个“事件触发器”,事件触发器接收水稻生长的时间轴天数,结合单个器官生长方程,计算模型中每个状态(由几何参数表征),当状态值满足一定得条件,则触发一个事件.
从水稻种子发芽开始(在时间轴上从0天开始),随着天数的增加,事件触发器不断的触发事件,导龟则根据不同的事件,通过扫描L系统字符串,读取相应的字符串作为状态,进行解析,根据不同的事件做出不同的动作.详细的过程流程如图2所示.
图2 生长控制流程图Fig.2 Flowchart of rice plant growth
3 系统实现
依据上述水稻形态建模思想,研究开发了水稻生长三维形态可视化模拟系统“VirtualRice-1”.该系统在VisualStudio 2005集成开发环境下,使用C++并结合三维绘图程序工具OpenGL开发,操作系统是Windows Vista.计算机硬件条件为Intel Core2 Duo E7300 CPU,主频为2.66 G及2.67 G;显卡为NVIDIA GeForce GTX 260;4 G内存.使用Excel文件存储实验数据.
系统基于MFC中的SDI,利用窗口分割技术,把窗口分割成三个板块,其主界面如图3所示.系统主界面主要包括菜单栏、操作区、动画显示区、进度控制区.菜单栏包括数据管理、场景选择、系统帮助信息.操作区可进行的操作有:导入水稻数据、选择水稻品种、启动水稻生长、光照计算控制、器官展示和数据显示选择.动画区将显示水稻生长三维动画,及其当前的生长状态信息.进度控制区显示当前水稻生长进度,并可以调节当前进度.图4是在计算机上模拟出的水稻生长的效果图,其中图4(a)为分蘖期;图4(b)为抽穗期的形态,图4(c)为穗成熟期的形态.从模拟结果可以看出,建立的系统较好地模拟了水稻生长的形态变化过程.
4 结束语
针对水稻结构及其生长过程极为复杂的特点,将参数化L系统和有限状态自动机模型有机融合,利用参数化L系统建立水稻的拓扑结构,结合有限状态自动机模型描述水稻器官的生长,实现了水稻生长的可视化模拟.研究建立了多模型综合集成的水稻形态三维可视化建模系统原型.该软件专门针对水稻株型的模拟和设计,能够根据田间测量出的形态数据,可视化模拟出不同品种水稻的株型.设计开发的水稻形态三维可视化建模系统,目前只实现了基本原型,系统功能、界面还需要进一步扩充和完善,系统模拟的可视化效果和交互能力还需进一步提高.在未来的工作中,为设计高产水稻株型及对其生长进行调控,必需综合考虑冠层生物量生产及其分配和叶片生长三者之间的关系,研究建立水稻冠层的“结构-功能”反馈模型,在此基础上建立高产水稻形态结构的定量化设计方法和相关原型系统.
[1]ROOM P M,HANAN J S.Virtual cotton:a new tool for research,management and training[C]//Proceedings of the World Cotton Research Conference-1:Challenging the Future,Brisbane.Melbourne:Csiro Australia,1995:40-44.
[2]FOURNIER C,ANDRIEU B A.A 3D architectural and process-based model of maize development[J].Annals of Botany,1998,81:233-250.
[3]郭炎,李保国.玉米冠层的数学描述与三维重建研究[J].应用生态学报,1999,10(1):39-41.
[4]KAITANIEMI P,HANAN J S,ROOM P M.Virtual sorghum:visualization of partitioning and morphogenesis[J].Computers and Electronics in Agriculture,2000,28:195-205.
[5]赵春江,陆声链,郭新宇,等.西瓜三维形态几何建模和真实感绘制技术研究[J].中国农业科学,2008,41(12):4155-4163.
[6]伍艳莲,曹卫星,汤亮,等.基于Open GL的小麦形态可视化技术[J].农业工程学报,2009,25(1):121-126.
[7]LINTERMANN B,DEUSSEN O.Interactive modeling of branching structures[J].IEEE Computer Graphics & Applications,1999,19(1):56-65.
[8]丁维龙,刘畅,张玉屏,等.基于弯曲变形计算的水稻穗空间形态模拟研究[J].中国水稻科学,2010,24(3):309-314
[9]马培良,丁维龙,古辉.基于OpenGL和双三次贝塞尔曲面的稻叶可视化建模[J].浙江工业大学学报,2010,38(1):36-40.
[10]GOUDRIAAN J.A simple and fast numerical method for the computation of daily totals of crop photosynthesis[J].Agricultural and Forest Meteorology,1986,38:249-254.
Design and realization of 3D visualization system for rice plant modeling
DING Wei-long1,ZHU Yuan-wei1,ZHANG Qian-yuan1,ZHANG Yu-ping2
(1.College of Computer Science & Technology,Zhejiang University of Technology,Hangzhou 310023,China;2.State Key Laboratory of Rice Biology,China National Rice Research Institute,Hangzhou 310006,China)
Considering the research situation of virtual crops,a new 3D visualization simulation system for rice plant modeling is designed and realized with C++language in the environment of Visual Studio 2005 and OpenGL,and the technique of Object-Oriented Programming is used.Based on the growth laws and the topological structure's characteristics of the rice plant,Parametric L-system is used to simulate its topological structures,and finite-state automaton is employed to describe the growth and development processes of rice plant.The system requirement is firstly analyzed,and then the general structure and basic functions in this system are introduced.The key techniques in the designing and implementation process in this system are discussed.Finally,the interface of this system and some typical effect pictures are given.
virtual crop;visualization;rice growth modeling;parametric L-system;automation model
TP391.9
A
1006-4303(2012)01-0046-04
2010-11-18
国家863计划基金资助项目(2007AA10Z229)
丁维龙(1975—),男,安徽萧县人,副教授,博士,研究方向为虚拟植物建模和智能系统,E-mail:wlding@zjut.edu.cn.
(
刘 岩)