淮永建,楊丹琦,蔡?hào)|娜
基于三維點(diǎn)云數(shù)據(jù)的花瓣形態(tài)及生長(zhǎng)過(guò)程模擬
淮永建,楊丹琦,蔡?hào)|娜
(北京林業(yè)大學(xué)信息學(xué)院,北京 100083)
目前對(duì)于虛擬植物的研究多是通過(guò)圖形建模來(lái)模擬植物的生長(zhǎng)變化,計(jì)算復(fù)雜且操作不靈活。隨著三維掃描和點(diǎn)云重建技術(shù)的發(fā)展,為復(fù)雜植物形態(tài)可視化提供了新的手段。論文基于三維掃描的植物點(diǎn)云數(shù)據(jù)模型,研究了植物花瓣的形變和生長(zhǎng)過(guò)程模擬。利用三維掃描儀獲取植物花瓣的生長(zhǎng)序列,采用MATLAB根據(jù)實(shí)測(cè)點(diǎn)云數(shù)據(jù)擬合植物生長(zhǎng)函數(shù)曲線(xiàn),最后將傳統(tǒng)花卉生長(zhǎng)模擬與點(diǎn)云模型的自由變形相融合,提出了依據(jù)實(shí)測(cè)點(diǎn)云數(shù)據(jù)通過(guò)點(diǎn)云模型變形算法模擬花卉植物動(dòng)態(tài)生長(zhǎng)的方法。該方法不僅能夠保留花卉植物復(fù)雜的形態(tài)特征,而且使形變控制簡(jiǎn)單,模擬的花瓣形態(tài)及生長(zhǎng)真實(shí)自然。此外,該方法還與基于物理的模擬方法進(jìn)行比較,并利用擬合回歸分析、實(shí)測(cè)花瓣數(shù)據(jù)與重建數(shù)據(jù)間誤差對(duì)該方法的準(zhǔn)確性進(jìn)行了分析。結(jié)果顯示花瓣生長(zhǎng)期內(nèi)決定系數(shù)達(dá)0.75以上及平均誤差控制在2 mm以?xún)?nèi),研究結(jié)果為花卉植物的生長(zhǎng)形變模擬提供了參考。
三維;變形;模型;虛擬植物;點(diǎn)云;數(shù)據(jù)擬合;植物形變模擬
數(shù)字植物模擬是目前精準(zhǔn)農(nóng)林業(yè)信息化技術(shù)的研究熱點(diǎn)。虛擬植物[1]具體是指應(yīng)用計(jì)算機(jī)圖形學(xué)模擬植物在三維空間中的生長(zhǎng)、發(fā)育等過(guò)程,研究成果已被廣泛應(yīng)用于多個(gè)領(lǐng)域,在農(nóng)林業(yè)、計(jì)算機(jī)動(dòng)畫(huà)、景觀設(shè)計(jì)及計(jì)算機(jī)教學(xué)等領(lǐng)域都有著廣泛的應(yīng)用前景,特別是在生長(zhǎng)過(guò)程研究和自然景觀再現(xiàn)方面具有十分重大的意義。形態(tài)各異的植物器官代表了不同植物特有的屬性,對(duì)植物的三維可視化建模具有重要的研究?jī)r(jià)值,其中花卉植物花苞開(kāi)放過(guò)程模擬是植物生長(zhǎng)過(guò)程模擬的難點(diǎn)。研究人員對(duì)虛擬花卉植物的研究多為基于曲面建模的形態(tài)結(jié)構(gòu)模擬和基于L系統(tǒng)的生理結(jié)構(gòu)模擬[2],如秦培煜等[3]利用樣條曲線(xiàn)曲面在控制點(diǎn)計(jì)算正確的前提下,雖然可以有效的繪制出植物的花瓣,并進(jìn)一步組合靜態(tài)植物花朵造型,但該方法卻不適合控制伴隨植物花朵開(kāi)放過(guò)程中花瓣發(fā)生的連續(xù)彎曲形變。通過(guò)觀察發(fā)現(xiàn),植物形態(tài)在生長(zhǎng)期間存在顯著變化,由于這種過(guò)程固有的幾何復(fù)雜性,在計(jì)算機(jī)圖形學(xué)領(lǐng)域只有少數(shù)可以跟蹤和模擬這種形態(tài)變化。其中,由局部的不均勻變化量所造成的卷曲形狀葉子,前人曾推導(dǎo)出一個(gè)線(xiàn)性微分方程應(yīng)變場(chǎng)來(lái)模擬葉片的收縮彎曲等現(xiàn)象[4],但這些模擬方法非常復(fù)雜,無(wú)法精確驗(yàn)證。
正是由于植物器官形態(tài)相對(duì)迥異,且伴隨著開(kāi)放過(guò)程中花瓣等結(jié)構(gòu)發(fā)生的卷曲形變情況,在原始手動(dòng)建模的基礎(chǔ)上很難實(shí)現(xiàn)較為逼真的模擬效果,因此,很多研究都選擇避免這種復(fù)雜的生物模型,而是以直接跟蹤掃描出的點(diǎn)云序列為基礎(chǔ),模擬現(xiàn)實(shí)的植物生長(zhǎng)過(guò)程。
隨著三維掃描技術(shù)的發(fā)展,在工業(yè)、軍事、醫(yī)學(xué)等行業(yè)應(yīng)用的驅(qū)動(dòng)下,人們?cè)絹?lái)越認(rèn)識(shí)到三維掃描數(shù)據(jù)在幾何重建方面的優(yōu)越性,基于點(diǎn)云數(shù)據(jù)的曲面重構(gòu)研究也成為目前計(jì)算機(jī)圖形圖像領(lǐng)域的研究熱點(diǎn)。三維點(diǎn)云數(shù)據(jù)不僅能夠精確記錄物體表面的采樣信息,而且能夠全方位的記錄場(chǎng)景信息,使場(chǎng)景的真實(shí)感更強(qiáng)。利用當(dāng)前的三維掃描技術(shù),本文通過(guò)收集花卉植物的形態(tài)數(shù)據(jù)以及不同時(shí)期的生長(zhǎng)數(shù)據(jù),為花卉植物生長(zhǎng)模擬提供重要的數(shù)據(jù)依據(jù)與技術(shù)支持,并利用變形、曲面重建等技術(shù)較完整的再現(xiàn)花卉模型動(dòng)態(tài)模擬生長(zhǎng)的過(guò)程。點(diǎn)云模型[5]模擬花卉動(dòng)態(tài)生長(zhǎng)過(guò)程主要依據(jù)變形實(shí)現(xiàn),其變形[6]的實(shí)質(zhì)是點(diǎn)云模型在用戶(hù)的控制下頂點(diǎn)發(fā)生改變,并在此基礎(chǔ)上重構(gòu)表面完成形狀及位置變化。
針對(duì)提出的問(wèn)題,此次研究主要目標(biāo)如下:1)基于自由變形算法模擬花卉植物中花瓣結(jié)構(gòu)的生長(zhǎng)變化;2)使花瓣模型模擬生長(zhǎng)變化更加真實(shí),試驗(yàn)對(duì)大量點(diǎn)云數(shù)據(jù)做數(shù)據(jù)擬合,總結(jié)生長(zhǎng)函數(shù)模型,使花瓣點(diǎn)云模型在實(shí)測(cè)數(shù)據(jù)的約束下完成變形效果[7]。
通過(guò)三維掃描得到花瓣模型數(shù)據(jù),利用結(jié)合真實(shí)生長(zhǎng)規(guī)律的自由變形技術(shù),模擬隨時(shí)間變化的花瓣造型序列,然后順序演變模擬花瓣的動(dòng)態(tài)生長(zhǎng)過(guò)程。該方法直接作用于三維點(diǎn)云模型所嵌入的空間[8],牽動(dòng)內(nèi)部模型發(fā)生形變,為虛擬植物生長(zhǎng)模擬研究提供又一可行方案。
研究對(duì)象為三維儀器掃描[9]得到的花卉植物點(diǎn)云模型,與前人利用圖形學(xué)技術(shù)建模的方法不同(無(wú)法直接控制模型自身形變)。為了實(shí)現(xiàn)模擬花卉模型的盛開(kāi)效果,關(guān)鍵方法是將自由變形算法融合到模擬花卉植物生長(zhǎng)的過(guò)程中。以往對(duì)于植物生長(zhǎng)的模擬,如文獻(xiàn)[3]是將變化過(guò)程簡(jiǎn)化為簡(jiǎn)單的幾何形變,只追求形似,結(jié)果較為僵硬;如文獻(xiàn)[7]則利用儀器追蹤整個(gè)變化過(guò)程,致力于模擬逼真的變化過(guò)程,耗費(fèi)大量計(jì)算時(shí)間,過(guò)程也相對(duì)復(fù)雜。本文為了使模擬過(guò)程與實(shí)測(cè)數(shù)據(jù)緊密聯(lián)系且避免長(zhǎng)時(shí)間追蹤花卉變化過(guò)程,選擇間斷性的掃描花卉變化模型。從點(diǎn)云模型中提取樣本數(shù)據(jù),擬合符合真實(shí)花卉生長(zhǎng)的變形規(guī)律,將傳統(tǒng)模擬與實(shí)測(cè)數(shù)據(jù)相結(jié)合,本文主要方法如圖1所示。
圖1 花卉生長(zhǎng)變形模擬算法流程圖
自由變形算法首先由Sederberg和Parry[10]提出。傳統(tǒng)自由變形算法表示,若物體所嵌入的變形空間被改變,則其中的物體也隨之改變。因此,將變形物體嵌入一個(gè)框架中,當(dāng)周?chē)刂泣c(diǎn)位置改變時(shí),該框架會(huì)帶動(dòng)內(nèi)部模型伸縮扭曲[11]。
貝塞爾曲線(xiàn)[12]所包含的性質(zhì)與自由變形思想最為契合。其中傳統(tǒng)花卉植物模擬多是利用曲線(xiàn)曲面構(gòu)建模型形態(tài)結(jié)構(gòu),如B樣條曲線(xiàn)曲面和得到進(jìn)一步推廣的非均勻有理B樣條曲線(xiàn)曲面(NURBS曲線(xiàn)曲面)[13]。通過(guò)設(shè)定控制點(diǎn)個(gè)數(shù)、節(jié)點(diǎn)數(shù)和階數(shù)構(gòu)造曲線(xiàn)曲面模型,進(jìn)而對(duì)模型實(shí)現(xiàn)更精確的控制,而且通過(guò)改變少量的控制點(diǎn)位置就可以完成模型不同造型的設(shè)計(jì),進(jìn)一步構(gòu)建出不同花朵造型。傳統(tǒng)通過(guò)控制點(diǎn)構(gòu)造曲線(xiàn)曲面的花瓣模型[14],如圖2所示。
圖2 傳統(tǒng)花卉結(jié)構(gòu)模型
在傳統(tǒng)曲線(xiàn)曲面建模過(guò)程中當(dāng)控制點(diǎn)增加時(shí),曲線(xiàn)變得不可控,其動(dòng)態(tài)變化的連續(xù)性也會(huì)變差,且植物細(xì)節(jié)特征無(wú)法準(zhǔn)確體現(xiàn)出來(lái),模型真實(shí)感較弱。因此,傳統(tǒng)方法并不適合花瓣在開(kāi)花過(guò)程中的連續(xù)彎曲形變模擬。
貝塞爾曲線(xiàn)中“關(guān)鍵點(diǎn)可以控制曲線(xiàn)彎曲”的性質(zhì)可以準(zhǔn)確運(yùn)用到自由變形思想中,只需將待變形物體看作是構(gòu)造曲面時(shí)的一個(gè)體,三維貝塞爾曲線(xiàn)同樣可以通過(guò)控制外部關(guān)鍵點(diǎn),改變內(nèi)部物體的形狀[15]。
在模型變形過(guò)程中為了方便控制點(diǎn)坐標(biāo)間轉(zhuǎn)換,使控制點(diǎn)的世界坐標(biāo)無(wú)論怎樣變化都存在固定不變的局部坐標(biāo)(,,)參與運(yùn)算,需要構(gòu)造一個(gè)局部坐標(biāo)系[17],如圖3所示。
圖3 局部坐標(biāo)系
模型添加的OBB外部包圍盒上控制點(diǎn)(即劃分網(wǎng)格頂點(diǎn))坐標(biāo)為局部坐標(biāo),本文為實(shí)現(xiàn)前文講述的坐標(biāo)變換過(guò)程,需將局部坐標(biāo)轉(zhuǎn)換為世界坐標(biāo)進(jìn)行運(yùn)算,為了實(shí)現(xiàn)該過(guò)程本文設(shè)計(jì)如下算法。
算法1 空間點(diǎn)坐標(biāo)轉(zhuǎn)換算法
輸入:有mesh結(jié)構(gòu)(頂點(diǎn)坐標(biāo)數(shù)組Vector3[] vertices,以及通過(guò)頂點(diǎn)為網(wǎng)格創(chuàng)建三角形面片int[] triangles)的模型對(duì)象。
輸出:為模型添加OBB包圍盒并計(jì)算網(wǎng)格頂點(diǎn)世界坐標(biāo);
1)初始化模型網(wǎng)格結(jié)構(gòu)mesh。
2)利用mesh結(jié)構(gòu)中邊界的最大值與最小值的差值計(jì)算模型包圍盒邊界最遠(yuǎn)距離max, 并得出對(duì)應(yīng)的橫、縱、豎坐標(biāo)軸及原點(diǎn)信息0。
3)將模型分橫、縱、豎坐標(biāo)劃分網(wǎng)格m_customDivide[0]、[1]、[2]。
4)計(jì)算網(wǎng)格頂點(diǎn)局部坐標(biāo)(:分別為橫,縱,豎坐標(biāo)軸方向上網(wǎng)格頂點(diǎn)循環(huán)計(jì)數(shù))。
5)利用矩陣運(yùn)算將局部坐標(biāo)轉(zhuǎn)換為世界坐標(biāo)。
當(dāng)控制點(diǎn)坐標(biāo)發(fā)生變化后,將函數(shù)從二維平面拓展至三維空間,新的模型頂點(diǎn)坐標(biāo)需要未改變時(shí)模型頂點(diǎn)的局部坐標(biāo)、改變后控制點(diǎn)的世界坐標(biāo)以及Bernstein多項(xiàng)式的值[19]共同參與運(yùn)算得出,計(jì)算新模型頂點(diǎn)坐標(biāo)(,,),如式(5)所示
式中,,分別為STU坐標(biāo)軸方向上劃分的網(wǎng)格數(shù),p,j,k為控制點(diǎn)更新后的世界坐標(biāo)(為循環(huán)計(jì)數(shù)),為Bernstein多項(xiàng)式系數(shù),公式右側(cè)括號(hào)中,,分別表示改變前模型頂點(diǎn)局部坐標(biāo)。
傳統(tǒng)模擬植物花卉生長(zhǎng)或植物物質(zhì)積累量化過(guò)程通常會(huì)利用Logistic回歸模型[20],本文在傳統(tǒng)生長(zhǎng)函數(shù)的基礎(chǔ)上結(jié)合前期掃描得到的點(diǎn)云數(shù)據(jù)模型[21],提出了一種擬合實(shí)際樣本數(shù)據(jù)的植物生長(zhǎng)模擬方法。從花卉采集的生長(zhǎng)序列數(shù)據(jù)中得出花瓣生長(zhǎng)變化規(guī)律,在模擬花卉盛開(kāi)時(shí)將生長(zhǎng)函數(shù)引入控制點(diǎn)變化過(guò)程,從而實(shí)現(xiàn)生長(zhǎng)模擬。
根據(jù)試驗(yàn)條件,前期在花卉生長(zhǎng)的不同時(shí)期掃描花瓣模型,通過(guò)相同掃描方式、相同位置擺放,掃描得到6個(gè)不同生長(zhǎng)時(shí)期花卉整株模型,在花卉模型中提取花瓣,選取掃描結(jié)果相對(duì)完整的花瓣作為數(shù)據(jù)采集樣本?;ò挈c(diǎn)云數(shù)據(jù)處理方法主要流程如圖4所示。
圖4 數(shù)據(jù)處理方法
步驟1:從整朵花模型中拆分出獨(dú)立花瓣,如圖5所示,該過(guò)程使用到Meshmixer中切割模型轉(zhuǎn)換為零件的功能[22],將掃描模型中每一時(shí)期的每一瓣花瓣拆解出來(lái)并按照原本的拓?fù)浣Y(jié)構(gòu)輸出得到樣本模型。圖5a為使用工具拆分模型后的輸出結(jié)果,不同顏色表示拆分后不同部分并且拓?fù)浣Y(jié)構(gòu)保留,圖5b~5d則展示了同一片花瓣點(diǎn)云模型不同時(shí)期的變化。
步驟2:由于花瓣模型點(diǎn)云數(shù)據(jù)量較大,即使同一片花瓣不同部分的變化規(guī)律也各有不同,為了使擬合的生長(zhǎng)函數(shù)更具有普遍性,采取的方法是將同一片花瓣分割成生長(zhǎng)特點(diǎn)各不相同的若干部分分別采樣,利用MeshLab切割模型功能,將每部分點(diǎn)云數(shù)據(jù)(即點(diǎn)的坐標(biāo)信息)輸出作為樣本數(shù)據(jù),如圖6所示;由于每種花卉植物的花瓣、葉片結(jié)構(gòu)都各有不同,因此可以針對(duì)具體形狀做不同的分割方式。
圖5 花瓣拆分示意圖
注:左側(cè)花瓣(1-5),右側(cè)花瓣(1-3)分別表示花瓣不同分割部位。
步驟3:利用MATLAB中cftool工具[23]對(duì)采樣數(shù)據(jù)擬合,采用給定函數(shù)形式的擬合方式構(gòu)造生長(zhǎng)函數(shù)模型。MATLAB數(shù)據(jù)擬合的基本原理是最小二乘法原理[24],該方法對(duì)于非線(xiàn)性數(shù)據(jù)可以通過(guò)簡(jiǎn)單的變量變換使之線(xiàn)性化,這樣便可求出參數(shù)變換后的函數(shù)方程[25]。
花瓣空間位置隨時(shí)間的變化規(guī)律需要不同時(shí)期花瓣的形態(tài)及位置信息。在本次試驗(yàn)中由于三維掃描儀只能掃描植物外圍信息,其中遮擋會(huì)使內(nèi)部信息產(chǎn)生缺失,因此為了簡(jiǎn)化試驗(yàn),選取了同一朵花卉模型中每一時(shí)期掃描結(jié)果都相對(duì)完整的同一片花瓣為研究基礎(chǔ),選取少量樣本數(shù)據(jù)驗(yàn)證方法的有效性。
樣本數(shù)據(jù)處理中每一時(shí)期的花瓣模型均被分割為生長(zhǎng)特征各不相同的若干部分,其中每部分信息均包含橫、縱、豎坐標(biāo)的空間點(diǎn)云數(shù)據(jù)。此外,為了方便函數(shù)擬合,需要將每一時(shí)期花瓣的點(diǎn)信息整合為一個(gè)單獨(dú)的隨時(shí)間變化的變量,因此,在之后的數(shù)據(jù)處理過(guò)程中將得到的坐標(biāo)點(diǎn)分橫、縱、豎坐標(biāo)求取均值解決[26]。
數(shù)據(jù)擬合[27]采用MATLAB中給定函數(shù)形式的擬合方法。擬合過(guò)程中,生長(zhǎng)函數(shù)擬合選取常用的Logistic回歸模型[28],將處理得到的數(shù)據(jù)與該函數(shù)模型相結(jié)合擬合出符合真實(shí)采樣數(shù)據(jù)的生長(zhǎng)變化函數(shù),為變形算法提供數(shù)學(xué)依據(jù),函數(shù)模型如式(6)所示:
式中表示終止?fàn)顟B(tài)參數(shù),p表示初始狀態(tài)參數(shù),r表示函數(shù)隨自變量的變化速度,自變量x為時(shí)間(d),函數(shù)f(x)表示花瓣生長(zhǎng)隨時(shí)間的變化規(guī)律。以試驗(yàn)中月季及君子蘭6個(gè)時(shí)期樣本點(diǎn)數(shù)據(jù)擬合為例,生長(zhǎng)曲線(xiàn)如圖7所示。
根據(jù)不同時(shí)期數(shù)據(jù)擬合的生長(zhǎng)函數(shù)模型結(jié)果可以得出,真實(shí)樣本數(shù)據(jù)與傳統(tǒng)Logistic回歸模型的擬合度較高,基本上呈前期生長(zhǎng)速度較快,速度逐漸減緩的生長(zhǎng)規(guī)律。
傳統(tǒng)模擬花卉植物生長(zhǎng)常通過(guò)構(gòu)造曲線(xiàn)曲面模擬花瓣、花蕊等形態(tài)結(jié)構(gòu)特征;另外采用L系統(tǒng)文法表達(dá)花卉植物,將理想環(huán)境下的動(dòng)態(tài)生長(zhǎng)函數(shù)引入到花瓣形變過(guò)程中,通過(guò)控制花瓣旋轉(zhuǎn)角度,卷曲程度等因素構(gòu)造不同時(shí)期花瓣形態(tài),形成基于L系統(tǒng)的花朵動(dòng)態(tài)開(kāi)放過(guò)程[29]。本文為了實(shí)現(xiàn)模擬花瓣動(dòng)態(tài)生長(zhǎng)過(guò)程采用了便于控制的三維點(diǎn)云模型變形算法,跟傳統(tǒng)方法相比,本方法對(duì)模型的形變操作更加便利,且具有更自然的變形效果。如何將傳統(tǒng)自由變形算法與模擬花瓣生長(zhǎng)變化相結(jié)合是本文的關(guān)鍵所在。而傳統(tǒng)FFD自由變形算法通常運(yùn)用在相關(guān)三維模型的形變上,如剛體打擊變形、賽車(chē)車(chē)體變形[30]等,將FFD運(yùn)用于植物生長(zhǎng)模擬還沒(méi)有過(guò)多研究。本文主要研究了結(jié)合生長(zhǎng)函數(shù)模型的自由變形算法模擬花瓣生長(zhǎng)形變的問(wèn)題。
由變形原理可知,為使花瓣模型按照真實(shí)生長(zhǎng)規(guī)律發(fā)生形變,將生長(zhǎng)函數(shù)模型(6)引入式(5)中控制點(diǎn)p的運(yùn)動(dòng)過(guò)程,為控制點(diǎn)的變化加以約束,使其在既定軌跡上進(jìn)行變形。該方法既保持了花瓣結(jié)構(gòu)的原始特征,又與實(shí)測(cè)生長(zhǎng)數(shù)據(jù)相結(jié)合。通過(guò)添加包圍盒上控制點(diǎn)的軌跡約束,牽動(dòng)內(nèi)部模型按照外部包圍盒的變化而發(fā)生形變,實(shí)現(xiàn)花瓣模型變形模擬生長(zhǎng)的過(guò)程。具體算法設(shè)計(jì)如下:
算法2 模擬花瓣結(jié)構(gòu)生長(zhǎng)變形算法實(shí)現(xiàn)
輸入:待形變模型,包括模型相關(guān)點(diǎn)、線(xiàn)。
輸出:更新頂點(diǎn)坐標(biāo)后模型。
1)按橫、縱、豎坐標(biāo)劃分模型網(wǎng)格數(shù)。
2)獲取花瓣模型起始坐標(biāo)點(diǎn)(:網(wǎng)格頂點(diǎn)循環(huán)計(jì)數(shù))。
3)獲取花瓣模型終止坐標(biāo)點(diǎn)。
4)變化過(guò)程中結(jié)合生長(zhǎng)函數(shù)更新控制點(diǎn),,為擬合函數(shù)參數(shù),為形變速度,為時(shí)間(d)。
5)計(jì)算伯恩斯坦系數(shù),如式(3)所示。
6)計(jì)算更新后模型頂點(diǎn)坐標(biāo)(為模型頂點(diǎn)循環(huán)計(jì)數(shù);為控制點(diǎn)局部坐標(biāo);,,分別為橫、縱、豎坐標(biāo)劃分總數(shù);,,分別為橫、縱,豎坐標(biāo)方向上循環(huán)計(jì)數(shù))。
7)根據(jù)更新后模型頂點(diǎn)坐標(biāo)重建模型表面三角面片,實(shí)現(xiàn)變形。
本文基于點(diǎn)云模型自由變形方式實(shí)現(xiàn)了花瓣從初始狀態(tài)變化為盛開(kāi)狀態(tài)的動(dòng)態(tài)生長(zhǎng)過(guò)程。在試驗(yàn)中,為了使生長(zhǎng)變形效果可以清晰地展示出來(lái),將起始形態(tài)花瓣與終止形態(tài)花瓣添加了根底部位置約束,即事前將花瓣底部位置對(duì)齊,使花瓣的變形效果得以比較,如圖8所示。變形過(guò)程中,花瓣的具體形變效果如圖9所示,與現(xiàn)實(shí)中月季等重瓣花和君子蘭蘭科的變形效果類(lèi)似,前期花瓣卷曲程度較大,隨時(shí)間變化花瓣逐漸舒展,卷曲程度減弱,并向外擴(kuò)展,角度與位置也發(fā)生相應(yīng)變化,生長(zhǎng)主要呈擴(kuò)大、向外舒展的趨勢(shì)。運(yùn)用本文提出的基于點(diǎn)云模型變形的方法較好實(shí)現(xiàn)了花瓣生長(zhǎng)模擬效果,模擬了花瓣在生長(zhǎng)過(guò)程中的空間位置以及形態(tài)結(jié)構(gòu)變化規(guī)律。
注:上層為月季,下層為君子蘭,左側(cè)為變化花瓣,右側(cè)為終止時(shí)期對(duì)比花瓣。
注:上層為月季,下層為君子蘭。
表1 控制點(diǎn)個(gè)數(shù)與算法效率關(guān)系
實(shí)現(xiàn)花朵整體生長(zhǎng)模擬采用的方法是將每片花瓣根據(jù)本文的變形算法從初始狀態(tài)(即花蕾時(shí)期)生長(zhǎng)變形為終止?fàn)顟B(tài)(即完全盛開(kāi)時(shí)期),具體形變過(guò)程如圖10,圖11所示。此次研究并不涉及花瓣結(jié)構(gòu)的枯萎過(guò)程和花蕊生長(zhǎng)模擬,此外,為了顯示完整花瓣造型,在試驗(yàn)過(guò)程中對(duì)模型進(jìn)行了簡(jiǎn)單渲染。
為了驗(yàn)證數(shù)據(jù)擬合以及模擬生長(zhǎng)變形方法的實(shí)用性和魯棒性,試驗(yàn)中掃描并處理了多種花卉植物進(jìn)行模擬,并將重點(diǎn)放在不同大小、形狀和復(fù)雜度的花朵上。如表2所示,為試驗(yàn)過(guò)程中各種花卉的生長(zhǎng)函數(shù)擬合參數(shù)值(,,)以及衡量擬合優(yōu)度的指標(biāo)2(決定系數(shù))。根據(jù)回歸分析的性質(zhì)可得,2值基本保持在0.75以上說(shuō)明數(shù)據(jù)能夠較好擬合函數(shù)模型,得出的參數(shù)值能較好的表示數(shù)據(jù)的變化規(guī)律,結(jié)果表明本文的數(shù)據(jù)采集和數(shù)據(jù)擬合方法符合實(shí)際與理論基礎(chǔ)。
圖10a中將本文方法與基于物理的開(kāi)花模擬方法[31]進(jìn)行了比較。同樣針對(duì)重瓣花植物(本文利用月季而對(duì)比文獻(xiàn)為梅花)做開(kāi)花模擬對(duì)比。雖然純物理建模結(jié)果具有簡(jiǎn)單和對(duì)稱(chēng)性的特點(diǎn),但是依據(jù)點(diǎn)云模型變形的方法利用了花卉植物生長(zhǎng)的真實(shí)數(shù)據(jù),使生成的花開(kāi)動(dòng)畫(huà)更加逼真且更具有通用性。如圖10b所示,較好重建了花卉盛開(kāi)后形態(tài)。
5 days7 days11 days15 days模擬圖像Simulation image 5 days7 days11 days15 days真實(shí)圖像Real image a. 模擬月季盛開(kāi)序列圖(上層)以及與文獻(xiàn)[31]結(jié)果(下層)對(duì)比a. Simulated Chinese rose blooming sequence map (upper layer) and comparison with literature [31] (lower layer)b. 真實(shí)圖像與模擬圖像對(duì)比b. Comparison of real image and simulated image
表2 不同類(lèi)型花瓣的擬合參數(shù)及擬合優(yōu)度分析
Table 2 Fitting parameters for different types of flower and goodness of fit analysis
利用本文提出方法,只需提供花卉植物初始點(diǎn)云模型和終止點(diǎn)云數(shù)據(jù),添加變形函數(shù)后便可將花卉盛開(kāi)過(guò)程的中間序列逐一重現(xiàn)出來(lái)。如圖11所示,截取各類(lèi)花卉盛開(kāi)過(guò)程中4個(gè)時(shí)期展示模擬效果。從變形重建結(jié)果與掃描真實(shí)點(diǎn)云模型重建結(jié)果對(duì)比可以看出,該方法能較真實(shí)模擬植物生長(zhǎng)的不同階段,針對(duì)月季等花瓣相互重疊(如圖10a)、向日葵花瓣繁多且互相交錯(cuò)排列(如圖11h)、以及百合花瓣較大彎曲明顯(如圖11i)等特征的花卉植物也有較好模擬效果。該方法保留了植物真實(shí)細(xì)節(jié)特征,如圖10中花瓣的實(shí)際卷曲效果和真實(shí)拓?fù)浣Y(jié)構(gòu),而以往通過(guò)圖形學(xué)方法無(wú)法真實(shí)重現(xiàn)。但是,由于三維掃描儀器只能獲取植物外層可見(jiàn)信息,植物內(nèi)部重新生長(zhǎng)或沒(méi)有完整掃描的結(jié)構(gòu)無(wú)法得到有效模擬。
圖11 不同花卉種類(lèi)模擬花瓣開(kāi)花序列及點(diǎn)云數(shù)據(jù)重建模型對(duì)比
為了定量有效評(píng)價(jià)運(yùn)用本文方法后的模擬精度,我們計(jì)算了重建表面與原始測(cè)量數(shù)據(jù)之間的誤差,并對(duì)比了動(dòng)態(tài)開(kāi)花過(guò)程重建表面與階段掃描結(jié)果之間差異的變化情況。誤差度量定義為三維空間中沿,,方向上每片花瓣的真實(shí)測(cè)量值與變形重建后測(cè)量值之間差值的平均值。如圖12所示,所有花卉的重建誤差基本都在2 mm以?xún)?nèi),與花瓣的典型尺寸相比(50~150 mm),誤差相對(duì)較小;百合等花瓣形狀較長(zhǎng)的花卉重建精度相對(duì)較低,是因?yàn)樗某叽巛^大且生長(zhǎng)后期卷曲程度加大的原因。由此,本文運(yùn)用真實(shí)點(diǎn)云數(shù)據(jù)擬合的生長(zhǎng)規(guī)律以及模擬生長(zhǎng)形變的方法,很好地再現(xiàn)了植物的生長(zhǎng)過(guò)程,最終重建的植物模型與真實(shí)生長(zhǎng)植物具有較高的相似度。
圖12 不同花卉種類(lèi)模擬開(kāi)花過(guò)程中重建誤差
本文模擬花卉生長(zhǎng)形變的方法,不僅適用于試驗(yàn)中花卉點(diǎn)云模型,而且還為不同花瓣提供生長(zhǎng)信息,使某一種花卉的開(kāi)花運(yùn)動(dòng)特征可以被提取并轉(zhuǎn)移到另一種花卉植物上。如圖13a所示,為堇蘭結(jié)合百合生長(zhǎng)規(guī)律后生長(zhǎng)變形效果。還可將郁金香單層生長(zhǎng)規(guī)律疊加至雙層,即內(nèi)層與外層采用同種形變規(guī)律,形成整株花卉的開(kāi)花模擬效果,如圖13b所示。
圖13 花卉生長(zhǎng)規(guī)律的應(yīng)用
本文主要研究了基于三維掃描點(diǎn)云數(shù)據(jù)擬合生長(zhǎng)函數(shù)規(guī)律有效模擬花瓣結(jié)構(gòu)生長(zhǎng)形變的問(wèn)題。該方法克服了傳統(tǒng)模擬植物生長(zhǎng)過(guò)程中前期需要進(jìn)行復(fù)雜三維建模的過(guò)程。利用三維掃描技術(shù)使植物形態(tài)結(jié)構(gòu)更加逼真,且與實(shí)測(cè)數(shù)據(jù)相結(jié)合使花卉生長(zhǎng)過(guò)程更加真實(shí)。利用自由變形算法,通過(guò)調(diào)節(jié)模型包圍盒上控制點(diǎn)使花卉模型形變自然;利用不同生長(zhǎng)期點(diǎn)云模型的生長(zhǎng)函數(shù)擬合,對(duì)控制點(diǎn)空間位置進(jìn)行約束形變,從而真實(shí)模擬植物的生長(zhǎng)序列,達(dá)到模擬與仿真相統(tǒng)一的目的。函數(shù)擬合結(jié)果經(jīng)回歸分析后決定系數(shù)2>0.75,說(shuō)明本文采集數(shù)據(jù)擬合生長(zhǎng)函數(shù)方法的有效性;誤差分析中誤差值<2 mm,則說(shuō)明本文提出的利用自由變形算法模擬不同形狀、復(fù)雜度花卉生長(zhǎng)序列方法的適用性。研究結(jié)果表明,結(jié)合真實(shí)生長(zhǎng)函數(shù)的自由變形算法能較好模擬花瓣結(jié)構(gòu)的生長(zhǎng)形變。
本文方法在追求實(shí)時(shí)形變的前提下舍棄了部分變形精度,因此該方法仍然局限于形狀和結(jié)構(gòu)相對(duì)簡(jiǎn)單的闊葉類(lèi)花卉植物模型形變模擬。未來(lái)的工作計(jì)劃將本文算法擴(kuò)展到復(fù)雜植物種類(lèi)的變形中,通過(guò)改善算法使點(diǎn)云模型的變形效果更加明顯高效。
[1] Owens A, Cieslak M, Hart J, et al. Modeling dense inflorescences [J]. ACM Transactions on Graphics (TOG), 2016, 35(4): 1-14.
[2] Prusinkiewicz P, Cieslak M, Ferraro P, et al. Modeling Plant Development with L-Systems [J]. Mathematical Modelling in Plant Biology, 2018: 139-169.
[3] 秦培煜,陳傳波,呂澤華. 利用 L-系統(tǒng)和 Bezier 曲面的植物花朵模擬模型[J]. 計(jì)算機(jī)工程與應(yīng)用,2006,42(16):6-8.
Qin Peiyu, Chen Chuanbo, Lü Zehua. Plant flower simulation model using L-system and Bezier surface[J]. Computer Engineering and Applications, 2006, 42(16): 6-8. (in Chinese with English abstract)
[4] Xiao H, Chen X. Modeling and simulation of curled dry leaves [J]. Soft Matter, 2011, 7(22): 10794-10802.
[5] Thanou D. Graph based compression of dynamic 3 D point cloud sequences[J]. Transactions of the Chinese Society of Agricultural Engineering ( Transactions of the CSAE), 2016, 25(4): 1765-1778.
[6] 張湘玉,李明,馬希青. 基于細(xì)分的網(wǎng)格模型骨架驅(qū)動(dòng)變形技術(shù)[J]. 計(jì)算機(jī)應(yīng)用,2015,35(3):811-815.
Zhang Xiangyu, Li Ming, Ma Xiqing. Skeleton-driven deformation technology based on subdivision mesh model[J]. Journal of Computer Applications, 2015, 35(3): 811-815. (in Chinese with English abstract)
[7] Zheng Q, Fan X, Gong M, et al.4D reconstruction of blooming flowers [J]. Computer Graphics Forum. 2017, 36(6): 405-417.
[8] Vereecken H, Schnepf A, Hopmans J W, et al. Modeling soil processes: key challenges and new perspectives[J]. Vadose Zone Journal, 2016,15(5): 1-120.
[9] 楊亞飛,張定華,黃魁東,等. 基于橢球包圍盒的錐束三維加權(quán)重建算法[J]. 儀器儀表學(xué)報(bào),2016,37(11):2563-2571.
Yang Yafei, Zhang Dinghua, Huang Kuidong, et al. Three-dimensional weighted reconstruction algorithm of cone beam CT based on ellipsoidal bounding box[J]. Chinese Journal of Scientific Instrument, 2016, 37(11): 2563-2571. (in Chinese with English abstract)
[10] Sederberg T W, Parry S R. Free-form deformation of solid geometric models [J]. ACM SIGGRAPH Computer Graphics, 1986, 20(4): 151-160.
[11] 詹杭龍,劉瀾濤,康亮環(huán),等. 一種基于模型的彈性可伸縮的流處理框架[J]. 計(jì)算機(jī)研究與發(fā)展,2017,54(5):1086-1096.
Zhan Hanglong, Liu Lantao, Kang Lianghuan, et al. An elastic scalable flow processing framework based on actor model [J]. Journal of Computer Research and Development, 2017, 54(5): 1086-1096. (in Chinese with English abstract)
[12] Penner A. Odf using a cubic bézier[M]. Fitting Splines to a Parametric Function. Cham, Springer, 2019: 19-26.
[13] 孫思,葛衛(wèi)民,馮志勇,等. 基于NURBS變形和單視角圖片的人臉表情生成[J]. 計(jì)算機(jī)工程,2017,43(11):227-233,238.
Sun Si, Ge Weimin, Feng Zhiyong, et al. Face expression generation based on NURBS deformation and single view image[J]. Computer Engineering, 2017, 43(11): 227-233, 238. (in Chinese with English abstract)
[14] 淮永建,周文婷. 基于重瓣花朵拓?fù)浣Y(jié)構(gòu)模型算法的可視化研究[J]. 計(jì)算機(jī)科學(xué),2012,39(9):282-283.
Huai Yongjian, Zhou Wenting. Visualization research based on double-flow flower topology model algorithm[J]. Computer Science, 2012, 39(9): 282-283. (in Chinese with English abstract)
[15] 樊亞春,譚小慧,周明全,等. 基于局部多尺度的三維模型草圖檢索方法[J]. 計(jì)算機(jī)學(xué)報(bào),2017,40(11):2448-2465.
Fan Yachun, Tan Xiaohui, Zhou Mingquan, et al. 3D model sketch retrieval method based on local multi-scale[J]. Chinese Journal of Computers, 2017, 40(11): 2448-2465. (in Chinese with English abstract)
[16] Gao F, Wu W, Lin Y, et al. Online safe trajectory generation for quadrotors using fast marching method and bernstein basis polynomial[C]//2018 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2018: 344-351.
[17] 淮永建,曾茜. 花卉植物形態(tài)與生長(zhǎng)可視化仿真研究[J].計(jì)算機(jī)工程與應(yīng)用,2012,48(8):185-188.
Huai Yongjian, Zeng Qian. Visualization simulation of flower plant morphology and growth[J]. Computer Engineering and Applications, 2012, 48(8): 185-188. (in Chinese with English abstract)
[18] 白麗芳,常朝穩(wěn),王禹同,等. 基于有效約束的方向包圍盒相交測(cè)試算法[J]. 計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2016,28(10):1757-1766.
Bai Lifang, Chang Chaowen, Wang Yutong, et al. Crossing test algorithm for direction bounding box based on effective constraints[J]. Journal of Computer-Aided Design & Computer Graphics, 2016, 28(10): 1757-1766. (in Chinese with English abstract)
[19] Isaac A S, Neumann C. Optimization of freeform surfaces using intelligent deformation techniques for LED applications[J]. Advanced Optical Technologies, 2018, 7(1/2): 67-80.
[20] Zhang D, Ren N, Hou X. An improved logistic regression model based on a spatially weighted technique (ILRBSWT v1. 0) and its application to mineral prospectivity mapping[J]. Geoscientific Model Development, 2018, 11(6): 2525-2539.
[21] 孫家澤,陳皓,耿國(guó)華. 三維文物點(diǎn)云模型配準(zhǔn)優(yōu)化算法[J]. 計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2016,28(7):1068-1074.
Sun Jiaze, Chen Hao, Geng Guohua. Registration optimization algorithm for 3D cultural object point cloud model [J]. Journal of Computer-Aided Design & Computer Graphics, 2016, 28(7): 1068-1074. (in Chinese with English abstract)
[22] Rubio R R, Shehata J, Kournoutas I, et al. Construction of neuroanatomical volumetric models using 3-Dimensional scanning techniques: technical note and applications[J]. World Neurosurgery, 2019, 126: 359-368.
[23] Yin K, Huang H, Zhang H, et al. Morfit: Interactive surface reconstruction from incomplete point clouds with curve-driven topology and geometry control[J]. ACM Trans Graph, 2014, 33(6): 1-12.
[24] Islam M A, Murthy A, Bartocci E, et al. Model-order reduction of ion channel dynamics using approximate bisimulation[J]. Theoretical Computer Science, 2015, 599(27): 34-46.
[25] 胡良臣,壽華好. 求解帶法向約束樣條曲線(xiàn)逼近問(wèn)題[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2016,28(9):1443-1450.
Hu Liangchen, Shou Huahao. Solving the problem of approximating spline curves with normal constraints[J]. Journal of Computer-Aided Design & Computer Graphics, 2016, 28(9): 1443-1450. (in Chinese with English abstract)
[26] 張超,韓成,楊華民,等. 基于位姿約束的大視場(chǎng)雙目視覺(jué)標(biāo)定算法[J]. 光學(xué)學(xué)報(bào),2016,36(1):197-206.
Zhang Chao, Han Cheng, Yang Huamin, et al. Large-field binocular vision calibration algorithm based on pose constraint[J]. Acta Optica Sinica, 2016, 36(1): 197-206. (in Chinese with English abstract)
[27] 孫忱,奚宏生,高榮. 鄰域線(xiàn)性最小二乘擬合的推薦支持度模型[J]. 西安交通大學(xué)學(xué)報(bào),2015,49(6):77-83.
Sun Chen, Xi Hongsheng, Gao Rong. Recommended support model for neighborhood linear least squares fitting[J]. Journal of Xi'an Jiaotong University, 2015, 49(6): 77-83. (in Chinese with English abstract)
[28] 王醒策,蔡建平,武仲科,等. 局部表面擬合的點(diǎn)云模型法向估計(jì)及重定向算法[J]. 計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2015,27(4):614-620.
Wang Xingce, Cai Jianping, Wu Zhongke, et al. Normal estimation and reorientation algorithm of point cloud model based on local surface fitting[J]. Journal of Computer-Aided Design & Computer Graphics, 2015, 27(4): 614-620. (in Chinese with English abstract)
[29] 焦迪,楊猛,楊剛. 基于物理的花開(kāi)花落與葉片時(shí)變動(dòng)態(tài)算法[J]. 系統(tǒng)仿真學(xué)報(bào),2018,30(6):85-94.
Jiao Di, Yang Meng, Yang Gang. Physic-based flowering and flowering time-varying dynamic algorithm [J]. Journal of System Simulation, 2018, 30(6): 85-94. (in Chinese with English abstract)
[30] Ouyang S G, Wang G, Yao J Y, et al. A Unity3D‐based interactive three‐dimensional virtual practice platform for chemical engineering[J]. Computer Applications in Engineering Education, 2018, 26(1): 91-100.
[31] Li J, Liu M, Xu W, et al. Boundary‐dominant flower blooming simulation[J]. Computer Animation and Virtual Worlds, 2015, 26(3/4): 433-443.
Simulation of plant petal shape change and growth based on 3D point cloud data
Huai Yongjian, Yang Danqi, Cai Dongna
(,100083,)
Different graphic techniques and methods are usually presented to simulate the 3D plant shape structure and growth in the field of virtual plant and visualization. Research results had been widely used in agriculture, forestry, landscape design, game, VR and computer animation, especially in plant shape structure-function modeling and natural landscape reconstruction. At present, the shape, color, texture and other morphological structure characteristics of the plants are mainly simulated by using the algorithms of computer graphics and rendering technology. The L-system is used to describe the geometry shape of plant and has faced the challenge of simulating the growth for complicated plant structure such as flower development. In this study, we present a method to describe the flower plant shape modeling and growth deformation based-on the scanning 3D point cloud data to avoid the complex plant procedural modeling. At first, we obtained the flower plant point cloud data in different growth development stages by using the 3D scanning device, and the sample data required for the function fitting and deforming by segmenting and intercepting the point cloud model. The sample data was fitted to summarize the growth rules of flower plant by using the tools of MATLAB and specified functional model. Then we combined the traditional flower growth simulation with the free-form deformation algorithm (FFD) based on the point cloud model. The traditional method deformed the shape by dragging the control point on the bounding box. But we made the control point move automatically, where the outside control points were driven to deform according to the growth function. In order to realize the operation of spatial points in the free-form deformation algorithm, the control points were converted from the world coordinates to local coordinates. Regardless of the world coordinates of the control points how to change, there were fixed local coordinates of the points take part in the mathematic transform. To fit the growth model of flowers, a special sampling and fitting method was designed. First, the flower was divided into different growth patterns and sampled separately according to the shape structure, we could get the fitting function by using the sample data. Then the real-time dynamic process of plant growth was operated by combining the growth function and deformation algorithm. To simulate the dynamic growth of flowers, a method was proposed based on the real measurement data of point cloud data model, which combined the FFD algorithm with the true growth principles to simulate the series change of petal shape. The test results showed that our method could maintain the plant morphological characteristics during the deformation and reconstruct the real process of plant growth according to the initial and final point cloud data, which could get a realistic visual effects. At last, we compared our deformation method with the physics-based simulation method and evaluate the algorithm precision by fitting regression analysis and measuring the geometry error between the real measure data and the reconstructed data. The results showed that the geometry deformation error could be controlled within 2 mm and the coefficient of determination was above 0.75 during the whole period of plant growth. The final reconstructed plant model was similar with the real plant and a novel approach was provided to simulate plant growth.
Three dimensional; deformation; models; virtual plant; point cloud; data fitting; plant deformation simulation
10.11975/j.issn.1002-6819.2019.15.020
TP391.9
A
1002-6819(2019)-15-0155-10
2019-01-20
2019-07-13
國(guó)家自然科學(xué)基金項(xiàng)目(31770589);中央高??蒲袌F(tuán)隊(duì)建設(shè)項(xiàng)目(2015ZCQ-XX)
淮永建,教授,博士生導(dǎo)師,博士,主要研究方向?yàn)樘摂M現(xiàn)實(shí)、可視化。Email:huaiyj@163.com
淮永建,楊丹琦,蔡?hào)|娜. 基于三維點(diǎn)云數(shù)據(jù)的花瓣形態(tài)及生長(zhǎng)過(guò)程模擬[J]. 農(nóng)業(yè)工程學(xué)報(bào),2019,35(15):155-164. doi:10.11975/j.issn.1002-6819.2019.15.020 http://www.tcsae.org
Huai Yongjian, Yang Danqi, Cai Dongna. Simulation of plant petal shape change and growth based on 3D point cloud data[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2019, 35(15): 155-164. (in Chinese with English abstract) doi:10.11975/j.issn.1002-6819.2019.15.020 http://www.tcsae.org