張丹丹,陳祎瓊,王月康,張友華,徐 猛,吳云志
(1.安徽農(nóng)業(yè)大學 信息與計算機學院,安徽 合肥 230036;2.安徽農(nóng)業(yè)大學 農(nóng)業(yè)信息工程實驗室,安徽 合肥 230036 )
基于Java3D的水稻形態(tài)可視化試驗
張丹丹1,2,陳祎瓊1,2,王月康1,張友華1,2,徐 猛1,吳云志1
(1.安徽農(nóng)業(yè)大學 信息與計算機學院,安徽 合肥 230036;2.安徽農(nóng)業(yè)大學 農(nóng)業(yè)信息工程實驗室,安徽 合肥 230036 )
為了探究利用Java3D進行虛擬植物可視化的可行性,本文以水稻為研究對象,提出水稻主莖器官的可視化數(shù)學模型,在此模型基礎(chǔ)之上,利用 Java3D 編程構(gòu)建基于器官形態(tài)特征參數(shù)的三維空間模型??紤]到具體模型的自然形狀,進行了相關(guān)簡化。首先基于一元二次方程y=ax2+x模擬葉片的葉脈曲線,然后葉片則基于正弦曲線進行模擬,稻穗粒采用圓錐型進行簡化模擬,稻穗桿和莖桿均用圓截面柱體進行模擬。結(jié)果表明:利用 Java3D 可以實現(xiàn)對水稻莖桿-葉片-稻穗的個體三維形態(tài)的可視化,從而為構(gòu)建水稻可視化生長模型奠定了一定的技術(shù)基礎(chǔ)。
水稻;主莖器官;可視化;Java3D
隨著計算機技術(shù)的發(fā)展與普及,數(shù)學建模方法在很多科學領(lǐng)域如物理、氣象和農(nóng)業(yè)科學上面得到了廣泛的運用。在作物生長領(lǐng)域,使用模型方法描述植物的生長狀況的研究主要分為兩個方向:一是以各種環(huán)境變量,如溫濕度、土壤成分等參數(shù)來描述作物群體生長發(fā)育的過程,即作物生長模型;二是以植物的形態(tài)參數(shù)為基礎(chǔ),利用計算機圖形學再現(xiàn)作物在三維空間中的動態(tài)生長過程,即虛擬作物模型。植物生長發(fā)育模型研究興起于20世紀60年代中期,當時產(chǎn)生了 BACROS、CERES、ELCROS[1-2]等模型對植物形態(tài)結(jié)構(gòu)和環(huán)境因素等方面的簡化處理實現(xiàn)模擬。直到20世紀 70年代,計算機技術(shù)的發(fā)展為虛擬作物模型的研究提供了進一步發(fā)展的有利條件。近年來,已出現(xiàn)關(guān)于利用分形方法、粒子系統(tǒng)、L系統(tǒng)、分布生長等方法進行水稻、小麥、棉花、高粱、玉米等作物虛擬實現(xiàn)方法的研究[3-6]。
水稻生長形態(tài)較為復雜,且局限于沒有水稻生長準確且真實的實驗數(shù)據(jù),只能對水稻形態(tài)進行簡化,根據(jù)構(gòu)建出的數(shù)學模型進行定量化模擬,省略了一些細節(jié)的表現(xiàn)。為此,本文提出水稻主莖器官的可視化數(shù)學模型,在此基礎(chǔ)之上,利用Java3D實現(xiàn)水稻各主要器官形態(tài)的三維空間呈現(xiàn),包括水稻葉片、水稻莖桿和稻穗等主要生長形態(tài)模型。
1.1 水稻葉片的建模
(1)
其中:m為調(diào)整系數(shù)(取值范圍可控制在0.0~3.0);w為葉片最寬處的寬度;l為葉片長度;φ為葉傾角的弧度表示。
1.1.1 水稻葉片邊緣建模
水稻葉片邊緣輪廓采用曲線描述,一般曲線的描述通過控制點對曲線進行插值,但采用控制點插值的方法不利于整體坐標系的架構(gòu),遂簡化為使用[0 π]區(qū)間內(nèi)的正弦曲線進行擬合[9],具體方程為:
(2)
這樣在xoy坐標系所生成的的點陣以及利用Java3D中網(wǎng)格化以后即可得到的結(jié)果如圖1所示。
圖1 不同類型的水稻葉中脈曲線抽樣點陣表示和網(wǎng)格化后的效果圖
1.1.2 水稻葉片的三維形態(tài)建模
通過以上分析,將構(gòu)建整個水稻葉片的空間點劃分為左中右3個部分,即將葉片左葉邊緣點存入(Lxi,Lyi,Lzi)數(shù)組中,右葉邊緣點存入(Rxi,Ryi,Rzi)數(shù)組中,而對葉中脈進行N段等分,每一等分點的坐標存入(Mxi,Myi,Mzi)數(shù)組中。并且記每一劃分點所對應的葉半寬Hwi=(Rxi-Lxi)/2[10]。由于葉片的空間走向主要由葉中脈決定,所以先行確定葉中脈上點的具體坐標,由其推導出葉片左右邊緣點x、y軸所對應的坐標值,對應的z軸坐標值分別取-Hwi和Hwi,具體構(gòu)造方程式為:
(3)
圖2 水稻葉片網(wǎng)格化和填充色圖稻穗一次枝坐標系
圖3 水稻稻穗坐標系結(jié)構(gòu)圖
1.2 水稻稻穗的建模
1.2.1 穗主軸的建模
稻穗在空間彎曲特征主要由穗主軸的空間走向決定。穗軸幾何模型主要描述稻穗的空間彎曲姿態(tài)和一次枝的著生位置。本文主要用一次枝的彎曲姿態(tài)表征穗主軸的空間形態(tài)。
預先假設(shè)一稻穗上著生有若干個一次枝,而在每一個一次枝上附生有N個枝梗,即N個小穗,在此處采取一種簡化:只考慮一次枝和一次枝梗的情況,即一次枝梗上不再著生二次枝梗。一次枝的設(shè)計參數(shù)有枝長Zl和枝節(jié)數(shù)Zn兩個[11]。那么就對用于一次枝的曲線進行處理:對其進行N次等分,可得出N個一次枝的著生位置點(Zxi,Zyi,Zzi),其中i由0至N-1。此處得到的N個點即為小穗在一次枝坐標系中的局部坐標系原點,小穗便在此局部坐標系中建模[12]。稻穗坐標系結(jié)構(gòu)如圖3所示。
1.2.2 小穗的建模
小穗可分解為穗柄(枝梗)和谷粒兩個部分構(gòu)成。其中穗柄的建模較為簡單,采用一個半徑極小的圓柱進行擬合。其設(shè)計參數(shù)有穗柄半徑和穗柄長度兩個,一般考慮穗柄半徑取穗柄長度的1/5~1/10[13]。穗柄半徑用gr表示,穗柄長用gl表示,空間坐標點為:
(4)
其中:N為對擬合圓柱上下圓周等分數(shù)目,i=0,1,…,N-1。
圖4 水稻稻穗的形態(tài)模擬圖
圖5 彎曲型稻穗的建模效果 圖6 莖桿動態(tài)生長過程
圖7 動態(tài)實現(xiàn)過程的長葉階段和長穗階段
小穗著生在一次枝梗的軸節(jié)處,因此采用2個共底面圓錐體來描述小穗的谷粒,而圓錐體用三角形片擬合,其表面光滑程度完全由用于擬合的三角形片的數(shù)目決定,其設(shè)計參數(shù)有谷粒半徑、谷粒長度兩個,設(shè)計方法類似于穗柄的設(shè)計,只需簡化圓柱體一端為一點即可得到一個圓錐體模型,這樣由2個共底面圓錐體描述的谷粒模型已設(shè)計完成,如圖4所示。
1.2.3 稻穗的三維形態(tài)建模
在一次枝設(shè)計完成的基礎(chǔ)上,通過調(diào)整擬合曲線的系數(shù)(a,b)、枝長(Zl)和枝節(jié)數(shù)(Zn),調(diào)整系數(shù)即為枝干空間彎曲角度。通過不同角度的組合即可構(gòu)造出空間彎曲型的稻穗,建模后的稻穗三維模型如圖5所示。
1.3 水稻莖桿的建模
水稻莖桿是由節(jié)和節(jié)間構(gòu)成,其幾何形態(tài)相對簡單,忽略葉鞘的設(shè)計則可以用橫截面為圓的柱體進行模擬。模型參數(shù)有節(jié)柱體內(nèi)半徑,節(jié)柱體外半徑和節(jié)間長度,其中節(jié)柱體內(nèi)半徑控制莖桿的粗細,節(jié)柱體外半徑控制莖桿的彎曲程度,節(jié)間長度則控制莖桿的生長長度??梢灾苯永肑ava3D中的構(gòu)造函數(shù)TorusGeometry創(chuàng)建柱體,然后改變長度及完全程度,即可完成莖稈模型的設(shè)計實現(xiàn),效果如圖6所示。
1.4 水稻主莖模型的建模
在上述水稻葉片、稻穗和莖稈模型建立的基礎(chǔ)上,再根據(jù)水稻在生長過程中各器官的生長規(guī)律,將各器官參數(shù)設(shè)置,按其空間位置進行組合即可生成水稻主莖的形態(tài)模型。然后再對主莖模型進行旋轉(zhuǎn)平移等變換構(gòu)造其他分蘗的模型,將各分蘗組合在一起最終生成水稻植株模型如圖7所示。
2.1 水稻主莖器官類的設(shè)計和實現(xiàn)
2.1.1 水稻葉片類的設(shè)計
1)public void DrawLeaf(float length,float wide,int n)為繪制葉片的主方法。參數(shù)length、wide和n分別為所繪制葉片的葉長、葉寬和擬合細分度。
2)private float DrawSin(float length,float wide)為繪制葉片邊緣的方法。
3)private float DrawMidVen(float a,float b) 為繪制葉中脈曲線的方法。
2.1.2 水稻稻穗類的設(shè)計
1)public void DrawPaddy(float length,float radius,float szl)為繪制稻谷模型的方法。其中涉及參數(shù)length、radius為谷粒長度、谷粒半徑,szl為穗柄長度:主要用于確定構(gòu)造谷粒的空間坐標位置的一個恒增量。
2)pblic void DrawSz(float length,float radius)為繪制穗柄模型的方法。其中參數(shù)length、radius為所構(gòu)造穗柄的長度和半徑。
3)public void DrawS(float length,float n,float rot_x,float rot_y,float rot_z)為繪制一次枝模型的方法。其中參數(shù)length為具體設(shè)計的一次枝的長度,n為該一次枝上谷粒數(shù),同時用于確定谷粒所在局部坐標系空間位置,而rot_x、rot_y、rot_z用于確定小穗沿穗主軸著生空間角度。
2.1.3 水稻莖稈類的設(shè)計
public void DrawStem(float height,float radius)為繪制莖稈模型的方法。所用參數(shù)height、radius分別對應莖稈的高度和半徑。
2.2 主莖器官動態(tài)生長效果的實現(xiàn)
動畫研究的核心內(nèi)容之一就是研究幾何形體如何在空間和時間中運動。Java3D中給出了一系列的內(nèi)插器,可以方便地用于動畫制作,內(nèi)插器定義了幾何形體如何在空間做運動,而對幾何形體的時間控制主要使用Alpha對象[13]。在Java3D中Interpolator類的子類ScaleInterpolator可以使幾何形體按照Alpha對象定義的方式進行縮放,實現(xiàn)特定比例范圍的縮放。而Java3D中的Morph類可以將GeometryArray類型的幾何物體的頂點在多個頂點數(shù)組之間變形,可以用來實現(xiàn)部分主莖器官的動態(tài)連續(xù)變化。
本文主要通過設(shè)定好主莖器官各組成部分在某一生長期始末效果模型中的頂點數(shù)組,這些頂點數(shù)組已預先設(shè)計為GeometryArray類的子類類型,所以可以通過設(shè)定Morph類中weight數(shù)組在Alpha對象所設(shè)定的時間變化范圍內(nèi)的變化方式來實現(xiàn)構(gòu)造模型的狀態(tài)變化。水稻葉片和莖稈模型的動態(tài)生長主要使用該種方法。而對于水稻稻穗的動態(tài)生長,可以描述為稻穗組成部分:主軸、穗柄和谷粒的增大、增粗的一個狀態(tài)變化過程,而稻穗在三維空間所表現(xiàn)出的這種行為可以使用Java3D所提供的ScaleInterpolator類得到良好的實現(xiàn)。在Alpha對象的控制下,使用內(nèi)插器ScaleInterpolator控制稻穗所在局部坐標系在一個適當?shù)姆秶鷥?nèi)進行一個由小到大的放大行為,即可近似實現(xiàn)水稻稻穗的生長過程如圖 8所示。
圖8 主莖器官動態(tài)生長實現(xiàn)框圖
2.3 在Java3D中整體實現(xiàn)結(jié)構(gòu)樹
在Java3D中整體實現(xiàn)結(jié)構(gòu)如圖9和圖10所示。
圖9 整體場景結(jié)構(gòu)圖
圖10 具體植株組成以及動態(tài)實現(xiàn)結(jié)構(gòu)圖
本文對應用Java3D構(gòu)建水稻主莖器官模型及實現(xiàn)水稻植株動態(tài)生長進行了初步探索,實現(xiàn)了植株動態(tài)生長的近似模型,效果尚可。同時,也存在以下問題:(1)對水稻主莖器官各組成部分的模型建立都是采用GeometryArray類的子類型的構(gòu)造方法來實現(xiàn),而其實現(xiàn)方法本質(zhì)是控制頂點數(shù)組元素的連線,用三角形面片近似模擬,那么所采用面片數(shù)目越多,構(gòu)造的器官顯示模型越光滑,精度也越高[13]。但現(xiàn)實情況需要考慮計算機的運算處理速度、內(nèi)存容量等條件,所以在具體實現(xiàn)過程中應該尋求表示精度與程序性能的一種平衡。(2)對水稻植株分蘗的情況,實現(xiàn)方法主要參照文獻[4],通過單株旋轉(zhuǎn)平移得到的,所以植株效果圖實際上是單株的復制,沒有能夠良好體現(xiàn)眾分蘗之間只有相似性的特點。(3)在實現(xiàn)動態(tài)過程的表達上,采取的是預先設(shè)計好器官模型的始末狀態(tài),通過運算插值得以實現(xiàn),沒有能夠良好實現(xiàn)器官生長的動態(tài)交互,但通過在具體器官設(shè)計時良好接口的設(shè)計,彌補了部分不足。
關(guān)于水稻的動態(tài)生長模擬及Java3D在虛擬植物表達上,基本實現(xiàn)了它們的初步結(jié)合與表達,但是還有很多方面需要進一步得到完善。
[1] Conti P.The Internet of Things[J].Communications Engineer,2006,4(6):20-25.
[2] Reffye P,Houllier F.Modelling plant growth and architecture:some recent advances and applications to agronomy and foresty[J].Current Science,1997,73(11):984-992.
[3] 石春林,金之慶,葛道闊.植物可視化研究進展[J].江蘇農(nóng)業(yè)科學,2004,31(6):11-14.
[4] 劉桃菊,唐建軍,戚昌瀚.基于分形-系統(tǒng)的植株形態(tài)模擬[J].江西農(nóng)業(yè)大學學報,2001,23(1):189-191.
[5] Watanabe Room P M, Hanan J S.Virtual rice:simulating the development of plant architecture[J].International Rice Research Notes,2001,26(2):60-62.
[6] 劉桃菊,唐建軍,戚昌瀚.水稻形態(tài)的分形特征及可視化模擬研究[J].江西農(nóng)業(yè)大學報,2002,24(5):583-586.
[7] 常麗英.水稻植株形態(tài)建成的模擬模型研究[D].南京:南京農(nóng)業(yè)大學,2007:16-20.
[8] 伍艷蓮.作物形態(tài)結(jié)構(gòu)的可視化技術(shù)研究[D].南京:南京農(nóng)業(yè)大學,2009:8-14.
[9] 鄭文剛,郭新宇,趙春江,等.玉米葉片幾何造型研究[J].農(nóng)業(yè)工程學報,2004,20(1):152-154.
[10] 江順亮.用進行三維實體上計算結(jié)果的展示[J].計算機應用,2001,21(8):171-174.
[11] Wit C T.Photosynthesis of leaf canopies[C]//Agricultural Research Report 663,PUDOC,Wageningen:The Netherlands,1965:1-57.
[12] 楊紅云,羅威,何火姣,等.水稻主莖三維形態(tài)建模與計算機模擬[J].江西農(nóng)業(yè)大學學報,2008,30(6):1154-1156.
[13] Duncan W G,Loomis R S,Williams W A,et al.A model for simulating photosynthesis in plant communities[J].modeling canopy photosynthesis,1967,38(4):181-205.
Visualization Simulation Based on Java3D for Rice Morphological
ZHANG Dandan, CHEN Yiqiong, WANG Yuekang, ZHANG Youhua, XU Meng, WU Yunzhi
(Anhui Agricultural University, Hefei 230036, China)
In order to explore Java3D conduct virtual plant feasibility, taking rice as the study object, this thesis presents a visual mathematical model of main stem organ of rice. With Java 3D programming of morphological characteristics of organs, a 3D space model is established. Meanwhile, considering the specific natural shapes, the model is simplified. First, quadratic equations are used to simulate the main vein image of leaves and sine curves are used to leaves, cone angles are used to grains, then, circular cross-sections are used to grape plant. Thus, a 3D visualization of stem-leaf-grain is presented.The results show that these figures lay a foundation of a further development of visual growth system of wheat plant.
rice; stem Organ; visualization; Java3D
2016-12-07
張丹丹(1992-),女,重慶萬州人,在讀碩士研究生,主要從事農(nóng)業(yè)信息化方面的研究.
2015年安徽省科技重大專項項目(15czz03117).
10.3969/i.issn.1674-5403.2017.02.018
TP391.9
A
1674-5403(2017)02-0065-05