專利名稱:一種基于骨架草圖繪制的三維建模方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖形學(xué)領(lǐng)域,特別涉及到一種基于骨架草圖繪制的三
維(3D)建模方法。
背景技術(shù):
自由形態(tài)建模是是三維建模系統(tǒng)中的重要組成部分,這種建模方 式無論從使用人群、設(shè)計要求,到應(yīng)用領(lǐng)域,都有著與其它的三維草 圖技術(shù)明顯不同之處。自由形態(tài)模型的使用者不是專業(yè)設(shè)計師,而是 所有對此感興趣的用戶,甚至是低齡的小孩,這就需要自由形態(tài)建模 系統(tǒng)從設(shè)計上更加容易上手,沒過于繁瑣的提示過程和控件按鈕。而 由于自由形態(tài)建模系統(tǒng)的簡易性和曲線的隨意性,其應(yīng)用領(lǐng)域主要在 玩具設(shè)計巿場和簡筆畫繪圖軟件方面。
1999年,日本東京大學(xué)的TakeoIgarashi第一次設(shè)計出了基于草繪 的三維自由形態(tài)設(shè)計系統(tǒng)一一Teddy,這種交互系統(tǒng)放棄了其它三維 建模系統(tǒng)"精確制圖"的思想,允許用戶繪制的自由曲線,并采用了 一種曲面膨脹算法,將用戶輸入的草繪輪廓線進(jìn)行膨脹處理,然后通 過切割、光順等手勢操作對模型進(jìn)行編輯修改,使之逐步達(dá)到設(shè)計者 的初始意圖。從此,基于自由曲線的輪廓建模已經(jīng)被越來越多的學(xué)者 所重視,也成為了如今圖形學(xué)領(lǐng)域中一個熱點(diǎn)研究方向。當(dāng)前自由形 態(tài)設(shè)計方法的草圖設(shè)計都是待生成模型的輪廓曲線,而勾勒輪廓的過 程本身不僅難于控制,也容易增加用戶的負(fù)擔(dān)。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種在繪制線條的時候更簡單方便,生成的 模型更加規(guī)則、光滑的基于骨架草圖的3D建模方法。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案提供一種基于骨架草圖繪制
4的三維建模方法,所述方法包括以下步驟
Sl,繪制一條基礎(chǔ)曲線,即為主骨架線,作為將來生成網(wǎng)格模型
的基礎(chǔ)路徑;
S2,在所述主骨架線的基礎(chǔ)上,根據(jù)想要生成模型的形狀,沿著該主骨架線的方向,垂直地繪制一條或多條支撐線,用于控制網(wǎng)格模型的膨脹細(xì)節(jié);
S3,根據(jù)想要生成模型的形狀,繪制封閉的截曲線;
S4,根據(jù)所述主骨架線、支撐線和截曲線創(chuàng)建三維模型。
其中,在步驟S4之后還包括
S5,根據(jù)想要生成模型的形狀對步驟S4創(chuàng)建的三維模型進(jìn)行修改。
其中,在步驟S5之后還包括
S6,重復(fù)步驟S1 S5的搡作,得封一系列三維模型,并進(jìn)行組合,融合或粘貼。
其中,步驟S4中,利用掃描曲面的方法創(chuàng)建三維模型。其中,創(chuàng)建三維模型具體包括以下步驟
對主骨架線進(jìn)行映射處理,沿著曲線方向,以曲線的長度為變量,將二維的主骨架曲線映射到新二維坐標(biāo)系的x軸上,再將每一條支撐線映射到新二維坐標(biāo)系的一個點(diǎn)中,該點(diǎn)的x坐標(biāo)為二維骨架曲線對應(yīng)的x值,y坐標(biāo)為支撐線長度;
以所有支撐線映射的坐標(biāo)為節(jié)點(diǎn),釆用樣條插值的方法算出主骨架線上每一點(diǎn)的支撐長度;
按照一定的步長,沿著主骨架線的方向,根據(jù)之前算出的每一節(jié)點(diǎn)的支撐長度,以所述截曲線為膨脹形狀進(jìn)行網(wǎng)格膨脹。
上述技術(shù)方案具有如下優(yōu)點(diǎn)本發(fā)明在繪制線條的時候更簡單方便,生成的模型更加規(guī)則、光滑。
圖1是本發(fā)明實施例的一種一種基于骨架草圖繪制的3D建模方
法的流程示意圖2是本發(fā)明實施例的一種基于骨架草圖繪制的3D建模方法流程示意圖3是本發(fā)明實施例的另一種基于骨架草圖繪制的3D建模方法流程示意圖。
具體實施例方式
下面結(jié)合附圖和實施例,對本發(fā)明的具體實施方式
作進(jìn)一步詳細(xì)描述。以下實施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。
結(jié)合 圖l,本實施例的基于骨架草圖繪制的3D建模方法包含如下步驟
a、 主骨架線的繪制用戶繪制一條基礎(chǔ)曲線,即為主骨架線,作為將來生成網(wǎng)格模型的基礎(chǔ)路徑。
b、 支撐線的繪制在a中主骨架線的基礎(chǔ)上,用戶根據(jù)想要生成模型的形狀,沿著該主骨架線的方向,垂直地繪制支撐線,對于每條主骨架線,用戶可以繪制多條支撐線控制網(wǎng)格模型的膨脹細(xì)節(jié)。
c、 截曲線的繪制用戶可以選擇特定的曲線形狀,例如橢圓等,或者手工繪制曲線,該曲線即為將生成網(wǎng)格模型的截曲線形狀,截曲線為封閉曲線。
d、 模型建立根據(jù)用戶在a繪制的主骨架線、b繪制的支撐線,以及c繪制的截曲面形狀創(chuàng)建三維模型。創(chuàng)建出的模型具有良好的光滑性,在這個部分中,a中繪制的主骨架線和b中繪制的支撐線構(gòu)成了待生成模型的側(cè)面輪廓,而c中繪制的截曲面形狀構(gòu)成了待生成模型的截面輪廓,方法釆用sweep surface (掃描曲面)的方法,沿著主骨架線的方向膨脹出網(wǎng)格模型。
e、 模型修改用戶可以利用兩種方式修改模型, 一種是傳統(tǒng)的操作方法,例如剪切。另一種是調(diào)整主骨架線的形狀修改模型。f、融合與粘貼用戶可以重復(fù)a e的操作,得到一系列網(wǎng)格模型單元,這些單元可以被任意組合,融合或粘貼。
概括地說,為了解決上述技術(shù)問題,本發(fā)明首先允許用戶輸入三類信息,即a中描述的主骨架線,b中描述的支撐線以及c中描述的截曲面。主骨架線與支撐線是生成模型側(cè)面輪廓的主要依據(jù),而截曲面形狀是生成模型截面輪廓的主要依據(jù)。在模型建立過程中,方法首先對主骨架線進(jìn)行映射處理,沿著曲線方向,以曲線的長度為變量,將二維的主骨架曲線映射到新二維坐標(biāo)系的x軸上,新二維坐標(biāo)系是把曲線拉成直線當(dāng)作坐標(biāo)軸x,坐標(biāo)x值表示的是某點(diǎn)到端點(diǎn)的曲線長度。y坐標(biāo)就是按照該點(diǎn)的截曲面長度來確定。再將每一條支撐線映射到新二維坐標(biāo)系的一個點(diǎn)中,該點(diǎn)的x坐標(biāo)為二維骨架曲線對應(yīng)的x值,y坐標(biāo)為支撐線長度。接著以所有支撐線映射的坐標(biāo)為節(jié)點(diǎn),采用樣條插值的方法算出主骨架線上每一點(diǎn)的支撐長度。最后,按照一定的步長,沿著主骨架線的方向,根據(jù)之前算出的每一節(jié)點(diǎn)的支撐長度,進(jìn)行網(wǎng)格膨脹,膨脹形狀為c中輸入的截曲面。實驗結(jié)果表明本方法可以方便快捷的進(jìn)行三維模型創(chuàng)建工作,生成的模型具有很好的光滑性和規(guī)則性。
下面以具體實例進(jìn)行詳細(xì)說明。
參照圖2,表示基于骨架草圖繪制的3D建模方法流程步驟a e的例子,圖中表示的步驟為
a、 主骨架線的繪制如圖2的步驟1,用戶想要生成飾品的模型,需要先根據(jù)飾品的形狀,繪制一條基礎(chǔ)曲線,即為主骨架線,作為將來生成網(wǎng)格模型的基礎(chǔ)路徑。如圖所示這條主骨架線與飾品的大體形態(tài)相一致。
b、 支撐線的繪制在a中主骨架線的基礎(chǔ)上,用戶根據(jù)想要生成模型的形狀,沿著該主骨架線的方向,垂直地繪制支撐線,對于每條主骨架線,用戶可以繪制多條支撐線控制網(wǎng)格模型的膨脹細(xì)節(jié),參考
7圖2的步驟2,用戶根據(jù)將要生成飾品模型的形狀,在垂直主骨架線的方向畫出幾條支撐線,對比最終的結(jié)果我們可以看到,支撐線所在的位置是飾品模型寬度變化的極值點(diǎn),而支撐線的長度為該點(diǎn)飾品模型的寬度。
c、 截曲線的繪制用戶可以選擇特定的曲線形狀,例如橢圓等,或者手工繪制曲線,該曲線即為將生成網(wǎng)格模型的截曲線形狀,截曲線為封閉曲線。參考圖2的步驟3,飾品的模型選定為橢圓形,用戶調(diào)整橢圓長寬比,控制橢圓的比率。
d、 模型建立'.根據(jù)用戶在a繪制的主骨架線、b繪制的支撐線,以及c繪制的截曲面形狀創(chuàng)建三維模型。創(chuàng)建出的模型具有良好的光滑性,在這個部分中,a中繪制的主骨架線和b中繪制的支撐線構(gòu)成了待生成模型的側(cè)面輪廓,而c中繪制的截曲面形狀構(gòu)成了待生成模型的截面輪廓,方法釆用sweep surface的方法,沿著主骨架線的方向膨脹出網(wǎng)格模型,如圖2的步驟4,生成的模型都是根據(jù)用戶輸入的主骨架線、支撐線和截曲面形狀,在模型建立過程中,方法首先對主骨架線進(jìn)行映射處理,沿著曲線方向,以曲線的長度為變量,將二維的主骨架曲線映射到新二維坐標(biāo)系的x軸上,再將每一條支撐線映射到新二維坐標(biāo)系的一個點(diǎn)中,該點(diǎn)的x坐標(biāo)為二維骨架曲線對應(yīng)的x值,y坐標(biāo)為支撐線長度。方法接著以所有支撐線映射的坐標(biāo)為節(jié)點(diǎn),采用樣條插值的方法算出主骨架線上每一點(diǎn)的支撐長度。最后,方法按照一定的步長,沿著主骨架線的方向,根據(jù)之前算出的每一節(jié)點(diǎn)的支撐長度,進(jìn)行網(wǎng)格膨脹,膨脹形狀為c中輸入的截曲面。
e、 模型修改用戶可以利用兩種方式修改模型, 一種是傳統(tǒng)的操作方法,例如剪切。另一種是調(diào)整主骨架線的形狀修改模型,如圖2的步驟5所示,這種方法修改了主骨架線的走勢,由此改變了生成三維模型的形狀。
參照圖3,表示基于骨架草圖繪制的3D建模方法流程步驟f的例子。在融合與粘貼部分,用戶可以重復(fù)a e的操作,得到一系列網(wǎng)格模型單元,這些單元可以被任意組合,融合或粘貼,正如圖3所示,在已有的空瓶的基礎(chǔ)上,用戶想要設(shè)計一個瓶蓋,只需在原有瓶子的基礎(chǔ)上,按照上述a e的方法設(shè)計,獨(dú)立生成一個瓶蓋,最后將這兩部分進(jìn)行簡單的組合操作即可。
從自由形態(tài)設(shè)計方法的內(nèi)容和設(shè)計過程來看,二維骨骼能夠很好的刻畫模型的輪廓信息,獨(dú)立的作為交互的輸入后,充分的利用骨骼信息,就可以獲得與輪廓草圖類似或更好的結(jié)果。本方法用骨骼繪制替代輪廓線繪制,不僅極大地降低了用戶交互的復(fù)雜性,生成的模型也更具光滑性。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明技術(shù)原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1、一種基于骨架草圖繪制的三維建模方法,其特征在于,所述方法包括以下步驟S1,繪制一條基礎(chǔ)曲線,即為主骨架線,作為將來生成網(wǎng)格模型的基礎(chǔ)路徑;S2,在所述主骨架線的基礎(chǔ)上,根據(jù)想要生成模型的形狀,沿著該主骨架線的方向,垂直地繪制一條或多條支撐線,用于控制網(wǎng)格模型的膨脹細(xì)節(jié);S3,根據(jù)想要生成模型的形狀,繪制封閉的截曲線;S4,根據(jù)所述主骨架線、支撐線和截曲線創(chuàng)建三維模型。
2、 如權(quán)利要求1所述的基于骨架草圖繪制的三維建模方法,其 特征在于,在步驟S4之后還包括S5,根據(jù)想要生成模型的形狀對步驟S4創(chuàng)建的三維模型進(jìn)行修改。
3、 如權(quán)利要求2所述的基于骨架草圖繪制的三維建模方法,其 特征在于,在步驟S5之后還包括S6,重復(fù)步驟S1 S5的操作,得到一系列三維模型,并進(jìn)行組 合,融合或粘貼。
4、 如權(quán)利要求1所述的基于骨架草圖繪制的三維建模方法,其 特征在于,步驟S4中,利用掃描曲面的方法創(chuàng)建三維模型。
5、 如權(quán)利要求5所述的基于骨架草圖繪制的三維建模方法,其 特征在于,創(chuàng)建三維模型具體包括以下步驟對主骨架線進(jìn)行映射處理,沿著曲線方向,以曲線的長度為變量, 將二維的主骨架曲線映射到新二維坐標(biāo)系的x軸上,再將每一條支撐 線映射到新二維坐標(biāo)系的一個點(diǎn)中,該點(diǎn)的x坐標(biāo)為二維骨架曲線對 應(yīng)的x值,y坐標(biāo)為支撐線長度;以所有支撐線映射的坐標(biāo)為節(jié)點(diǎn),采用樣條插值的方法算出主骨架線上每一點(diǎn)的支撐長度;按照一定的步長,沿著主骨架線的方向,根據(jù)之前算出的每一節(jié) 點(diǎn)的支撐長度,以所述截曲線為膨脹形狀進(jìn)行網(wǎng)格膨脹。
全文摘要
本發(fā)明公開了一種基于骨架草圖繪制的三維建模方法,所述方法包括以下步驟S1,繪制一條基礎(chǔ)曲線,即為主骨架線,作為將來生成網(wǎng)格模型的基礎(chǔ)路徑;S2,在所述主骨架線的基礎(chǔ)上,根據(jù)想要生成模型的形狀,沿著該主骨架線的方向,垂直地繪制一條或多條支撐線,用于控制網(wǎng)格模型的膨脹細(xì)節(jié);S3,根據(jù)想要生成模型的形狀,繪制封閉的截曲線;S4,根據(jù)所述主骨架線、支撐線和截曲線創(chuàng)建三維模型。本發(fā)明在繪制線條的時候更簡單方便,生成的模型更加規(guī)則、光滑。
文檔編號G06T17/00GK101493954SQ20091007857
公開日2009年7月29日 申請日期2009年2月26日 優(yōu)先權(quán)日2009年2月26日
發(fā)明者鵬 欒, 胡事民 申請人:清華大學(xué)