辣椒植株三维重构与可视化研究

2012-11-30 03:18乔桂新温维亮彭亚宇郭新宇赵丽丽
计算机工程与设计 2012年4期
关键词:样条枝干器官

乔桂新,温维亮,彭亚宇,郭新宇+,赵丽丽

(1.国家农业信息化工程技术研究中心 农业部农业信息技术重点开放实验室,北京100097;2.湖南省武冈市双牌中学,湖南 武冈422405)

0 引 言

辣椒是我国重要的蔬菜作物,利用数字化技术,构建数字辣椒技术体系[1],以三维可视的方式来分析、设计和模拟辣椒的生命过程和生产过程十分必要。实现辣椒形态结构的三维可视化建模是构建数字辣椒技术体系的基础性工作,国内外在玉米、棉花、小麦、西瓜和黄瓜等作物在器官、个体及群体尺度开展了较多的三维建模及可视化工作。肖伯祥等[2-3]通过提取玉米器官形态特征参数,将图形绘制算法与具有明确农学意义的参数相结合,实现了玉米各器官模型的可视化;杨娟等[4]在棉花的三维形态建模和生长模拟方面得到了较好的模拟结果;伍艳莲等[5]针对小麦主要器官的形态特征,提出了小麦形态可视化方法,并构建了小麦叶片、茎秆和麦穗的几何模型,实现了不同;尺度的小麦形态可视化;赵春江等[6]将球B样条曲线建模方法应用于西瓜器官的几何造型中来,结合分析西瓜器官形态特征所提取的特征参数与模板技术,实现了西瓜器官及植株的三位形态交互式设计,并通过参数驱动实现了西瓜植株生长可视化。苗腾等[7]提出一种基于数据约束的黄瓜叶片参数化建模方法,可以快速、灵活地构建出黄瓜叶片的三维形态,具有较强的真实感效果;谈峰等[8]构建了基于形态特征参数的小麦根系三维形态模型,并实现小麦根系生长的可视化。而国内外对辣椒形态模拟的研究相对较少,吴瑞娟等[9]重构了辣椒器官和个体的三维形态,得到了辣椒的可视化模型,在辣椒形态可视化模拟方面做出了初步探索,但其叶片及器官的着生过于呆板,并且缺少对枝干、果实的形态进行详细探讨。本文通过获取辣椒各器官的真三维数据,结合T样条拼接、球B样条等几何建模方法对辣椒植株进行三维几何建模。

1 辣椒主要器官几何建模

辣椒地上部形态器官主要包括枝干、叶片、果实及花朵。本文分别针对枝干、果实及叶片进行器官的重建、最后根据拓扑结构将各器官组合成为辣椒植株三维模型。

1.1 枝干的模拟

辣椒枝干决定了辣椒植株的基本形态,一般有若干主要分枝,且呈二分杈交叉形式,每一分杈与相邻分杈有近似90°的角度。与玉米、烟草等具有明显单主茎的作物不同,辣椒枝干难以进行直观的拓扑结构描述,且分级结构复杂,给辣椒植株的交互式设计带来了一定的难度。枝干的基本单元为节间,节间的外部形态为近似圆柱状,每相邻两节间有比较明显的凸起,称之为节,节是叶子、果实、花朵等器官的主要着生部位 (如图1所示)。

图1 辣椒枝干及节的形态

针对辣椒枝干结构复杂难以描述的特点,采用数字化方法对辣椒枝干的三维形态进行数据获取,应用获取的真三维数据,结合球B样条建模方法进行辣椒枝干的三维重建。球B样条[10]是B样条曲线曲面的一种衍化,它的应用可以比较真实地模拟植物的茎秆、柄等管状器官[11-13]。球B样条的表达式为

式中:pi——控制点,ri——控制半径。球B样条由两部分组成,其中一部分模拟枝干中轴线,另一部分计算枝条上各点半径。针对辣椒枝干的弯曲及节间特点,采用一次插值样条基函数的球B样条模拟辣椒枝干,利用三维扫描仪FastScan的探笔工具在辣椒枝干每个节处获取一个控制顶点,数据获取从根部开始,按照深度优先的顺序遍历,各分枝在分杈处取相同控制点,这样可以确保枝干的无缝拼接,并根据实测数据采用线性递减的方式确定每个控制球的半径,得到的节间模型为圆柱形。为了较好地模拟辣椒节间的突起形态,将两节间处的半球向节间凸起方向平移1/2半径的距离,得到较好的模拟效果 (如图2所示)。图3给出了利用该方法所模拟的辣椒枝干模型。

1.2 果实的模拟

辣椒分为樱桃椒类、圆锥椒类、甜柿椒类、长椒类、簇生椒类等多个种类和品种,本文仅对表面沟痕较深、褶皱较多的甜椒果实构建模型。彩椒果实长圆筒状,果实上有较明显的沟痕,沟痕尖端凹凸明显导致无法获取曲面造型的控制点,因此,以沟痕为界将辣椒果实分为若干分部(一般2-4个),对每一分部分别建模,然后利用T样条无缝拼接的方法得到整个果实的完整模型。

1.2.1 果实分部模型的建立

张量积NURBS曲面[14]建模方法已经在造型仿真领域得到了广泛的应用,通过控制顶点以及权因子的确定可以很好地逼近拟模拟物体的表面,控制顶点坐标数据可由三维扫描仪得到。张量积NUEBS曲面的表达式为

式中:Pi,j——控制顶点,Ni,k(s),Nj,l(t)——分别 定义在节点矢量S= {s0,s1,…,sm+k+1}(si≤si+1,i= 0,1,…,m+k),T= {t0,t1,…,tn+l+1}(tj≤tj+1,j=0,1,…,n+l)上的B样条基函数,ωi,j为控制顶点Pi,j的权子。

采用累加弦长参数 (向心模型计算)形式的三次非均匀NURBS曲面,并且在边界采用重节点以便模型能够取到边界。数据获取时,首先用记号笔在彩椒果实的表面标记关键点,然后利用三维扫描仪FastScan的探笔工具依次获取标记点的三维坐标,根据每个点处的弯曲、褶皱情况确定相应的权因子,代入上式得到各分部曲面 (如图4所示)。

图4 彩椒的各分部模型

1.2.2 分部曲面之间的拼接

T样条[15]突破了NURBS曲面控制网格必须是矩形网格的局限,T型结点的提出以及结点插入算法的发展使得T样条在曲面的拼接领域得到了应用。T样条拼接可以在插入较少控制点的情况下实现比较好的拼接效果,本文通过平移、旋转使相邻两个曲面的边界标记点重合,在边界插入控制点是每相邻的两个分部有一条重合的控制点列,然后重新计算节点矢量即可带入T样条拼接得到无缝模型。

样条拼接方法的应用较好地克服了辣椒果实控制点不易获取的缺点,得到复杂曲面的光滑部分后,将若个相邻曲面无缝拼接,T样条拼接又大大减少了B样条拼接所需插入的控制点数量,在减少计算时间的同时很好地模拟了局部的细节特征,图5给出了果实拼接前及拼接后的模型结果。

图5 彩椒的拼接结果

1.3 叶片的重建

辣椒叶片表层有一层比较薄的蜡质,结构简单,模拟的关键在于实验数据的真实性,通过数字化仪获取叶片主要特征点,并利用样条曲面方法得到叶片的网格模型后,利用OpenGL的纹理贴图可以较真实地模拟叶片的纹理及形态。

辣椒每个枝条的顶部是由若干大小不一的叶片组成的叶簇,一般由4-5个叶片组成,叶片之间有一定的夹角,在OpenGL中利用函数glScalef(void)对叶片进行缩放得到不同大小的叶片,旋转、平移组合为由多个叶片组成的叶簇,所构造的顶端花簇如图6所示。

图6 顶端花簇的模拟

2 植株设计与系统实现

辣椒植株的参数化设计与现有作物如玉米、西瓜等的参数化设计不同,因辣椒植株无明显主茎,无法像玉米、黄瓜等单主茎作物利用叶倾角与方位角等参数进行器官在植株上的安装。辣椒的枝干在每一分杈处生长两个分枝,果实、叶片等器官生长于分杈处,且每节仅着生一片叶片,相同枝干相邻叶片生长的水平夹角约为90°。根据辣椒主茎形态特征,在有了主茎模型后,首先利用三维拖拽交互的方法进行辣椒叶片与辣椒果实生长点的交互设计,确定器官生长点后,采用相对于所依托枝干部分的倾角与方位角设计器官生长方向即可。为避免枝干、叶片、果实等器官之间的交叉,枝干顶端采用顶端叶簇模板,若发现器官间存在交叉,即可通过调整器官的倾角及方位角避免交叉,以提高真实感。

在上述设计方法的基础上,采用C++编程语言开发了辣椒三维形态交互式设计软件。其中主要类包括植株类、叶片类、果实类、茎节类等,以叶片建模为例,其主要代码如下:

pDoc->SurfacePts(); //计算网格点

pDoc->SurfaceTexCoord (); //计算网格点对应的纹理坐标

pDoc->mSurface.m_vvTextureMapCoord=pDoc->m_vvTexCoord;

pDoc->mSurface.m_vvSurfacePoints=pDoc->m_vvSurfacePts;

pDoc->mSurface.NormalVector (); //计算网格点的法向量

pDoc->m_texdata=new AUX_RGBImageRec* [1];

pDoc->m_texdata[0]=NULL;

pDoc->m_texdata[0]= auxDIBImageLoad (_T(" 叶片 .bmp")); //读取纹理图片

if(pDoc->m_nNameID) {

delete pDoc->m_nNameID;

pDoc->m_nNameID=NULL;

pDoc->m_nNameID = new GLuint[1];

glGenTextures (1,pDoc->m_nNameID); //返回纹理对象的名字

pDoc->RGBtoRGBA (); //将 RGB值转 化为RGBA值

glBindTexture(GL_TEXTURE_2D,pDoc->m_nNameID [0]); //创建纹理对象

3 实验与分析

实验针对基于实测数据进行辣椒几何建模所展开。几何建模所需数据于北京市农林科学院蔬菜中心基地塑料大棚获取,获取数据包括辣椒枝干的数字化数据、辣椒果实的三维形态数字化数据、典型叶片的数字化数据及叶片纹理照片。利用所获取数据,结合文中辣椒几何建模方法所构造的辣椒植株三维模型如图7所示。由可视化结果可看出,所构造的辣椒植株几何模型能够真实地反映辣椒植株的形态特征,具有较高地真实感。

图7 辣椒植株可视化

4 结束语

本文构建了辣椒主要器官与植株的几何模型。借助三维信息获取工具获取了辣椒枝干、果实的实测数据,利用一次形式的球B样条方法得到了辣椒枝干模型,通过移动控制球的位置重建了节的结构;在叶片的模拟中很好地利用了OpenGL的纹理贴图、缩放、旋转等函数,不仅得到了不同方位的单叶还建立了顶端花簇的形态结构,在各器官的组合过程中,考虑了器官之间的方位和夹角,避免了多种器官之间的重合、交叉;将T样条的理论知识应用到植物的模拟,提出了将辣椒果实分割为若干分部的思想,真实地模拟了表面细节特征较多、不易获取控制点的辣椒果实;并针对辣椒提出了无主茎结构作物的植株交互式设计方法,开发了辣椒植株交互式设计软件。该方法易于与具有农学意义的作物形态参数结合,为数字辣椒的实现提供了技术手段。本文中的模型没有过多考虑作物的动态生长过程,如何将植物不同生长时期的静态模型与生长参数相结合,以实现辣椒的动态生长可视化是下一步需要开展的工作。

[1]ZHAO Chunjiang,LU Shenlian,GUO Xinyu,et al.Exploration of digital plant and its technology system [J].Scientia Agricultura Sinica,2010,43 (10):2023-2030 (in Chinese).[赵春江,陆声链,郭新宇,等.数字植物及其技术体系探讨[J].中国农业科学,2010,43 (10):2023-2030.]

[2]XIAO Boxiang,GUO Xinyu,ZHENG Wengang,et al.Geometric modeling of maize ear [J].Journal of Engineering Graphics,2007,2 (2):64-67 (in Chinese).[肖伯祥,郭新宇,郑文刚,等.玉米雌穗几何造型研究 [J].工程图学学报,2007,2 (2):64-67.]

[3]XIAO Boxiang,GUO Xinyu,WANG Jihua,et al.Maize leaf morphological modeling and mesh simplification of surface [J].Scientia Agricultura Sinica,2007,40 (4):693-697 (in Chinese).[肖伯祥,郭新宇,王纪华,等.玉米叶片形态建模与网格简化算法研究 [J].中国农业科学,2007,40 (4):693-697.]

[4]YANG Juan,ZHAO Ming,PAN Xuebiao.Simulation of cotton organs based on NURBS [J].Computer Engineering and Applications,2005,41 (30):185-188 (in Chinese). [杨娟,赵明,潘学标.基于NURBS曲面的棉花器官建模 [J].计算机工程与应用,2005,41 (30):185-188.]

[5]WU Yanlian,CAO Weixing,TANG Liang,et al.OpenGL-based visual technology for wheat morphology [J].Transactions of the Chinese Society of Agricultural Engineering,2009,25 (1):121-126 (in Chinese).[伍艳莲,曹卫星,汤亮,等.基于OpenGL的小麦形态可视化技术 [J].农业工程学报,2009,25 (1):121-126.]

[6]ZHAO Chunjiang,LU Shenlian,GUO Xinyu,et al.Techniques for modeling 3-D shape and realistic rendering of watermelon [J].Scientia Agricultural Sinica,2008,41 (12):4155-4163(in Chinese).[赵春江,陆声链,郭新宇,等.西瓜三维形态几何建模和真实感绘制技术研究 [J].中国农业科学,2008,41 (12):4155-4163.]

[7]MIAO Teng,ZHAO Chunjiang,GUO Xinyu,et al.Parameterized geometric modeling of cucumber leaf based on data constrains[J]. Transactions of the Chinese Society for Agricultural Machinery,2011,42 (1):171-176 (in Chinese). [苗腾,赵春江,郭新宇,等.基于数据约束的黄瓜叶片参数化建模 [J].农业机械学报,2011,42 (1):171-176.]

[8]TAN Feng,TANG Liang,HU Juncheng,et al.Three dimensional morphological modeling and visualization of wheat root system [J].Chinese Journal of Applied Ecology,2011,22 (1):137-143 (in Chinese). [谈峰,汤亮,胡军成,等.小麦根系三维形态建模及可视化 [J].应用生态学报,2011,22 (1):137-143.]

[9]WU Ruijuan,HE Dongjian.Three-dimensional visual simulation of pepper growth [J].Journal of Agricultural Mechanization Research,2009,29 (10):180-183 (in Chinese).[吴瑞娟,何东健.辣椒生长的三维可视化模拟 [J].农机化研究,2009,29 (10):180-183.]

[10]Seah H S,WU Z.Ball b-spline based geometric models in distributed virtual environments [C].Villars,Switzerland:Workshop Towards Semantic Virtual Environments,2005:1-8.

[11]WANG Yunyun,WEN Weiliang,GUO Xinyu,et al.Virtual realization of tobacco leaves based on ball B-spline function [J].Transaction of the CSAE,2011,27 (1):230-235 (in Chinese).[王芸芸,温维亮,郭新宇,等.基于球B样条函数的烟草叶片虚拟实现 [J].农业工程学报,2011,27(1):230-235.]

[12]WANG Yunyun,WEN Weiliang,GUO Xinyu,et al.Geometric modeling of tobacco flower [J].Transactions of the Chinese Society for Agricultural Machinery,2011,42 (4):163-167(in Chinese).[王芸芸,温维亮,郭新宇,等.烟草花几何建模研究 [J].农业机械学报,2011,42 (4):163-167.]

[13]WU Z K,ZHOU M Q.An interactive system of modeling trees with ball B-spline Curves [C].Beijing:The Second International Symposium on Plant Growth Modeling Simulation Visualization and Applications,2006.

[14]SHI Fazhong.Computer-aided geometric design and non-uniform rational B-spline [M].Beijing:Beijing University of Aeronautics and Astronautics Press,1994 (in Chinese).[施法中.计算机辅助几何设计与非均匀有理B样条 [M].北京:北京航空航天大学出版社,1994.]

[15]Thomas W Sederberg,Jianmin Zheng,Almaz Bakenov,et al.T-splines and T-NURCCs [J].ACM Transactions on Graphics,2003,22 (3):161-172.

猜你喜欢
样条枝干器官
何 芳
一元五次B样条拟插值研究
类器官
玫瑰或刺
玫瑰或刺
三次参数样条在机床高速高精加工中的应用
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
基于样条函数的高精度电子秤设计
肺脏:隐藏多年的造血器官
人体最“没用”的器官