專利名稱:一種基于旋轉(zhuǎn)三視圖的三維模型信息獲取方法
技術(shù)領(lǐng)域:
本發(fā)明涉及三維模型領(lǐng)域,尤其涉及一種基于旋轉(zhuǎn)三視圖的三維模型信息獲取方法。
背景技術(shù):
隨著社會(huì)信息化的快速發(fā)展,計(jì)算機(jī)硬件技術(shù)的提高,人們追求越來越逼真現(xiàn)實(shí)的視覺體驗(yàn)。無論是三維動(dòng)畫,三維游戲,三維影視,三維技術(shù)都能夠帶給人耳目一新的感覺。由于三維的準(zhǔn)確性、真實(shí)性和無限的可操作性,也被廣泛應(yīng)用于醫(yī)學(xué)、教育、軍事、娛樂等諸多領(lǐng)域。圖形編輯是糾正數(shù)據(jù)采集錯(cuò)誤的重要手段,其基本功能要求是:具有友好的人機(jī)界面,即操作靈活、易于理解、響應(yīng)迅速等;具有對(duì)幾何數(shù)據(jù)和屬性編碼的修改功能;具有分層顯示和窗口功能,便于用戶的使用。圖形編輯的關(guān)鍵是點(diǎn)、線、面的捕捉,即如何根據(jù)光標(biāo)的位置找到需要編輯的要素以及圖形編輯的數(shù)據(jù)組織。三維圖形只是在平面二維系中加入了一個(gè)方向向量,確大大增加了其編輯的復(fù)雜度。為了簡化三維圖形編輯的復(fù)雜性,會(huì)借助二維圖形的一些方法來進(jìn)行對(duì)三維圖形的編輯。編輯三維圖形的三視圖就是其中一種方式。三視圖是觀測(cè)者從三個(gè)不同位置觀察同一個(gè)三維圖形而畫出的二維圖形。將人的視線規(guī)定為平行投影線,然后正對(duì)著物體看過去,將所見物體的輪廓用正投影法繪制出來該圖形稱為視圖。從物體的前面向后面投射所得的視圖稱主視圖(正視圖),能反映物體的前面形狀;從物體的上面向下面投射所得的視圖稱俯視圖,能反映物體的上面形狀;從物體的左面向右面投射所得的視圖稱左視圖(側(cè)視圖),能反映物體的左面形狀。三視圖就是王視圖(正視圖)、俯視圖、左視圖(側(cè)視圖)的總稱。一個(gè)視圖只能反映物體的一個(gè)方位的形狀,不能完整反映物體的結(jié)構(gòu)形狀。三視圖是從三個(gè)不同方向?qū)ν粋€(gè)物體進(jìn)行投射的結(jié)果。所以如果三視圖能夠更加確切的反應(yīng)物體整體結(jié)構(gòu)形狀,對(duì)三維模型的編輯起到重要的意義。現(xiàn)有技術(shù)的通用方法,就是將所見物體的輪廓用正投影法繪制出來。目前應(yīng)用比較廣泛的是用AutoCAD生成三維模型的三視圖?;蛘哂稍O(shè)計(jì)者自己繪制出三維模型的三視圖。手工繪制三視圖的方法是先根據(jù)實(shí)體形狀想象出三視圖然后再繪制出三視形。然而,即使是用AutoCAD自動(dòng)生成三視圖,也需要很多的操作步驟,需要一定的專業(yè)人員才能實(shí)現(xiàn)。若是手工繪制三視圖,其方法是先根據(jù)實(shí)體形狀想象出三視圖然后再繪制出三視形,這往往很容易出現(xiàn)多線或漏線的錯(cuò)誤。而且,機(jī)械領(lǐng)域的三維模型由于形狀規(guī)則,線條簡單,容易構(gòu)造三視圖。針對(duì)不規(guī)則的復(fù)雜模型,如人體模型,動(dòng)植物模型則很難構(gòu)造出三視圖。而且,構(gòu)造出的三視圖其圖形線條交錯(cuò)復(fù)雜,若非專業(yè)人員無法很好得獲得三視圖所提供的圖形信息。并且不管是繪畫的三視圖還是計(jì)算機(jī)生成的三視圖。其三視圖都是固定不變的。無法動(dòng)態(tài)顯示模型其他任意角度的視圖信息。如果模型局部有遮擋,比如老虎的一條后腿有畸形,如圖1a-1c所示,那么在俯視圖上看不四條腿的信息;在側(cè)視圖,殘疾的腿剛好被另一條后腿遮擋無法觀察;同樣,在主視圖,被其同側(cè)的前腿遮擋也無法觀察到。這樣,不管是俯視圖,側(cè)視圖還是主視圖都無法觀察到我們所要觀察到老虎畸形腿的信息。這對(duì)模型的編輯無疑是致命的。因此,有必要提供一種基于旋轉(zhuǎn)三視圖的三維模型信息獲取方法來解決現(xiàn)有技術(shù)的缺陷。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于旋轉(zhuǎn)三視圖的三維模型信息獲取方法,提出產(chǎn)生實(shí)時(shí)旋轉(zhuǎn)的三視圖,以提供三維模型更多更簡便更直觀的圖形信息。因此,本發(fā)明提供了一種基于旋轉(zhuǎn)三視圖的三維模型信息獲取方法,包括以下步驟:步驟1:導(dǎo)入三維網(wǎng)格模型;步驟2:利用Opengl獲得三維網(wǎng)格模型的變換矩陣;步驟3:根據(jù)獲得的變換矩陣以及三視圖對(duì)應(yīng)的旋轉(zhuǎn)矩陣,對(duì)三維網(wǎng)格模型進(jìn)行矩陣變換運(yùn)算,得出新的三維模型網(wǎng)格點(diǎn)的三維坐標(biāo);步驟4:將新得到三維模型網(wǎng)格點(diǎn)的世界坐標(biāo)轉(zhuǎn)變?yōu)槠聊蛔鴺?biāo);步驟5:根據(jù)得到的屏幕坐標(biāo),用畫筆按原來三維網(wǎng)格點(diǎn)的拓?fù)浣Y(jié)構(gòu)畫出網(wǎng)格面;步驟6:用鼠標(biāo)旋轉(zhuǎn)三維模型,得到旋轉(zhuǎn)后的三視圖;步驟7:對(duì)三視圖做后續(xù)圖像編輯操作。較佳地,所述步驟4進(jìn)一步包括:按照得到新的三維模型網(wǎng)格點(diǎn)坐標(biāo),利用現(xiàn)有的輪廓線抽取技術(shù),獲得各個(gè)視圖的三維模型的輪廓點(diǎn),所述步驟5根據(jù)得到的輪廓點(diǎn)三維坐標(biāo),轉(zhuǎn)化為對(duì)應(yīng)視圖的屏幕坐標(biāo)。其中,所述側(cè)視圖為左視圖或右視圖。本發(fā)明方案能夠?qū)崟r(shí)自動(dòng)得生成三維模型的三視圖,與現(xiàn)有技術(shù)相比,針對(duì)模型的三視圖是固定不變的局限性,提出產(chǎn)生實(shí)時(shí)旋轉(zhuǎn)的三視圖,可以實(shí)現(xiàn)任意角度觀測(cè)三維模型的三視圖,體現(xiàn)更多更簡便更直觀的模型信息。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其它的附圖。圖1a是傳統(tǒng)模式三維模型老虎的主視圖;圖1b是傳統(tǒng)模式三維模型老虎的俯視圖;圖1c是傳統(tǒng)模式三維模型老虎的側(cè)視圖;圖2是本發(fā)明的基于旋轉(zhuǎn)三視圖的三維模型信息獲取方法的流程圖;圖3是本發(fā)明一實(shí)施例的基于旋轉(zhuǎn)三視圖的三維模型信息獲取方法的流程圖;圖4是本發(fā)明另一實(shí)施例的基于旋轉(zhuǎn)三視圖的三維模型信息獲取方法的流程圖;圖5a_5c是本發(fā)明實(shí)施例旋轉(zhuǎn)后的三維模型的三視圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。參考圖2,本發(fā)明提供了一種基于旋轉(zhuǎn)三視圖的三維模型信息獲取方法,包括以下步驟:步驟SOOl:導(dǎo)入三維網(wǎng)格模型;步驟S002:利用Opengl獲得三維網(wǎng)格模型的變換矩陣;步驟S003:根據(jù)獲得的變換矩陣以及三視圖對(duì)應(yīng)的旋轉(zhuǎn)矩陣,對(duì)三維網(wǎng)格模型進(jìn)行矩陣變換運(yùn)算,得出新的三維模型網(wǎng)格點(diǎn)的三維坐標(biāo);步驟S004:將新得到三維模型網(wǎng)格點(diǎn)的世界坐標(biāo)轉(zhuǎn)變?yōu)槠聊蛔鴺?biāo);步驟S005:根據(jù)得到的屏幕坐標(biāo),用畫筆按原來三維網(wǎng)格點(diǎn)的拓?fù)浣Y(jié)構(gòu)畫出網(wǎng)格面;
步驟S006:用鼠標(biāo)旋轉(zhuǎn)三維模型,得到旋轉(zhuǎn)后的三視圖;步驟S007:對(duì)三視圖做后續(xù)圖像編輯操作。對(duì)旋轉(zhuǎn)三視圖,可以根據(jù)需求選擇不同的實(shí)現(xiàn)方法。配合參考圖3,作為本發(fā)明的一實(shí)施例的三維模型信息獲取方法,具體為:先導(dǎo)入一個(gè)三維網(wǎng)格模型,采用Opengl (OpenGraphics Library)進(jìn)行顯示,OpenGL是個(gè)專業(yè)的圖形程序接口,是一個(gè)功能強(qiáng)大,調(diào)用方便的底層圖形庫。所述三維網(wǎng)格模型所用的坐標(biāo)系為世界坐標(biāo)系,即三維坐標(biāo)。而三視圖所呈現(xiàn)出來的是屏幕坐標(biāo),即二維坐標(biāo)。所以,三維坐標(biāo)與二維坐標(biāo)需要建立起一個(gè)網(wǎng)格點(diǎn)對(duì)應(yīng)的關(guān)系,才能實(shí)現(xiàn)三視圖與模型的信息對(duì)應(yīng)。根據(jù)Opengl所提供的功能,獲得鼠標(biāo)旋轉(zhuǎn)三維模型的旋轉(zhuǎn)矩陣,以及對(duì)應(yīng)主視圖、側(cè)視圖、頂視圖所需的旋轉(zhuǎn)角度,如頂視圖需將模型繞X軸旋轉(zhuǎn)90度glRotatef (90.0f, 1, 0,0)。這樣,從原來的視點(diǎn)上看過去,三維模型經(jīng)過正交投影后顯示的就是頂視圖的圖像。同理,可對(duì)側(cè)視圖做相應(yīng)的旋轉(zhuǎn)glRotatef (90.0f, 0, I, 0)。主視圖則不需要做如何旋轉(zhuǎn)。因?yàn)槿S模型經(jīng)過正交投影后顯示的效果可視為主視圖的效果。然后,把旋轉(zhuǎn)后的三維模型的網(wǎng)格點(diǎn),轉(zhuǎn)化為屏幕坐標(biāo)。對(duì)于屏幕坐標(biāo)與世界坐標(biāo)的相互轉(zhuǎn)化,根據(jù)Opengl所提供的功能,可以通過以下兩個(gè)函數(shù)輕松實(shí)現(xiàn):世界坐標(biāo)轉(zhuǎn)化為屏幕坐標(biāo):
POINT GL2ScPoint(Point3D Tpoint)/////////////
{
POINT Rp;
權(quán)利要求
1.種基于旋轉(zhuǎn)三視圖的三維模型信息獲取方法,所述三視圖包括主視圖、俯視圖及側(cè)視圖,其特征在于,包括以下步驟: 步驟1:導(dǎo)入三維網(wǎng)格模型; 步驟2:利用Opengl獲得三維網(wǎng)格模型的變換矩陣; 步驟3:根據(jù)獲得的變換矩陣以及三視圖對(duì)應(yīng)的旋轉(zhuǎn)矩陣,對(duì)三維網(wǎng)格模型進(jìn)行矩陣變換運(yùn)算,得出新的三維模型網(wǎng)格點(diǎn)的三維坐標(biāo); 步驟4:將新得到三維模型網(wǎng)格點(diǎn)的世界坐標(biāo)轉(zhuǎn)變?yōu)槠聊蛔鴺?biāo); 步驟5:根據(jù)得到的屏幕坐標(biāo),用畫筆按原來三維網(wǎng)格點(diǎn)的拓?fù)浣Y(jié)構(gòu)畫出網(wǎng)格面; 步驟6:用鼠標(biāo)旋轉(zhuǎn)三維模型,得到旋轉(zhuǎn)后的三視圖; 步驟7:對(duì)三視圖做后續(xù)圖像編輯操作。
2.權(quán)利要求1所述的基于旋轉(zhuǎn)三視圖的三維模型信息獲取方法,其特征在于,所述步驟4進(jìn)一步包括:按照得到新的三維模型網(wǎng)格點(diǎn)坐標(biāo),利用現(xiàn)有的輪廓線抽取技術(shù),獲得各個(gè)視圖的三維模型的輪廓點(diǎn),所述步驟5根據(jù)得到的輪廓點(diǎn)三維坐標(biāo),轉(zhuǎn)化為對(duì)應(yīng)視圖的屏幕坐標(biāo)。
3.權(quán)利要求1所述的基于旋轉(zhuǎn)三視圖的三維模型信息獲取方法,其特征在于,所述側(cè)視圖為左視圖或右視圖。
全文摘要
本發(fā)明公開了一種基于旋轉(zhuǎn)三視圖的三維模型信息獲取方法,包括以下步驟步驟1導(dǎo)入三維網(wǎng)格模型;步驟2利用Opengl獲得三維網(wǎng)格模型的變換矩陣;步驟3根據(jù)獲得的變換矩陣以及三視圖對(duì)應(yīng)的旋轉(zhuǎn)矩陣,對(duì)三維網(wǎng)格模型進(jìn)行矩陣變換運(yùn)算,得出新的三維模型網(wǎng)格點(diǎn)的三維坐標(biāo);步驟4將新得到三維模型網(wǎng)格點(diǎn)的世界坐標(biāo)轉(zhuǎn)變?yōu)槠聊蛔鴺?biāo);步驟5根據(jù)得到的屏幕坐標(biāo),用畫筆按原來三維網(wǎng)格點(diǎn)的拓?fù)浣Y(jié)構(gòu)畫出網(wǎng)格面;步驟6用鼠標(biāo)旋轉(zhuǎn)三維模型,得到旋轉(zhuǎn)后的三視圖;步驟7對(duì)三視圖做后續(xù)圖像編輯操作。本發(fā)明針對(duì)現(xiàn)有模型的三視圖固定不變的局限性,產(chǎn)生實(shí)時(shí)旋轉(zhuǎn)的三視圖,實(shí)現(xiàn)任意角度觀測(cè)三維模型的三視圖,體現(xiàn)更多更簡便更直觀的模型信息。
文檔編號(hào)G06T17/30GK103093502SQ20121056360
公開日2013年5月8日 申請(qǐng)日期2012年12月21日 優(yōu)先權(quán)日2012年12月21日
發(fā)明者林娟, 劉海亮, 羅晴明, 蔡喜玉 申請(qǐng)人:廣州中大電訊科技有限公司