喬桂新,溫維亮,彭亞宇,郭新宇+,趙麗麗
(1.國家農(nóng)業(yè)信息化工程技術研究中心 農(nóng)業(yè)部農(nóng)業(yè)信息技術重點開放實驗室,北京100097;2.湖南省武岡市雙牌中學,湖南 武岡422405)
辣椒是我國重要的蔬菜作物,利用數(shù)字化技術,構建數(shù)字辣椒技術體系[1],以三維可視的方式來分析、設計和模擬辣椒的生命過程和生產(chǎn)過程十分必要。實現(xiàn)辣椒形態(tài)結構的三維可視化建模是構建數(shù)字辣椒技術體系的基礎性工作,國內(nèi)外在玉米、棉花、小麥、西瓜和黃瓜等作物在器官、個體及群體尺度開展了較多的三維建模及可視化工作。肖伯祥等[2-3]通過提取玉米器官形態(tài)特征參數(shù),將圖形繪制算法與具有明確農(nóng)學意義的參數(shù)相結合,實現(xiàn)了玉米各器官模型的可視化;楊娟等[4]在棉花的三維形態(tài)建模和生長模擬方面得到了較好的模擬結果;伍艷蓮等[5]針對小麥主要器官的形態(tài)特征,提出了小麥形態(tài)可視化方法,并構建了小麥葉片、莖稈和麥穗的幾何模型,實現(xiàn)了不同;尺度的小麥形態(tài)可視化;趙春江等[6]將球B樣條曲線建模方法應用于西瓜器官的幾何造型中來,結合分析西瓜器官形態(tài)特征所提取的特征參數(shù)與模板技術,實現(xiàn)了西瓜器官及植株的三位形態(tài)交互式設計,并通過參數(shù)驅動實現(xiàn)了西瓜植株生長可視化。苗騰等[7]提出一種基于數(shù)據(jù)約束的黃瓜葉片參數(shù)化建模方法,可以快速、靈活地構建出黃瓜葉片的三維形態(tài),具有較強的真實感效果;談峰等[8]構建了基于形態(tài)特征參數(shù)的小麥根系三維形態(tài)模型,并實現(xiàn)小麥根系生長的可視化。而國內(nèi)外對辣椒形態(tài)模擬的研究相對較少,吳瑞娟等[9]重構了辣椒器官和個體的三維形態(tài),得到了辣椒的可視化模型,在辣椒形態(tài)可視化模擬方面做出了初步探索,但其葉片及器官的著生過于呆板,并且缺少對枝干、果實的形態(tài)進行詳細探討。本文通過獲取辣椒各器官的真三維數(shù)據(jù),結合T樣條拼接、球B樣條等幾何建模方法對辣椒植株進行三維幾何建模。
辣椒地上部形態(tài)器官主要包括枝干、葉片、果實及花朵。本文分別針對枝干、果實及葉片進行器官的重建、最后根據(jù)拓撲結構將各器官組合成為辣椒植株三維模型。
辣椒枝干決定了辣椒植株的基本形態(tài),一般有若干主要分枝,且呈二分杈交叉形式,每一分杈與相鄰分杈有近似90°的角度。與玉米、煙草等具有明顯單主莖的作物不同,辣椒枝干難以進行直觀的拓撲結構描述,且分級結構復雜,給辣椒植株的交互式設計帶來了一定的難度。枝干的基本單元為節(jié)間,節(jié)間的外部形態(tài)為近似圓柱狀,每相鄰兩節(jié)間有比較明顯的凸起,稱之為節(jié),節(jié)是葉子、果實、花朵等器官的主要著生部位 (如圖1所示)。
圖1 辣椒枝干及節(jié)的形態(tài)
針對辣椒枝干結構復雜難以描述的特點,采用數(shù)字化方法對辣椒枝干的三維形態(tài)進行數(shù)據(jù)獲取,應用獲取的真三維數(shù)據(jù),結合球B樣條建模方法進行辣椒枝干的三維重建。球B樣條[10]是B樣條曲線曲面的一種衍化,它的應用可以比較真實地模擬植物的莖稈、柄等管狀器官[11-13]。球B樣條的表達式為
式中:pi——控制點,ri——控制半徑。球B樣條由兩部分組成,其中一部分模擬枝干中軸線,另一部分計算枝條上各點半徑。針對辣椒枝干的彎曲及節(jié)間特點,采用一次插值樣條基函數(shù)的球B樣條模擬辣椒枝干,利用三維掃描儀FastScan的探筆工具在辣椒枝干每個節(jié)處獲取一個控制頂點,數(shù)據(jù)獲取從根部開始,按照深度優(yōu)先的順序遍歷,各分枝在分杈處取相同控制點,這樣可以確保枝干的無縫拼接,并根據(jù)實測數(shù)據(jù)采用線性遞減的方式確定每個控制球的半徑,得到的節(jié)間模型為圓柱形。為了較好地模擬辣椒節(jié)間的突起形態(tài),將兩節(jié)間處的半球向節(jié)間凸起方向平移1/2半徑的距離,得到較好的模擬效果 (如圖2所示)。圖3給出了利用該方法所模擬的辣椒枝干模型。
辣椒分為櫻桃椒類、圓錐椒類、甜柿椒類、長椒類、簇生椒類等多個種類和品種,本文僅對表面溝痕較深、褶皺較多的甜椒果實構建模型。彩椒果實長圓筒狀,果實上有較明顯的溝痕,溝痕尖端凹凸明顯導致無法獲取曲面造型的控制點,因此,以溝痕為界將辣椒果實分為若干分部(一般2-4個),對每一分部分別建模,然后利用T樣條無縫拼接的方法得到整個果實的完整模型。
1.2.1 果實分部模型的建立
張量積NURBS曲面[14]建模方法已經(jīng)在造型仿真領域得到了廣泛的應用,通過控制頂點以及權因子的確定可以很好地逼近擬模擬物體的表面,控制頂點坐標數(shù)據(jù)可由三維掃描儀得到。張量積NUEBS曲面的表達式為
式中:Pi,j——控制頂點,Ni,k(s),Nj,l(t)——分別 定義在節(jié)點矢量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樣條基函數(shù),ωi,j為控制頂點Pi,j的權子。
采用累加弦長參數(shù) (向心模型計算)形式的三次非均勻NURBS曲面,并且在邊界采用重節(jié)點以便模型能夠取到邊界。數(shù)據(jù)獲取時,首先用記號筆在彩椒果實的表面標記關鍵點,然后利用三維掃描儀FastScan的探筆工具依次獲取標記點的三維坐標,根據(jù)每個點處的彎曲、褶皺情況確定相應的權因子,代入上式得到各分部曲面 (如圖4所示)。
圖4 彩椒的各分部模型
1.2.2 分部曲面之間的拼接
T樣條[15]突破了NURBS曲面控制網(wǎng)格必須是矩形網(wǎng)格的局限,T型結點的提出以及結點插入算法的發(fā)展使得T樣條在曲面的拼接領域得到了應用。T樣條拼接可以在插入較少控制點的情況下實現(xiàn)比較好的拼接效果,本文通過平移、旋轉使相鄰兩個曲面的邊界標記點重合,在邊界插入控制點是每相鄰的兩個分部有一條重合的控制點列,然后重新計算節(jié)點矢量即可帶入T樣條拼接得到無縫模型。
樣條拼接方法的應用較好地克服了辣椒果實控制點不易獲取的缺點,得到復雜曲面的光滑部分后,將若個相鄰曲面無縫拼接,T樣條拼接又大大減少了B樣條拼接所需插入的控制點數(shù)量,在減少計算時間的同時很好地模擬了局部的細節(jié)特征,圖5給出了果實拼接前及拼接后的模型結果。
圖5 彩椒的拼接結果
辣椒葉片表層有一層比較薄的蠟質(zhì),結構簡單,模擬的關鍵在于實驗數(shù)據(jù)的真實性,通過數(shù)字化儀獲取葉片主要特征點,并利用樣條曲面方法得到葉片的網(wǎng)格模型后,利用OpenGL的紋理貼圖可以較真實地模擬葉片的紋理及形態(tài)。
辣椒每個枝條的頂部是由若干大小不一的葉片組成的葉簇,一般由4-5個葉片組成,葉片之間有一定的夾角,在OpenGL中利用函數(shù)glScalef(void)對葉片進行縮放得到不同大小的葉片,旋轉、平移組合為由多個葉片組成的葉簇,所構造的頂端花簇如圖6所示。
圖6 頂端花簇的模擬
辣椒植株的參數(shù)化設計與現(xiàn)有作物如玉米、西瓜等的參數(shù)化設計不同,因辣椒植株無明顯主莖,無法像玉米、黃瓜等單主莖作物利用葉傾角與方位角等參數(shù)進行器官在植株上的安裝。辣椒的枝干在每一分杈處生長兩個分枝,果實、葉片等器官生長于分杈處,且每節(jié)僅著生一片葉片,相同枝干相鄰葉片生長的水平夾角約為90°。根據(jù)辣椒主莖形態(tài)特征,在有了主莖模型后,首先利用三維拖拽交互的方法進行辣椒葉片與辣椒果實生長點的交互設計,確定器官生長點后,采用相對于所依托枝干部分的傾角與方位角設計器官生長方向即可。為避免枝干、葉片、果實等器官之間的交叉,枝干頂端采用頂端葉簇模板,若發(fā)現(xiàn)器官間存在交叉,即可通過調(diào)整器官的傾角及方位角避免交叉,以提高真實感。
在上述設計方法的基礎上,采用C++編程語言開發(fā)了辣椒三維形態(tài)交互式設計軟件。其中主要類包括植株類、葉片類、果實類、莖節(jié)類等,以葉片建模為例,其主要代碼如下:
pDoc->SurfacePts(); //計算網(wǎng)格點
pDoc->SurfaceTexCoord (); //計算網(wǎng)格點對應的紋理坐標
pDoc->mSurface.m_vvTextureMapCoord=pDoc->m_vvTexCoord;
pDoc->mSurface.m_vvSurfacePoints=pDoc->m_vvSurfacePts;
pDoc->mSurface.NormalVector (); //計算網(wǎng)格點的法向量
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]); //創(chuàng)建紋理對象
實驗針對基于實測數(shù)據(jù)進行辣椒幾何建模所展開。幾何建模所需數(shù)據(jù)于北京市農(nóng)林科學院蔬菜中心基地塑料大棚獲取,獲取數(shù)據(jù)包括辣椒枝干的數(shù)字化數(shù)據(jù)、辣椒果實的三維形態(tài)數(shù)字化數(shù)據(jù)、典型葉片的數(shù)字化數(shù)據(jù)及葉片紋理照片。利用所獲取數(shù)據(jù),結合文中辣椒幾何建模方法所構造的辣椒植株三維模型如圖7所示。由可視化結果可看出,所構造的辣椒植株幾何模型能夠真實地反映辣椒植株的形態(tài)特征,具有較高地真實感。
圖7 辣椒植株可視化
本文構建了辣椒主要器官與植株的幾何模型。借助三維信息獲取工具獲取了辣椒枝干、果實的實測數(shù)據(jù),利用一次形式的球B樣條方法得到了辣椒枝干模型,通過移動控制球的位置重建了節(jié)的結構;在葉片的模擬中很好地利用了OpenGL的紋理貼圖、縮放、旋轉等函數(shù),不僅得到了不同方位的單葉還建立了頂端花簇的形態(tài)結構,在各器官的組合過程中,考慮了器官之間的方位和夾角,避免了多種器官之間的重合、交叉;將T樣條的理論知識應用到植物的模擬,提出了將辣椒果實分割為若干分部的思想,真實地模擬了表面細節(jié)特征較多、不易獲取控制點的辣椒果實;并針對辣椒提出了無主莖結構作物的植株交互式設計方法,開發(fā)了辣椒植株交互式設計軟件。該方法易于與具有農(nóng)學意義的作物形態(tài)參數(shù)結合,為數(shù)字辣椒的實現(xiàn)提供了技術手段。本文中的模型沒有過多考慮作物的動態(tài)生長過程,如何將植物不同生長時期的靜態(tài)模型與生長參數(shù)相結合,以實現(xiàn)辣椒的動態(tài)生長可視化是下一步需要開展的工作。
[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).[趙春江,陸聲鏈,郭新宇,等.數(shù)字植物及其技術體系探討[J].中國農(nóng)業(yè)科學,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).[肖伯祥,郭新宇,王紀華,等.玉米葉片形態(tài)建模與網(wǎng)格簡化算法研究 [J].中國農(nóng)業(yè)科學,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).[伍艷蓮,曹衛(wèi)星,湯亮,等.基于OpenGL的小麥形態(tài)可視化技術 [J].農(nóng)業(yè)工程學報,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).[趙春江,陸聲鏈,郭新宇,等.西瓜三維形態(tài)幾何建模和真實感繪制技術研究 [J].中國農(nóng)業(yè)科學,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). [苗騰,趙春江,郭新宇,等.基于數(shù)據(jù)約束的黃瓜葉片參數(shù)化建模 [J].農(nóng)業(yè)機械學報,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). [談峰,湯亮,胡軍成,等.小麥根系三維形態(tài)建模及可視化 [J].應用生態(tài)學報,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].農(nóng)機化研究,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樣條函數(shù)的煙草葉片虛擬實現(xiàn) [J].農(nóng)業(yè)工程學報,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].農(nóng)業(yè)機械學報,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.