基于OpenGL苹果枝条生长可视化研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于OpenGL苹果枝条生长可视化研究

基于OpenGL苹果枝条生长可视化研究   摘 要:为解决果树整形试验中不可逆、难以快速成型的缺点,以小冠疏层形苹果树为研究对象,采用马尔科夫随机过程模型建立苹果树枝条的随机生长模型。在此基础上,利用Visual C++与OpenGL图形引擎实现了苹果树枝条生长过程及光照、阴影在降雨降雪等自然环境的三维可视化仿真。通过调控生长参数来模拟不同生长条件下的果树枝条发育过程,为苹果树树形培训和推广提供了一种可行的技术手段。   关键词:OpenGL;果树培训;虚拟技术   中图分类号:S661.1 文献标识码:A DOI 编码:10.3969/j.issn.1006-6500.2015.08.018   我国是果树种植大国[1],果树树形对果树的产量和品质有着重要的影响[2-3]。科学高效地推广先进的树形成为提高我国苹果果品质量的重要手段。目前果树树形的培训和推广工作,主要存在以下问题:一是口头讲解、教学光盘等形式不够直观形象[4];二是果树培训方面的农技推广人员相对短缺[4];三是果树整形具有不可逆性,错误的整形往往容易带来不可弥补的损失[4]。虚拟植物技术通过模拟植物的生长过程,可以替代农业生产过程中相对费时费力的试验,目前常见的虚拟植物建模方法(如L系统、粒子系统、分形方法)和生成的软件(如AMAP、Xfrog、Plant Studio)已经在多个农业领域展开虚拟植物研究工作。然而与小麦、玉米等一年生作物不同,果树是一个多年生的、复杂的人工生态系统,传统的基于植物生长机理的建模方法不适于果树的虚拟生长研究。果树枝条的分枝过程可以看作是一种开放性高且复杂的系统,同时亦是一种具有可控概率的系统[5],非常适合使用马尔科夫模型预测果树的分枝模式[6-7]。   本研究在总结前人研究的基础上,以小冠疏层形苹果树为对象,利用马尔可夫模型来描述苹果树枝条的生长过程,结合OpenGL图形引擎实现苹果树枝条生长过程以及果树生长过程中自然环境的可视化,对我国果树树形的推广进行有益地探索和尝试。   1 系统功能设计   苹果树枝条虚拟生长系统拥有3个功能模块:果树枝条模拟模块、自然环境虚拟模块、生长控制模块。苹果枝条模拟包含了果树枝干、新梢和叶片的模拟;自然环境模拟包含气象数据显示、光照和阴影显示以及降雨、降雪的模拟;生长控制模块包含果树枝条生长参数的设置和枝条生长模拟功能。这些功能模块彼此互相独立,它们之间的功能组合构成了苹果树枝条虚拟生长系统,系统功能结构如图1所示。   2 苹果枝条模拟   2.1 苹果枝干、新梢模拟   在OpenGL中,一般使用gluCylinder函数构建一个圆柱体来近似模拟一段枝干,再使用贴图技术模拟枝干的外皮。这种做法在普通林木的三维模拟中比较常见且符合人眼直观感觉,然而经过人工整形的果树枝干多是弯曲生长的,因此不能直接使用该函数。本研究根据当前枝条的节作为自然分割点,将节间的枝干部分加入弯曲函数,达到整体枝干自然弯曲的效果。苹果树新梢相对笔直,使用gluCylinder函数直接绘制即可。   在果树的生长周期内,果树枝条的长度和半径根据苹果物候日期发生响应变化才能达到动态生长的视觉效果。本研究通过生长间隔设置枝条长度的动态增量来实现枝条的增长,而半径的增长是通过在母枝条和子枝条之间设定一个响应的衰减系数来同步改变的。随着各个枝条长度和半径的连续变化就能实现枝条形状连续生长的模拟。   2.2 苹果叶片模拟   叶片是果树的重要功能器官,光合作用和蒸腾作用主要由叶片来完成。苹果叶片在一年内的生长过程中,形状上呈现由小到大,在颜色上呈现由浅到深的变化,在位置上叶片的着生位置围绕沿新梢呈螺旋状生长。同时叶片在动态生长过程中应该呈现一定的飘动效果,使果树枝条的仿真更加逼真。由于果树叶片数量相对较多,为达到实时刷新的目的,本研究使用OpenGL绘制叶片,使用几何四边形加上叶片的纹理贴,叶片图像的四个角对应四边形的四个角。叶片图像的背景色为白底,在OpenGL中使用glAlphaFunc函数将白色底色进行透明化处理,使得渲染后的图片仅显示叶片部分。该函数有两个参数func和ref,func被允许的符合常量有GL_NEVER、GL_LESS、GL_EQUAL、GL_LEQUAL、GL_GREATER、GL_NOTEQUAL、GL_GEQUAL和 GL_ALWAYS,初始值为GL_ALWAYS。Ref则指明与引入的alpha值比较的参照值,该值属于区间[0, 1],初始值为0。在果树枝条生长过程中,叶片根据当前物候日期加载响应季节的苹果叶片达到动态生长的效果。为使叶片更加逼真,在调用绘制叶片函数前使用glRotatef函数让叶片围绕新梢进行一定角度的随机摆动,系统在实时绘制果树叶片时,整株果树的叶

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档