專利名稱:三維植物器官幾何曲面自適應(yīng)網(wǎng)格化方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)圖形學(xué)中的三維建模技術(shù)領(lǐng)域,尤其涉及植物 幾何造型建模方法和三維模型網(wǎng)格簡化技術(shù)。
背景技術(shù):
自然景物的模擬是計(jì)算機(jī)圖形學(xué)的一個(gè)主要的分支。植物形態(tài)的 多樣性和不規(guī)則性使得利用計(jì)算機(jī)生成逼真的植物模型是一個(gè)巨大
的挑戰(zhàn)。目前,三維植物建模的目的主要來自兩個(gè)方面 一是植物生
長和發(fā)展過程的模擬和可視化;二是植物場景的真實(shí)感繪制,即創(chuàng)造
視覺上令人滿意的植物形態(tài)。這兩者都涉及到三維植物模型的實(shí)時(shí)繪 制問題,即在保證一定真實(shí)感的基礎(chǔ)上要求繪制時(shí)間越短越好。這在 大規(guī)模植物生長模擬、電腦游戲、軍事仿真、飛行器模擬等方面都有 廣泛的應(yīng)用需求。
植物形態(tài)建模的開創(chuàng)性工作由美國學(xué)者Lindenmayer提出,他提
出了L-System---個(gè)描述植物拓樸結(jié)構(gòu)的通用方法。隨后,Smith
和Prusinkiewicz等人為L-System的完善和普及做了大量的工作,并開 發(fā)了 一個(gè)基于L-System的三維植物建模軟件L-studio。 L-studio以器官 為單位,能夠生成各種植物的三維模型,每個(gè)器官都用三角形網(wǎng)格表 示。其后,為了滿足景觀設(shè)計(jì)、游戲等領(lǐng)域?qū)Ρ普娴闹参锬P偷男枰?德國Lintermann等人提出了基于組件式的三維植物結(jié)構(gòu)交互式設(shè)計(jì)的 概念,開發(fā)了Xfrog軟件。在Xfrog軟件中,每個(gè)植物器官都是一個(gè)組 件,植物的拓樸結(jié)構(gòu)和形態(tài)則通過組合器官組件構(gòu)成,在最終生成的 植物模型中,每個(gè)器官也是用三角形網(wǎng)格表示。類似的軟件工具還包 括OnyxTree等。在這些軟件中,每個(gè)器官的網(wǎng)格曲面都是用規(guī)則的 網(wǎng)格化方法生成,而沒有考慮到網(wǎng)格面元的冗余和網(wǎng)格簡化問題,這導(dǎo)致植物模型的面元個(gè)數(shù)都很大,影響繪制和計(jì)算的速度。
此外,許多學(xué)者也研究了各種植物器官的高精度三維曲面建模方 法,如參數(shù)化的植物器官建模方法、基于圖像或基于點(diǎn)云技術(shù)的植物 三維模型重建方法等,但在這些方法中,也都是考慮重構(gòu)的植物模型 的準(zhǔn)確性和真實(shí)感,而不考慮植物模型曲面網(wǎng)格的冗余問題。
近年來,部分研究者開展了三維植物網(wǎng)格模型的簡化技術(shù)研究。
We b er根據(jù)樹木的遠(yuǎn)近對(duì)樹木的網(wǎng)格模型進(jìn)行簡化,但這些方法中, 遠(yuǎn)處樹木簡化后顏色過于單一,造成繪制結(jié)果細(xì)節(jié)模糊。后來又出現(xiàn) 了很多其它的簡化算法,如頂點(diǎn)精簡、邊塌陷、頂點(diǎn)聚類等,但由于 樹木特殊的屬性,這些算法通??梢杂糜跇涓傻暮喕?,對(duì)于樹葉部分, 則會(huì)產(chǎn)生錯(cuò)誤的結(jié)果。Remolar在2002年提出了幾種簡化算法,通過 迭代地用一個(gè)新的葉子代替原來的兩片葉子,不斷減少用于表示樹葉 的多邊形的數(shù)目,同時(shí)保持樹冠的外形。但這類方法繪制效率很低, 而且只適合闊葉類樹葉的簡化,在簡化針葉類植物時(shí),不能忠實(shí)地保 持它們的物種特征。我國也有學(xué)者在這方面進(jìn)行了研究,他們提出的 方法是重復(fù)地把兩個(gè)葉片合并為一個(gè)大的葉片,這使得原有的葉片位 置和形狀得以保留。這種方法產(chǎn)生的實(shí)際結(jié)果滿足了遠(yuǎn)近察看的需 要,但繪制效率不高。其后,他們又提出了一個(gè)更通用的葉片簡化算 法,首先為每片葉片都賦予一個(gè)密度值,用于調(diào)節(jié)對(duì)應(yīng)的葉片的簡化 誤差,使得密度越大時(shí)簡化誤差越小。
值得注意的是,上述植物網(wǎng)格模型簡化方法都是在生成植物網(wǎng)格 模型后進(jìn)行的,即獨(dú)立于植物網(wǎng)格模型的生成過程。這樣雖然具有不 依賴于植物模型生成的特點(diǎn),但其缺點(diǎn)也是十分明顯的 一是計(jì)算效 率不高,由于整個(gè)植物模型的規(guī)模往往較大,簡化過程需要在整個(gè)植 物模型中進(jìn)行全局搜索,算法對(duì)內(nèi)存和CPU的需求都很大;二是難以 保持不同器官的細(xì)節(jié)特征,在三維植物模型中,不同器官的形態(tài)的差 異可能很大,因此一般都用不同的網(wǎng)格化方法生成,由于這些后處理方法不考慮各個(gè)器官網(wǎng)格扭面的生成過程,也難以判斷每個(gè)網(wǎng)格面元隸屬于哪種器官,因此網(wǎng)格簡化過程缺乏針對(duì)性,往往會(huì)丟失器官曲面的細(xì)節(jié)特征。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對(duì)現(xiàn)有技術(shù)的不足,為三維植物幾何模型的曲面生成和網(wǎng)格簡化提供一種靈活、普適的方法。
為達(dá)到上述目的,本發(fā)明提供了 一種三維植物器官幾何曲面自適
應(yīng)網(wǎng)格化方法,包括以下步驟
Sl,按照植物器官的外形特征對(duì)植物器官進(jìn)行分類,并建立各個(gè)植物器官的骨架模型;
S2,針對(duì)不同的植物器官類型,設(shè)置對(duì)器官幾何曲面進(jìn)行網(wǎng)格化時(shí)需要用到的參數(shù);
S3,針對(duì)不同的植物器官類型,根據(jù)所設(shè)置的參數(shù),對(duì)器官幾何曲面進(jìn)行自適應(yīng)網(wǎng)格化。
其中,步驟S3包括點(diǎn)集生成步驟和網(wǎng)格化步驟,點(diǎn)集生成步驟是根據(jù)步驟S2中設(shè)置的參數(shù)計(jì)算得到構(gòu)成器官幾何曲面的點(diǎn)云集合;網(wǎng)格化步驟是從生成的點(diǎn)云集合中構(gòu)建出器官幾何曲面的多邊形模型。
其中,在步驟S1中,可以將植物器官分為三類
軸骨架器官,表示具有圓柱體形狀的器官;
半輪廓-軸骨架器官,包括一根軸線和一根邊緣線,表示具有對(duì)稱結(jié)構(gòu)的橢圓體器官;和
全輪廓-軸骨架器官,包括一根軸線和兩根邊緣線,表示具有不規(guī)則邊緣的薄片狀器官。
在步驟S1的建立各個(gè)植物器官的骨架模型的過程中,用B樣條曲線表示植物器官的骨架中的軸線和邊緣線。
其中,步驟S2具體可以為對(duì)于軸骨架器官,將參數(shù)設(shè)置為包括器官上下橫截面的半徑、橫截面網(wǎng)格劃分?jǐn)?shù)以及在長度方向上進(jìn)行網(wǎng)格劃分時(shí)用來指導(dǎo)點(diǎn)集生成的參數(shù);
對(duì)于半輪廓-軸骨架器官,將參數(shù)設(shè)置為包括橫截面網(wǎng)格劃分?jǐn)?shù)
以及在長度方向上進(jìn)行網(wǎng)格劃分時(shí)用來指導(dǎo)點(diǎn)集生成的參數(shù);
對(duì)于全輪廓-軸骨架器官,將參數(shù)設(shè)置為在長度方向上進(jìn)行網(wǎng)格劃分時(shí)用來指導(dǎo)點(diǎn)集生成的參數(shù)。
其中,在長度方向上進(jìn)行網(wǎng)格劃分時(shí)用來指導(dǎo)點(diǎn)集生成的參數(shù)包
括最小劃分長度M和段間最大夾角。其中,點(diǎn)集生成步驟具體可以為
對(duì)于軸骨架器官,根據(jù)最小劃分長度M對(duì)軸線進(jìn)行等分預(yù)分割,
然后再根據(jù)段間最大夾角對(duì)分割后的線段進(jìn)行檢測,檢測完所有分割點(diǎn)分割得到的線段,保留下來的分割點(diǎn)用來生成構(gòu)成器官幾何曲面的
點(diǎn)云集合;其中軸線用B樣條曲線表示;其中,"生成構(gòu)成軸骨架器官的器官幾何曲面的點(diǎn)云集合"的步驟具體為為了由軸線生成器官的外圍曲面點(diǎn)集,對(duì)于保留下來的每個(gè)分割點(diǎn),根據(jù)所設(shè)置的參數(shù)橫截面的半徑和橫截面網(wǎng)格劃分?jǐn)?shù)N,在分割點(diǎn)上通過橫截面的半徑按垂直于軸線方向依次繞軸線旋轉(zhuǎn)一個(gè)角度,得到該橫截面邊緣輪廓線上的N個(gè)空間點(diǎn),這樣就構(gòu)成了軸骨架器官的器官幾何曲面的點(diǎn)云集合;
對(duì)于半輪廓-軸骨架器官,根據(jù)最小劃分長度M對(duì)邊緣線進(jìn)行等分預(yù)分割,然后再根據(jù)段間最大夾角對(duì)分割后的線段進(jìn)行檢測,檢測完所有分割點(diǎn)分割得到的線段,保留下來的分割點(diǎn)用來生成構(gòu)成器官幾何曲面的點(diǎn)云集合;其中邊緣線用B樣條曲線表示;其中,"生成
構(gòu)成半輪廓-軸骨架器官的器官幾何曲面的點(diǎn)云集合"的步驟具體為為了由邊緣線生成器官的外圍曲面點(diǎn)集,對(duì)于保留下來的每個(gè)分割點(diǎn),根據(jù)所設(shè)置的橫截面網(wǎng)格劃分?jǐn)?shù)N,在分割點(diǎn)上按垂直于軸線方向依次繞軸線旋轉(zhuǎn)一個(gè)角度,得到該橫截面邊緣輪廓線上的N個(gè)空間點(diǎn),這樣就構(gòu)成了半輪廓-軸骨架器官的器官幾何曲面的點(diǎn)云集合;
對(duì)于全輪廓-軸骨架器官,首先將該骨架分成左右兩個(gè)部分,每個(gè)部分都用兩根B樣條曲線圍成 一個(gè)封閉的多邊形,對(duì)于每個(gè)封閉的
多邊形,首先按最小劃分長度M對(duì)B樣條曲線進(jìn)行等分預(yù)分割,然
后再根據(jù)段間最大夾角對(duì)分割后的線段進(jìn)行檢測,對(duì)左右兩個(gè)封閉的多邊形進(jìn)行檢測后,保留下來的分割點(diǎn)點(diǎn)集即為全輪廓-軸骨架器官的器官幾何曲面的點(diǎn)云集合。
其中,"根據(jù)參數(shù)段間最大夾角對(duì)分割后的線段進(jìn)行檢測"的步
驟具體可以為
將B樣條曲線分成為最小劃分長度M指定長度的等分線段,記錄每個(gè)分割點(diǎn)的坐標(biāo),然后從B樣條曲線的一個(gè)端點(diǎn)開始,根據(jù)段間最大夾角對(duì)相鄰的兩個(gè)線段進(jìn)行檢測若第一、二條線段的夾角大于段間最大夾角,則將這兩條線段中間的那個(gè)分割點(diǎn)坐標(biāo)刪除,即將該分割點(diǎn)左右的兩條線段合并,合并后的線段與下一條線段再進(jìn)行檢測;若第一、二條線段的夾角小于或等于段間最大夾角,則將檢測的線段下移一位,即檢測第二、第三條線段;如此循環(huán),直到檢測完所
有分割點(diǎn)分割得到的線段,保留下來的分割點(diǎn)用來生成構(gòu)成這類器官
的器官幾何曲面的點(diǎn)云集合;
其中,網(wǎng)格化步驟具體可以為
對(duì)于軸骨架器官和半輪廓-軸骨架器官,對(duì)相鄰兩個(gè)分割點(diǎn)計(jì)算得到的兩組空間點(diǎn)進(jìn)行網(wǎng)格連接,形成器官外形輪廓的三角形網(wǎng)格曲
面;
對(duì)于全輪廓-軸骨架器官,釆用Delaunay三角化算法實(shí)現(xiàn)三維空間中不規(guī)則多邊形的三角化。
其中,"釆用Delaunay三角化算法實(shí)現(xiàn)三維空間中不規(guī)則多邊形的三角化"的步驟具體為在三角化的過程中,對(duì)于全輪廓-軸骨架器官的左右兩個(gè)部分,從每個(gè)部分計(jì)算得到的點(diǎn)云集合組成了一個(gè)閉
合的多邊形,對(duì)該多邊形進(jìn)行Delaunay三角化即可生成該部分曲面的多邊形模型。
本發(fā)明還提供了 一種三維植物器官幾何曲面自適應(yīng)網(wǎng)格化系統(tǒng),其包括
骨架表示模塊,用于按照植物器官的外形特征對(duì)植物器官進(jìn)行分類,并建立各個(gè)植物器官的骨架模型;
參數(shù)定義模塊,用于針對(duì)不同的植物器官類型,設(shè)置對(duì)器官幾何曲面進(jìn)行網(wǎng)格化時(shí)需要用到的參數(shù);以及
器官幾何曲面自適應(yīng)網(wǎng)格化模塊,用于針對(duì)不同的植物器官類
型,根據(jù)所設(shè)置的參數(shù),對(duì)器官幾何曲面進(jìn)行自適應(yīng)網(wǎng)格化;
其中,器官幾何曲面自適應(yīng)網(wǎng)格化模塊包括點(diǎn)集生成模塊和網(wǎng)格化模塊,點(diǎn)集生成模塊用于根據(jù)參數(shù)定義模塊設(shè)置的參數(shù)計(jì)算得到構(gòu)
成器官幾何曲面的點(diǎn)云集合;網(wǎng)格化模塊用于從生成的點(diǎn)云集合中構(gòu)建出器官幾何曲面的多邊形模型。
上述技術(shù)方案通過將一種通用三維植物器官自適應(yīng)網(wǎng)格化的方法融入三維植物模型的構(gòu)建中,使得本方法能夠按照不同的應(yīng)用需求,選擇生成不同網(wǎng)格規(guī)模、不同分辨率的植物幾何網(wǎng)格曲面,以滿足進(jìn)行大規(guī)模植物生長可視化模擬、植物冠層光分布計(jì)算、三維植物場景實(shí)時(shí)繪制等應(yīng)用的需求。因此,本發(fā)明的方法應(yīng)用面廣、靈活、普適性強(qiáng),而且,實(shí)驗(yàn)證明,應(yīng)用本發(fā)明的方法能夠極大地減少三維植物模型曲面網(wǎng)格的面元個(gè)數(shù),這對(duì)植物模型的實(shí)時(shí)繪制、光分布計(jì)算和其它生理功能模擬都是十分有用的。
圖i是本發(fā)明實(shí)施例的自適應(yīng)網(wǎng)格化方法流程圖;圖2是本發(fā)明實(shí)施例的自適應(yīng)網(wǎng)格化方法中的三類骨架模型示意
圖;圖3是本發(fā)明實(shí)施例的軸骨架類器官曲面的自適應(yīng)網(wǎng)格化過程示意圖4是對(duì)軸骨架類器官曲面應(yīng)用常規(guī)網(wǎng)格化與應(yīng)用本發(fā)明實(shí)施例的自適應(yīng)網(wǎng)格化方法的結(jié)果對(duì)比以及在不同參數(shù)條件下的結(jié)果示意
圖5是對(duì)全輪廓-軸骨架類器官曲面應(yīng)用常規(guī)網(wǎng)格化與應(yīng)用本發(fā)
明的自適應(yīng)網(wǎng)格化方法的結(jié)果對(duì)比示意圖6是將本發(fā)明的方法應(yīng)用于整棵植物幾何造型生成后得到的結(jié)果示意圖。
具體實(shí)施例方式
下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的具體實(shí)施方式
作進(jìn)一步詳細(xì)描述。以下實(shí)施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。
在圖2和圖3中,圖2中的(a)為軸骨架及其變形、(b)為半輪廓—軸骨架及其變形、(c)為全輪廓一軸骨架其變形;圖2中的(a)為骨架模型、(b)為預(yù)分割點(diǎn)、(c)為自適應(yīng)檢測后保留的點(diǎn)、(d)為曲面點(diǎn)集、(e)為網(wǎng)格化模型。
如圖1至圖6所示,依照本實(shí)施例的三維植物器官幾何曲面自適應(yīng)網(wǎng)格化方法,其包括以下步驟
51, 按照植物器官的外形特征對(duì)植物器官進(jìn)行分類,并建立各個(gè)植物器官的骨架模型;
52, 針對(duì)不同的植物器官類型,設(shè)置對(duì)器官幾何曲面進(jìn)行網(wǎng)格化時(shí)需要用到的參數(shù);
S3,針對(duì)不同的植物器官類型,對(duì)器官幾何曲面進(jìn)行自適應(yīng)網(wǎng)格化。
其中,步驟S3包括點(diǎn)集生成步驟和網(wǎng)格化步驟,點(diǎn)集生成步驟是根據(jù)步驟S2中設(shè)置的參數(shù)計(jì)算得到構(gòu)成器官幾何曲面的點(diǎn)云集合;網(wǎng)格化步驟是從生成的點(diǎn)云集合中構(gòu)建出器官幾何曲面的多邊形模型。
本實(shí)施例中,在步驟S1中,可以將植物器官分為三類
軸骨架器官(見圖1 (a)左邊的圖形),表示具有圓柱體形狀的
器官,如莖、葉柄、卷須等;
半輪廓-軸骨架器官(見圖1 (b)左邊的圖形),包括一根軸線和
一根邊緣線,表示具有對(duì)稱結(jié)構(gòu)的橢圓體器官,如果實(shí);和
全輪廓-軸骨架器官(見圖1 (c)左邊的圖形),包括一根軸線和
兩根邊緣線,表示具有不規(guī)則邊緣的薄片狀器官,如葉片和花瓣。
在"建立各個(gè)植物器官的骨架模型"的步驟中,用B樣條曲線表 示植物器官的骨架中的軸線和邊緣線,這是由于B樣條曲線的控制點(diǎn) 個(gè)數(shù)可以任意設(shè)置,且可以容易地構(gòu)造過控制點(diǎn)的樣條曲線,具有靈 活、易于控制等特點(diǎn),因此非常適合于描述植物器官形態(tài)多變的外形 輪廓(如圖1的(a)、 (b)和(c)中左邊的圖形)。這樣,要建立某 個(gè)特定器官的骨架模型,實(shí)際上就是確定骨架模型上每條B樣條曲線 的特征點(diǎn)。這些特征點(diǎn)可以通過三維數(shù)字化儀從田間或溫室生長的植 物器官上獲取,也可以通過特征提取的方法從拍攝的包含植物器官的 圖像中獲得,或者利用輸入?yún)?shù)自動(dòng)生成。
本實(shí)施例中,步驟S2具體可以為
對(duì)于軸骨架器官,其幾何形狀的一個(gè)共同特點(diǎn)是它們的橫截面近 似于橢圓(見圖2 (e))將參數(shù)設(shè)置為包括器官上下橫截面的半徑、 橫截面網(wǎng)格劃分?jǐn)?shù)以及在長度方向上進(jìn)行網(wǎng)格劃分時(shí)用來指導(dǎo)點(diǎn)集 生成的參數(shù);
對(duì)于半輪廓-軸骨架器官,將參數(shù)設(shè)置為包括橫截面網(wǎng)格劃分?jǐn)?shù) 以及在長度方向上進(jìn)行網(wǎng)格劃分時(shí)用來指導(dǎo)點(diǎn)集生成的參數(shù),由于 該類器官的橫截面半徑已隱含給出,因此不需要提供"橫截面半徑" 這個(gè)參數(shù);
對(duì)于全輪廓-軸骨架器官,將參數(shù)設(shè)置為在長度方向上進(jìn)行網(wǎng)格
13劃分時(shí)用來指導(dǎo)點(diǎn)集生成的參數(shù)。
"在長度方向上進(jìn)行網(wǎng)格劃分時(shí)用來指導(dǎo)點(diǎn)集生成的參數(shù)"為最 小劃分長度和段間最大夾角。
本實(shí)施例中,點(diǎn)集生成步驟具體可以為
對(duì)于軸骨架器官,根據(jù)參數(shù)"最小劃分長度"對(duì)軸線進(jìn)行等分預(yù) 分割,然后再根據(jù)參數(shù)"段間最大夾角"對(duì)分割后的線段進(jìn)行檢測, 檢測完所有分割點(diǎn)分割得到的線段,保留下來的分割點(diǎn)用來生成構(gòu)成
器官幾何曲面的點(diǎn)云集合;其中軸線用B樣條曲線表示;其中,"生 成構(gòu)成軸骨架器官的器官幾何曲面的點(diǎn)云集合"的步驟具體為為了 由軸線生成器官的外圍曲面點(diǎn)集,對(duì)于保留下來的每個(gè)分割點(diǎn),根據(jù) 所設(shè)置的參數(shù)"橫截面的半徑"和"橫截面網(wǎng)格劃分?jǐn)?shù)",在分割點(diǎn) 上通過橫截面的半徑按垂直于軸線方向依次繞軸線旋轉(zhuǎn)一個(gè)角度,得 到該橫截面邊緣輪廓線上的"橫截面網(wǎng)格劃分?jǐn)?shù)"個(gè)空間點(diǎn),這樣就 構(gòu)成了軸骨架器官的器官幾何曲面的點(diǎn)云集合(見圖2 (d));
對(duì)于半輪廓-軸骨架器官,根據(jù)參數(shù)"最小劃分長度"對(duì)邊緣線 進(jìn)行等分預(yù)分割,然后再根據(jù)參數(shù)"段間最大夾角"對(duì)分割后的線段 進(jìn)行檢測,檢測完所有分割點(diǎn)分割得到的線段,保留下來的分割點(diǎn)用 來生成構(gòu)成器官幾何曲面的點(diǎn)云集合;其中邊緣線用B樣條曲線表 示;其中,"生成構(gòu)成半輪廓-軸骨架器官的器官幾何曲面的點(diǎn)云集合" 的步驟具體為為了由邊緣線生成器官的外圍曲面點(diǎn)集,對(duì)于保留下
來的每個(gè)分割點(diǎn),根據(jù)所設(shè)置的參數(shù)"橫截面網(wǎng)格劃分?jǐn)?shù)",在分割 點(diǎn)上按垂直于軸線方向依次繞軸線旋轉(zhuǎn)一個(gè)角度,得到該橫截面邊緣 輪廓線上的"橫截面網(wǎng)格劃分?jǐn)?shù)"個(gè)空間點(diǎn),這樣就構(gòu)成了半輪廓-軸骨架器官的器官幾何曲面的點(diǎn)云集合;
對(duì)于全輪廓-軸骨架器官,首先將該骨架分成左右兩個(gè)部分,每 個(gè)部分都用兩根B樣條曲線圍成一個(gè)封閉的多邊形,對(duì)于每個(gè)封閉的 多邊形,首先按參數(shù)"最小劃分長度"對(duì)B樣條曲線進(jìn)行等分預(yù)分割,
14然后再根據(jù)參數(shù)"段間最大夾角"對(duì)分割后的線段進(jìn)行檢測,對(duì)左右 兩個(gè)封閉的多邊形進(jìn)行檢測后,保留下來的分割點(diǎn)點(diǎn)集即為全輪廓-軸骨架器官的器官幾何曲面的點(diǎn)云集合。
本實(shí)施例中,"根據(jù)參數(shù)'段間最大夾角,對(duì)分割后的線段進(jìn)行 檢測"的步驟具體可以為
以軸骨架器官為例,如圖2所示,將B樣條曲線表示的軸線分成
為參數(shù)"最小劃分長度"指定長度的等分線段,記錄每個(gè)分割點(diǎn)的坐
標(biāo)(見圖2 (b)),然后從軸線的一個(gè)端點(diǎn)開始,根據(jù)參數(shù)"段間最
大夾角"對(duì)相鄰的兩個(gè)線段進(jìn)行檢測若第一、二條線段的夾角大于 "段間最大夾角",則將這兩條線段中間的那個(gè)分割點(diǎn)坐標(biāo)刪除,即 將該分割點(diǎn)左右的兩條線段合并,合并后的線段與下一條線段(第三
線段)再進(jìn)行檢測;若第一、二條線段的夾角小于或等于"段間最大 夾角",則將檢測的線段下移一位,即檢測第二、第三條線段;如此
循環(huán),直到檢測完所有分割點(diǎn)分割得到的線段,保留下來的分割點(diǎn)(見
圖2 (c))用來生成構(gòu)成這類器官的器官幾何曲面的點(diǎn)云集合;
本實(shí)施例中,網(wǎng)格化步驟具體可以為 對(duì)于軸骨架器官和半輪廓-軸骨架器官,對(duì)相鄰兩個(gè)分割點(diǎn)計(jì)算 得到的兩組空間點(diǎn)進(jìn)行網(wǎng)格(三角形)連接,形成器官外形輪廓的三
角形網(wǎng)格曲面(見圖2 (e));
對(duì)于全輪廓-軸骨架器官,釆用Ddaimay三角化算法實(shí)現(xiàn)三維空 間中不規(guī)則多邊形的三角化。
"采用Delaunay三角化算法實(shí)現(xiàn)三維空間中不規(guī)則多邊形的三 角化,,的步驟具體為在三角化的過程中,對(duì)于全輪廓-軸骨架器官 的左右兩個(gè)部分,從每個(gè)部分計(jì)算得到的點(diǎn)云集合組成了一個(gè)閉合的 多邊形,對(duì)該多邊形進(jìn)行Delaunay三角化即可生成該部分曲面的多 邊形模型。如圖4(b)即為本自適應(yīng)網(wǎng)格化方法和Ddaunay三角化 方法對(duì)全輪廓-軸骨架類器官曲面進(jìn)行網(wǎng)格化的結(jié)果。本發(fā)明還提供了 一種三維植物器官幾何曲面自適應(yīng)網(wǎng)格化系統(tǒng), 其包括
骨架表示模塊,用于按照植物器官的外形特征對(duì)植物器官進(jìn)行分 類,并建立各個(gè)植物器官的骨架模型;
參數(shù)定義模塊,用于針對(duì)不同的植物器官類型,設(shè)置對(duì)器官幾何 曲面進(jìn)行網(wǎng)格化時(shí)需要用到的參數(shù);以及
器官幾何曲面自適應(yīng)網(wǎng)格化模塊,用于針對(duì)不同的植物器官類
型,對(duì)器官幾何曲面進(jìn)行自適應(yīng)網(wǎng)格化;
其中,器官幾何曲面自適應(yīng)網(wǎng)格化模塊包括點(diǎn)集生成模塊和網(wǎng)格 化模塊,點(diǎn)集生成模塊用于根據(jù)參數(shù)定義模塊設(shè)置的參數(shù)計(jì)算得到構(gòu)
成器官幾何曲面的點(diǎn)云集合;網(wǎng)格化模塊用于從生成的點(diǎn)云集合中構(gòu) 建出器官幾何曲面的多邊形模型。
為了說明本發(fā)明的有效性,進(jìn)行了如下幾組實(shí)驗(yàn)
圖3是對(duì)軸骨架類器官曲面進(jìn)行常規(guī)網(wǎng)格化與應(yīng)用本發(fā)明的自 適應(yīng)網(wǎng)格化方法的對(duì)比及不同參數(shù)條件下的結(jié)果示意圖。其中,(a) 為常規(guī)網(wǎng)格化方法得到的網(wǎng)格曲面,共有560個(gè)三角形;(b)、 (c)、 (d) 均為應(yīng)用本發(fā)明的自適應(yīng)方法得到的曲面,其中(b)的"段間最大夾角" 參數(shù)設(shè)置為175,共160個(gè)三角形;(c)的段間最大夾角設(shè)為170,共 80個(gè)三角形;(d)的段間最大夾角設(shè)為160,共30個(gè)三角形。由此可 見,應(yīng)用本發(fā)明對(duì)器官進(jìn)行網(wǎng)格化時(shí),可根據(jù)不同的需要,生成不同 分辨率的網(wǎng)格曲面模型。
圖4是對(duì)全輪廓-軸骨架類器官(圖中為一種西瓜的葉片)曲面 應(yīng)用常規(guī)網(wǎng)格化與應(yīng)用本發(fā)明的自適應(yīng)網(wǎng)格化方法得到的網(wǎng)格曲面 的對(duì)比結(jié)果。其中,(a)為常規(guī)網(wǎng)格化方法得到的曲面,共316個(gè)三角 形;(b)為自適應(yīng)方法得到的曲面,共138個(gè)三角形。
圖5為將本發(fā)明的方法應(yīng)用于整棵植物幾何造型生成后得到的 結(jié)果,其中(a)為使用本發(fā)明方法前得到的植株幾何模型,共有13406個(gè)三角形,(b)為釆用本發(fā)明的自適應(yīng)網(wǎng)格化方法后的植株模型,三角
形個(gè)數(shù)減少到了 6325個(gè)。
由此可見,應(yīng)用本發(fā)明后,能夠極大地減少三維植物模型曲面網(wǎng) 格的面元個(gè)數(shù),這對(duì)植物模型的實(shí)時(shí)繪制、光分布計(jì)算和其它生理功 能模擬都是十分有用的。
由以上實(shí)施例可以看出,本發(fā)明的實(shí)施例通過三維植物器官自適 應(yīng)網(wǎng)格化的方法融入三維植物模型的構(gòu)建中,使得本方法能夠按照不 同的應(yīng)用需求,選擇生成不同網(wǎng)格規(guī)模、不同分辨率的植物幾何網(wǎng)格 曲面,以滿足進(jìn)行大規(guī)模植物生長可視化模擬、植物冠層光分布計(jì)算、 三維植物場景實(shí)時(shí)繪制等應(yīng)用的需求。因此,本發(fā)明的方法應(yīng)用面廣、 靈活、普適性強(qiáng),而且,實(shí)驗(yàn)證明,應(yīng)用本發(fā)明的方法能夠極大地減 少三維植物模型曲面網(wǎng)格的面元個(gè)數(shù),這對(duì)植物模型的實(shí)時(shí)繪制、光 分布計(jì)算和其它生理功能模擬都是十分有用的。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng) 域的普通技術(shù)人員來說,在不脫離本發(fā)明技術(shù)原理的前提下,還可以 做出若干改進(jìn)和變型,這些改進(jìn)和變型也屬于本發(fā)明的保護(hù)范圍。
權(quán)利要求
1、一種三維植物器官幾何曲面自適應(yīng)網(wǎng)格化方法,其包括以下步驟S1,按照植物器官的外形特征對(duì)所述植物器官進(jìn)行分類,并建立各個(gè)植物器官的骨架模型;S2,針對(duì)不同的植物器官類型,設(shè)置對(duì)器官幾何曲面進(jìn)行網(wǎng)格化時(shí)需要用到的參數(shù);S3,針對(duì)不同的植物器官類型,根據(jù)所設(shè)置的參數(shù),對(duì)所述器官幾何曲面進(jìn)行自適應(yīng)網(wǎng)格化。
2、 如權(quán)利要求1所述的三維植物器官幾何曲面自適應(yīng)網(wǎng)格化方 法,其特征在于,所述步驟S3包括點(diǎn)集生成步驟和網(wǎng)格化步驟,所 述點(diǎn)集生成步驟是根據(jù)所述步驟S2中設(shè)置的參數(shù)計(jì)算得到構(gòu)成所述 器官幾何曲面的點(diǎn)云集合;所述網(wǎng)格化步驟是從生成的點(diǎn)云集合中構(gòu)建出所述器官幾何曲面的多邊形模型。
3、 如權(quán)利要求2所述的三維植物器官幾何曲面自適應(yīng)網(wǎng)格化方 法,其特征在于,在所述步驟S1中,將所述植物器官分為三類軸骨架器官,表示具有圓柱體形狀的器官;半輪廓-軸骨架器官,包括一根軸線和一根邊緣線,表示具有對(duì) 稱結(jié)構(gòu)的橢圓體器官;和全輪廓-軸骨架器官,包括一根軸線和兩根邊緣線,表示具有不 規(guī)則邊緣的薄片狀器官。
4、 如權(quán)利要求3所述的三維植物器官幾何曲面自適應(yīng)網(wǎng)格化方 法,其特征在于,在步驟S1建立各個(gè)植物器官的骨架模型的過程中, 用B樣條曲線表示所述植物器官的骨架中的軸線和邊緣線。
5、 如權(quán)利要求3所述的三維植物器官幾何曲面自適應(yīng)網(wǎng)格化方 法,其特征在于,所述步驟S2具體為對(duì)于所述軸骨架器官,將參數(shù)設(shè)置為包括器官上下橫截面的半徑、橫截面網(wǎng)格劃分?jǐn)?shù)以及在長度方向上進(jìn)行網(wǎng)格劃分時(shí)用來指導(dǎo)點(diǎn) 集生成的參數(shù);對(duì)于所述半輪廓-軸骨架器官,將參數(shù)設(shè)置為包括橫截面網(wǎng)格劃分?jǐn)?shù)以及在長度方向上進(jìn)行網(wǎng)格劃分時(shí)用來指導(dǎo)點(diǎn)集生成的參數(shù);對(duì)于所述全輪廓-軸骨架器官,將參數(shù)設(shè)置為在長度方向上進(jìn)行 網(wǎng)格劃分時(shí)用來指導(dǎo)點(diǎn)集生成的參數(shù)。
6、 如權(quán)利要求5所述的三維植物器官幾何曲面自適應(yīng)網(wǎng)格化方法,其特征在于,所述在長度方向上進(jìn)行網(wǎng)格劃分時(shí)用來指導(dǎo)點(diǎn)集生成的參數(shù)包括最小劃分長度M和段間最大夾角。
7、 如權(quán)利要求6所述的三維植物器官幾何曲面自適應(yīng)網(wǎng)格化方 法,其特征在于,所述點(diǎn)集生成步驟具體為對(duì)于所述軸骨架器官,根據(jù)最小劃分長度M對(duì)軸線進(jìn)行等分預(yù) 分割,然后再根據(jù)段間最大夾角對(duì)分割后的線段進(jìn)行檢測,檢測完所 有分割點(diǎn)分割得到的線段,保留下來的分割點(diǎn)用來生成構(gòu)成所述器官 幾何曲面的點(diǎn)云集合;其中所述軸線用B樣條曲線表示;其中,所述 "生成構(gòu)成所述軸骨架器官的器官幾何曲面的點(diǎn)云集合"的步驟具體 為對(duì)于保留下來的每個(gè)分割點(diǎn),根據(jù)所設(shè)置的橫截面的半徑和橫截 面網(wǎng)格劃分?jǐn)?shù)N,在所述分割點(diǎn)上通過橫截面的半徑按垂直于軸線方 向依次繞軸線旋轉(zhuǎn)一個(gè)角度,得到該橫截面邊緣輪廓線上的所述橫截 面網(wǎng)格劃分?jǐn)?shù)個(gè)空間點(diǎn),構(gòu)成所述軸骨架器官的器官幾何曲面的點(diǎn)云 集合;對(duì)于所述半輪廓-軸骨架器官,根據(jù)所述最小劃分長度M對(duì)邊緣 線進(jìn)行等分預(yù)分割,然后再根據(jù)所述段間最大夾角對(duì)分割后的線段進(jìn) 行檢測,檢測完所有分割點(diǎn)分割得到的線段,保留下來的分割點(diǎn)用來 生成構(gòu)成所述器官幾何曲面的點(diǎn)云集合;其中所述邊緣線用B樣條曲 線表示;其中,所述"生成構(gòu)成所述半輪廓-軸骨架器官的器官幾何 曲面的點(diǎn)云集合"的步驟具體為為了由所述邊緣線生成器官的外圍曲面點(diǎn)集,對(duì)于保留下來的每個(gè)分割點(diǎn),根據(jù)橫截面網(wǎng)格劃分?jǐn)?shù)N, 在所述分割點(diǎn)上按垂直于軸線方向依次繞軸線旋轉(zhuǎn)一個(gè)角度,得到該 橫截面邊緣輪廓線上的橫截面網(wǎng)格劃分?jǐn)?shù)個(gè)空間點(diǎn),構(gòu)成所述半輪廓 -軸骨架器官的器官幾何曲面的點(diǎn)云集合;對(duì)于所述全輪廓-軸骨架器官,首先將該骨架分成左右兩個(gè)部分, 每個(gè)部分都用兩根所述B樣條曲線圍成 一個(gè)封閉的多邊形,對(duì)于每個(gè)封閉的多邊形,首先按最小劃分長度M對(duì)所述B樣條曲線進(jìn)行等分預(yù)分割,然后再根據(jù)段間最大夾角對(duì)分割后的線段進(jìn)行檢測,對(duì)左右 兩個(gè)封閉的多邊形進(jìn)行檢測后,保留下來的分割點(diǎn)點(diǎn)集即為所述全輪 廓-軸骨架器官的器官幾何曲面的點(diǎn)云集合。
8、 如權(quán)利要求7所述的三維植物器官幾何曲面自適應(yīng)網(wǎng)格化方 法,其特征在于,所述"根據(jù)段間最大夾角對(duì)分割后的線段進(jìn)行檢測" 的步驟具體為根據(jù)最小劃分長度M,將所述B樣條曲線分成為指定長度的等 分線段,記錄每個(gè)分割點(diǎn)的坐標(biāo),然后從所述B樣條曲線的一個(gè)端點(diǎn) 開始,根據(jù)段間最大夾角對(duì)相鄰的兩個(gè)線段進(jìn)行檢測若第一、二條 線段的夾角大于段間最大夾角,則將這兩條線段中間的那個(gè)分割點(diǎn)坐 標(biāo)刪除,即將該分割點(diǎn)左右的兩條線段合并,合并后的線段與下一條 線段再進(jìn)行檢測;若第一、二條線段的夾角小于或等于段間最大夾角, 則將檢測的線段下移一位,即檢測第二、第三條線段;如此循環(huán),直 到檢測完所有所述分割點(diǎn)分割得到的線段,保留下來的分割點(diǎn)用來生 成構(gòu)成這類器官的器官幾何曲面的點(diǎn)云集合。
9、 如權(quán)利要求7所述的三維植物器官幾何曲面自適應(yīng)網(wǎng)格化方 法,其特征在于,所述網(wǎng)格化步驟具體為對(duì)于所述軸骨架器官和半輪廓-軸骨架器官,對(duì)相鄰兩個(gè)分割點(diǎn) 計(jì)算得到的兩組空間點(diǎn)進(jìn)行網(wǎng)格連接,形成器官外形輪廓的三角形網(wǎng)對(duì)于全輪廓-軸骨架器官,釆用Ddaunay三角化算法實(shí)現(xiàn)三維空 間中不規(guī)則多邊形的三角化。
10、 如權(quán)利要求9所述的三維植物器官幾何曲面自適應(yīng)網(wǎng)格化方 法,其特征在于,所述"釆用Ddaunay三角化算法實(shí)現(xiàn)三維空間中 不規(guī)則多邊形的三角化"的步驟具體為在三角化的過程中,對(duì)于所 述全輪廓-軸骨架器官的左右兩個(gè)部分,從每個(gè)部分計(jì)算得到的點(diǎn)云 集合組成了一個(gè)閉合的多邊形,對(duì)該多邊形進(jìn)行Ddaunay三角化即 可生成該部分曲面的多邊形模型。
11、 一種三維植物器官幾何曲面自適應(yīng)網(wǎng)格化系統(tǒng),其包括 骨架表示模塊,用于按照植物器官的外形特征對(duì)所述植物器官進(jìn)行分類,并建立各個(gè)植物器官的骨架模型;參數(shù)定義模塊,用于針對(duì)不同的植物器官類型,設(shè)置對(duì)器官幾何 曲面進(jìn)行網(wǎng)格化時(shí)需要用到的參數(shù);以及器官幾何曲面自適應(yīng)網(wǎng)格化模塊,用于針對(duì)不同的植物器官類 型,根據(jù)所設(shè)置的參數(shù),對(duì)所述器官幾何曲面進(jìn)行自適應(yīng)網(wǎng)格化。
12、 如權(quán)利要求11所述的三維植物器官幾何曲面自適應(yīng)網(wǎng)格化 系統(tǒng),其特征在于,所述器官幾何曲面自適應(yīng)網(wǎng)格化模塊包括點(diǎn)集生 成模塊和網(wǎng)格化模塊,所述點(diǎn)集生成模塊用于根據(jù)所述參數(shù)定義模塊設(shè)置的參數(shù)計(jì)算得到構(gòu)成所述器官幾何曲面的點(diǎn)云集合;所述網(wǎng)格化模塊用于從生成的點(diǎn)云集合中構(gòu)建出所述器官幾何曲面的多邊形模 型。
全文摘要
本發(fā)明公開了一種三維植物器官幾何曲面自適應(yīng)網(wǎng)格化方法及系統(tǒng)。該方法包括步驟按植物器官的外形特征對(duì)植物器官進(jìn)行分類,并建立各植物器官的骨架模型;針對(duì)不同的植物器官類型,設(shè)置對(duì)器官幾何曲面進(jìn)行網(wǎng)格化時(shí)需用到的參數(shù);針對(duì)不同的植物器官類型,對(duì)器官幾何曲面進(jìn)行自適應(yīng)網(wǎng)格化。本發(fā)明的方法能按照不同的應(yīng)用需求,選擇生成不同網(wǎng)格規(guī)模、不同分辨率的植物幾何網(wǎng)格曲面,以滿足大規(guī)模植物生長可視化模擬、植物冠層光分布計(jì)算、三維植物場景實(shí)時(shí)繪制等應(yīng)用。
文檔編號(hào)G06T17/00GK101650836SQ200910092530
公開日2010年2月17日 申請(qǐng)日期2009年9月10日 優(yōu)先權(quán)日2009年9月10日
發(fā)明者溫維亮, 肖伯祥, 趙春江, 郭新宇, 陸聲鏈 申請(qǐng)人:北京農(nóng)業(yè)信息技術(shù)研究中心