一種控制三維模型顯示的方法
【專利摘要】本發(fā)明公開了一種控制三維模型顯示的方法,該方法利用Java3D三維仿真工具,實現(xiàn)控制三維模型的完全顯示或部分顯示,通過獲取三維模型所有幾何體的信息,將不需要的幾何體控制其不顯示,留下需要顯示的幾何體,對于觀察三維模型非常實用。通過控制模型的各組成部分是否顯示,能夠增強仿真系統(tǒng)的交互性,能夠根據(jù)用戶的需求進行顯示,達到更好的可視化效果,獲得更加直觀的用戶體驗。
【專利說明】一種控制三維模型顯示的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于三維仿真領(lǐng)域中的三維可視化子領(lǐng)域,具體涉及一種控制三維模型顯示的方法。
【背景技術(shù)】
[0002]三維可視化(3D Visualizat1n)技術(shù)是20世紀80年代中期誕生的一門集計算機數(shù)據(jù)處理、圖像顯示的綜合性前緣技術(shù)。它是一種把描述物理現(xiàn)象的數(shù)據(jù)轉(zhuǎn)化為圖形、圖像,并運用顏色、透視、動畫和觀察視點的實時改變等視覺表現(xiàn)形式。
[0003]Java3D是一種三維仿真開發(fā)平臺,是基于Java語言的三維圖形API,其底層基于OpenGL。Java3D提供“場景圖(Scene Graphs Structure) ”結(jié)構(gòu),通過這種結(jié)構(gòu),將仿真程序中的有關(guān)對象組織起來,它是一種樹狀結(jié)構(gòu)?!皥鼍皥D”中的所有對象分3類,分別為“超結(jié)構(gòu)”、“節(jié)點”和“節(jié)點組件”。
[0004]在現(xiàn)有三維仿真場景中,仿真系統(tǒng)的交互性不夠強,不能用戶對各部件現(xiàn)實查看的需求,可視化效果存在一定缺陷。用戶通過對模型進行放大縮小、旋轉(zhuǎn)、移動操作及其不便,用戶體驗度較差。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供了一種控制三維模型顯示的方法,本發(fā)明提出了一種控制三維模型完全顯示或部分顯示的方法,利用Java3D三維仿真工具,實現(xiàn)控制三維模型的完全顯示或部分顯示,詳見下文描述:
[0006]一種控制三維模型顯示的方法,所述方法包括以下步驟:
[0007](I)利用開發(fā)工具創(chuàng)建一個對象,采用加載的方法載入三維模型;
[0008](2)返回一個場景對象,調(diào)用該類的方法獲取模型的各個幾何體,并以對象保存在一個數(shù)組中,仿真程序顯示整個三維模型;
[0009](3)根據(jù)保存在數(shù)組中的所有幾何體的信息,動態(tài)生成若干復(fù)選框;
[0010](4)根據(jù)需要勾選復(fù)選框;
[0011](5)仿真程序調(diào)用場景圖中組對象的方法進行設(shè)置,允許其子節(jié)點拆分,再調(diào)用組對象全部刪除的方法把關(guān)聯(lián)的全部Shape3D對象移除;
[0012](6)仿真程序讀取復(fù)選框的勾選情況,對勾選了復(fù)選框的幾何體,將其對應(yīng)的Shape3D對象重新與組對象關(guān)聯(lián),加入場景圖;
[0013](7)實現(xiàn)三維模型顯示效果,顯示控制過程結(jié)束。
[0014]本發(fā)明提供的技術(shù)方案的有益效果是:本發(fā)明利用Java3D三維仿真工具,實現(xiàn)控制三維模型的完全顯示或部分顯示,通過獲取三維模型所有幾何體的信息,將不需要的幾何體控制其不顯示,留下需要顯示的幾何體,對于觀察三維模型非常實用。通過控制模型的各組成部分是否顯示,能夠增強仿真系統(tǒng)的交互性,能夠根據(jù)用戶的需求進行顯示,顯示外觀部件、顯示內(nèi)部部件、顯示全部部件、顯示某些部件,達到更好的可視化效果。用戶通過對模型進行放大縮小、旋轉(zhuǎn)、移動操作,既可以對完整模型進行全方位觀看,也可以對模型的某個部件進行全方位觀看,獲得更加直觀的用戶體驗。
【專利附圖】
【附圖說明】
[0015]圖1為本發(fā)明一種控制三維模型顯示的方法流程圖。
【具體實施方式】
[0016]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面對本發(fā)明實施方式作進一步地詳細描述。
[0017]—種控制三維模型顯示的方法,參見圖1,該實現(xiàn)方法針對三維模型,通過讀取模型中所有幾何體信息,并控制幾何體的對象添加到“場景圖”中或從“場景圖”中移除,從而實現(xiàn)三維模型的控制顯示。
[0018]該實現(xiàn)方法具體包括以下步驟:
[0019](I)在仿真程序中,利用開發(fā)工具創(chuàng)建一個對象,然后調(diào)用其用加載的方法載入三維模型;
[0020](2)模型成功加載后會返回一個場景對象,通過調(diào)用該類的方法獲取模型的各個幾何體,并將它們以對象保存在一個數(shù)組之中,仿真程序顯示整個三維模型;
[0021](3)根據(jù)保存在數(shù)組中的所有幾何體的信息,在仿真程序的界面中,動態(tài)生成若干復(fù)選框,一個復(fù)選框?qū)?yīng)一個模型幾何體,復(fù)選框的名稱與模型中幾何體的名稱一致;
[0022](4)仿真程序的用戶,根據(jù)需要勾選復(fù)選框,需要顯示的幾何體勾上,否則不勾;
[0023](5)仿真程序調(diào)用“場景圖”中組對象的方法進行設(shè)置,允許其“子節(jié)點”拆分,再調(diào)用組對象全部刪除的方法把關(guān)聯(lián)的全部Shape3D對象移除;
[0024](6)仿真程序讀取復(fù)選框的勾選情況,對勾選了復(fù)選框的幾何體,將其對應(yīng)的Shape3D對象重新與組對象關(guān)聯(lián),加入“場景圖”;
[0025](7)實現(xiàn)三維模型顯示效果,顯示控制過程結(jié)束。
[0026]進一步地,按照控制三維模型顯示的實現(xiàn)方法的主要步驟,本發(fā)明的應(yīng)用優(yōu)選采用3dmax作為建模工具;仿真程序的開發(fā)工具優(yōu)選為eclipse、jdk、Java3D ;為了減少程序?qū)崿F(xiàn)的復(fù)雜度,模型文件類型導(dǎo)出優(yōu)選為obj格式。
[0027]本領(lǐng)域技術(shù)人員可以理解附圖只是一個優(yōu)選實施例的示意圖,上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
[0028]以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種控制三維模型顯示的方法,其特征在于,所述方法包括以下步驟: (1)利用開發(fā)工具創(chuàng)建一個對象,采用加載的方法載入三維模型; (2)返回一個場景對象,獲取模型的各個幾何體,并以對象保存在一個數(shù)組中,仿真程序顯示整個三維模型; (3)根據(jù)保存在數(shù)組中的所有幾何體的信息,動態(tài)生成若干復(fù)選框; (4)根據(jù)需要勾選復(fù)選框; (5)仿真程序調(diào)用場景圖中組對象的方法進行設(shè)置,允許其子節(jié)點拆分,再調(diào)用組對象全部刪除的方法把關(guān)聯(lián)的全部31^1)630對象移除; (6)仿真程序讀取復(fù)選框的勾選情況,對勾選了復(fù)選框的幾何體,將其對應(yīng)的31^1)630對象重新與組對象關(guān)聯(lián),加入場景圖; (7)實現(xiàn)三維模型顯示效果,顯示控制過程結(jié)束。
【文檔編號】G06T17/00GK104463963SQ201410766268
【公開日】2015年3月25日 申請日期:2014年12月10日 優(yōu)先權(quán)日:2014年12月10日
【發(fā)明者】劉江, 陳滿亮 申請人:天津大學(xué)