三維模型繪制系統(tǒng)及其繪制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于繪圖領(lǐng)域,尤其涉及一種三維模型繪制系統(tǒng)及其繪制方法。
【背景技術(shù)】
[0002]繪制三維圖形通常只有借助計算機(jī)中的三維繪圖軟件來完成。
[0003]近年來,隨著三維繪圖技術(shù)的蓬勃發(fā)展,各種三維繪圖工具如3DsMax,AutoCAD等也不斷推陳出新,功能越來越強(qiáng)大。但是,我們發(fā)現(xiàn),無論功能多么強(qiáng)大的工具,用戶始終只是使用鼠標(biāo)配合鍵盤的方式來進(jìn)行三維模型的繪制,缺乏更為直觀的繪制方式,而且十分復(fù)雜,對于空間感不強(qiáng)的人來說,繪制三維立體圖無疑是最令人頭疼的。
【發(fā)明內(nèi)容】
[0004]基于此,針對上述技術(shù)問題,提供一種三維模型繪制系統(tǒng)及其繪制方法。
[0005]為解決上述技術(shù)問題,本發(fā)明采用如下技術(shù)方案:
[0006]一種三維模型繪制系統(tǒng),其特征在于,包括傳感手套、磁力跟蹤裝置、光學(xué)透視顯示器頭盔以及數(shù)據(jù)處理裝置,所述傳感手套的五個手指部均設(shè)有彎曲度傳感器,所述磁力跟蹤裝置包括磁力傳感器以及磁力發(fā)射源,所述磁力傳感器設(shè)于所述傳感手套上,所述彎曲度傳感器、磁力傳感器、磁力發(fā)射源以及光學(xué)透視顯示器頭盔均與所述數(shù)據(jù)處理裝置連接。
[0007]所述光學(xué)透視顯示器頭盔顯示三維虛擬空間,所述數(shù)據(jù)處理裝置采集來自彎曲度傳感器的用戶手勢數(shù)據(jù)以及來自磁力傳感器的用戶手部空間位置數(shù)據(jù),根據(jù)所述用戶手勢數(shù)據(jù)識別出相應(yīng)的繪制指令,并在所述三維虛擬空間中根據(jù)所述用戶手部空間位置數(shù)據(jù)完成上述繪制指令。
[0008]所述數(shù)據(jù)處理裝置為計算機(jī)。
[0009]所述數(shù)據(jù)處理裝置內(nèi)具有:
[0010]數(shù)據(jù)采集模塊,用于采集來自彎曲度傳感器的用戶手勢數(shù)據(jù)以及來自磁力傳感器的用戶手部空間位置數(shù)據(jù);
[0011]數(shù)據(jù)處理模塊,用于根據(jù)所述用戶手勢數(shù)據(jù)識別出相應(yīng)的繪制指令;
[0012]顯示模塊,用于在所述光學(xué)透視顯示器頭盔中顯示三維虛擬空間,且在該三維虛擬空間中根據(jù)所述用戶手部空間位置數(shù)據(jù)完成上述繪制指令。
[0013]所述繪制指令包括分別對應(yīng)一種手勢的繪制開始指令、繪制結(jié)束指令。
[0014]本方案還涉及一種三維模型繪制方法,其特征在于,包括以下步驟:
[0015]通過所述光學(xué)透視顯示器頭盔顯示三維虛擬空間;
[0016]通過磁力傳感器實時采集用戶的手部空間位置數(shù)據(jù),通過彎曲度傳感器實時采集用戶的手勢數(shù)據(jù);
[0017]在所述三維虛擬空間中實時可視化顯示用戶的當(dāng)前手部空間位置;
[0018]繪制多條直線,構(gòu)成三維模型:每條直線的繪制均根據(jù)當(dāng)前手勢數(shù)據(jù),識別相應(yīng)的繪制指令,將對應(yīng)繪制開始指令的當(dāng)前手部空間位置數(shù)據(jù)以及對應(yīng)繪制結(jié)束指令的當(dāng)前手部空間位置數(shù)據(jù)作為直線的兩端點數(shù)據(jù),根據(jù)該兩端點數(shù)據(jù)在所述三維虛擬空間中顯示直線.
[0019]端點吸附處理:根據(jù)手部空間位置數(shù)據(jù),若用戶當(dāng)前手部空間位置在一已存在直線端點的預(yù)設(shè)范圍內(nèi),則將當(dāng)前手部空間位置重合至上述已存在直線端點的位置。
[0020]所述在所述三維虛擬空間中實時可視化顯示用戶的當(dāng)前手部空間位置步驟為通過一綠色的立方體來顯示用戶的當(dāng)前手部空間位置,若當(dāng)前手部空間位置重合至已存在直線端點的位置,則所述立方體變成紅色。
[0021]所述用戶當(dāng)前手部空間位置坐標(biāo)為B (X,y, z),所述已存在直線端點的位置坐標(biāo)為P(x’,y’,z’),所述預(yù)設(shè)范圍為以P為中心且邊長為η的立方體,當(dāng)滿足χ’ -1〈χ〈χ’ +1、y’ _l〈y〈y,+1 以及 z’ _l〈z〈z’ +1 時,B 和 P 重合,即 B=B (x’,y’,z’),其中 I3。
[0022]所述預(yù)設(shè)范圍為以P為中心且邊長為2的立方體。
[0023]本發(fā)明結(jié)構(gòu)簡單、操作方便,用戶使用靈活的雙手就可直接在三維虛擬空間中繪制出自己想要創(chuàng)作的模型,相較現(xiàn)有方法更高效、更方便,突破了只能在二維平面上創(chuàng)作三維模型的限制,使得使用者可以更為直觀地在空間中繪制圖形。
【附圖說明】
[0024]下面結(jié)合附圖和【具體實施方式】本發(fā)明進(jìn)行詳細(xì)說明:
[0025]圖1為本發(fā)明的結(jié)構(gòu)示意圖;
[0026]圖2為本發(fā)明的傳感手套的結(jié)構(gòu)示意圖。
【具體實施方式】
[0027]如圖1以及圖2所示,一種三維模型繪制系統(tǒng),包括傳感手套110、磁力跟蹤裝置120、光學(xué)透視顯示器頭盔130以及數(shù)據(jù)處理裝置140。
[0028]傳感手套110的五個手指部均設(shè)有彎曲度傳感器111,手指彎曲時,傳感器電阻將變小,通過五根手指上不同傳感器的彎曲度讀數(shù)及其組合,我們就可以識別出用戶當(dāng)前的手勢。
[0029]磁力跟蹤裝置120包括磁力傳感器121以及磁力發(fā)射源122,磁力傳感器121設(shè)于傳感手套110上,傳感手套110在移動時,會使磁力傳感器121與磁力發(fā)射源122的距離發(fā)生變化,從而產(chǎn)生磁力強(qiáng)度的變化,根據(jù)該變化可以比較精確地定位繪圖所用的手在空間中的坐標(biāo),從而在繪圖的過程中能比較準(zhǔn)確地記錄圖形的位置信息。
[0030]彎曲度傳感器111、磁力傳感器121、磁力發(fā)射源122以及光學(xué)透視顯示器頭盔130均與數(shù)據(jù)處理裝置140連接。
[0031]光學(xué)透視顯示器頭盔130顯示三維虛擬空間,數(shù)據(jù)處理裝置140采集來自彎曲度傳感器111的用戶手勢數(shù)據(jù)以及來自磁力傳感器122的用戶手部空間位置數(shù)據(jù),根據(jù)用戶手勢數(shù)據(jù)識別出相應(yīng)的繪制指令,并在三維虛擬空間中根據(jù)用戶手部空間位置數(shù)據(jù)完成上述繪制指令,用戶使用靈活的雙手就可直接在三維虛擬空間中繪制出自己想要創(chuàng)作的模型,并可將此模型顯示在計算機(jī)中。
[0032]具體地,數(shù)據(jù)處理裝置140可以為計算機(jī),其內(nèi)具有:
[0033]數(shù)據(jù)采集模塊141,用于采集來自彎曲度傳感器111的用戶手勢數(shù)據(jù)以及來自磁力傳感器122的用戶手部空間位置數(shù)據(jù);
[0034]數(shù)據(jù)處理模塊142,用于根據(jù)用戶手勢數(shù)據(jù)識別出相應(yīng)的繪制指令。
[0035]顯示模塊143,用于在光學(xué)透視顯示器頭盔130中顯示三維虛擬空間,且在該三維虛擬空間中根據(jù)用戶手部空間位置數(shù)據(jù)完成上述繪制指令。
[0036]顯示模塊143使用OpenGL技術(shù)顯示三維虛擬空間,且在該三維虛擬空間中根據(jù)用戶手部空間位置數(shù)據(jù)完成上述繪制指令。
[0037]其中,繪制指令包括分別對應(yīng)一種手勢的繪制開始指令、繪制結(jié)束指令,當(dāng)然,還可以設(shè)置其他的繪制指令,如編輯指令、同步移動指令以及修改指令等,只需分別對應(yīng)一種手勢以便能唯一識別即可。
[0038]如圖1以及圖2所示,本發(fā)明還涉及一種三維模型繪制方法,包括以下步驟:
[0039]一、用戶戴上光學(xué)透視顯示器頭盔130后,通過光學(xué)透視顯示器頭盔130顯示三維虛擬空間。
[0040]二、通過磁力傳感器121實時采集用戶的手部空間位置數(shù)據(jù),通過彎曲度傳感器111實時采集用戶的手勢數(shù)據(jù)。
[0041]三、“畫筆”筆尖輔助提示:在三維虛擬空間中實時可視化顯示用戶的當(dāng)前手部空間位置,當(dāng)前手部空間位置即為“畫筆”筆尖的位置。
[0042]一個好的三維繪圖工具,在用戶繪圖的過程中必然會給出相應(yīng)的輔助提示信息,以幫助用戶更好地繪制圖形,在本發(fā)明中,通過可視化的立體圖形來表示當(dāng)前手部空間位置,從而明確當(dāng)前“畫筆”筆尖的位置,會給繪圖過程帶來了便利。
[0043]具體地,可通過一綠色的立方體來顯示用戶的當(dāng)前手部空間位置。
[0044]當(dāng)用戶開啟繪圖功能后,我們會將用戶當(dāng)前手部位置,也就是畫筆筆尖所在位置用一個綠色小立方體顯示出來,這樣用戶就知道自己將在什么位置進(jìn)行繪圖。
[0045]四、繪制多條直線,構(gòu)成三維模型:每條直線的繪制均根據(jù)當(dāng)前手勢數(shù)據(jù),識別相應(yīng)的繪制指令,將對應(yīng)繪制開始指令的當(dāng)前手部空間位置數(shù)據(jù)以及對應(yīng)繪制結(jié)束指令的當(dāng)前手部空間位置數(shù)據(jù)作為直線的兩端點數(shù)據(jù),根據(jù)該兩端點數(shù)據(jù)在所述三維虛擬空間中顯示直線,多條直線可構(gòu)成三維模型。
[0046]通過觀察常用三維繪圖工具,我們發(fā)現(xiàn),任何復(fù)雜的三維物體模型都可以分解成為相對簡單的基本圖元,如點、直線段、面等,我們要進(jìn)行三維繪圖,首先就要確定構(gòu)成三維物體的基本圖元。在多種圖元中,我們發(fā)現(xiàn)直線段所能代表的三維圖形最為豐富,且表述相對簡單,因此,我們選用直線段作為構(gòu)成三維模型的基本圖元,由若干條直線段來組成相對更為復(fù)雜的模型,如立方體、三棱錐等。