施美雅
(泉州師范學院 應用科技學院,福建 泉州 362000)
關于人體模型處理技術的探究
施美雅
(泉州師范學院 應用科技學院,福建 泉州 362000)
選擇VRML和Java3D技術處理三維人體模型,該方法不僅可以高效地支持人體模型的可視化,還支持基于三維人體模型的研究與應用.采用Java3D技術對三維人體模型進行處理,可成功地解決前人利用VRML技術開發(fā)系統(tǒng)所碰到的若干問題.
VRM L;Java3D;三維人體模型;可視化
VRML即虛擬現實建模語言,指的是一種可描述三維體型和交互環(huán)境的標準的三維文件格式.目前,市場上已存在很多的基于VRML技術的瀏覽器,比較流行的有Parallel Graphics所提供的Cortona Vrml Client,SGI公司所提供的CosmoPlayer等瀏覽器.
1)優(yōu)點:具有平臺的無關性;在因特網上已廣泛普及,應用前景廣闊;VRML程序編寫方便,可用來構造三維的虛擬交互環(huán)境,于電子商務中展示數字化的三維產品模型,編寫三維的動畫片,編寫三維的游戲,用于計算機的輔助教學.
2)缺點:基于Vrml技術的瀏覽器不提供用戶的擴展機制;語言功能還不是很強,例如目前沒有形體之間的碰撞的檢查功能;與JAVA語言等其他高級語言的連接相對比較難掌握,難以適應某些領域的應用.
MATLAB產品家族是由美國Math Works公司所開發(fā)的,主要是用于概念設計,建模仿真,算法仿真,實時實現的理想的集成的環(huán)境.
1)優(yōu)點:具有先進的設計思路、先進的開發(fā)思路、完整的專業(yè)體系;在許多領域都具有比較廣闊的應用,特別是在建模仿真、科學計算和信息工程系統(tǒng)方面的相關設計及開發(fā),現已經成為了對應行業(yè)內的第一個首選的設計的工具;在航空航天、機械化工、教育、電信、金融財務等行業(yè)已有非常多的用戶,企業(yè)用戶超過了五十萬,個人用戶超過了上千萬;具有比較強大功能的工具箱,特別是對于矩陣和線性代數方面的計算能力;具有比較多的擴展資源;在虛擬的服裝人體模型上也有一定的應用,支持對Web站點的擴展應用以及虛擬現實和三維圖形的現實及處理[1].
2)缺點:存在網絡多用戶的實時訪問限制;不便于與用戶的實時交互.
DIRECT3D是微軟公司所推出的三維圖形的編程API.
1)優(yōu)點:用于三維游戲的編程.
2)缺點:相關的學習資料目前比較少,而且難于獲??;API一般情況下需要由VC等編程工具來編程,因此相關的編程人員就必須要具有比較高的編程功能,較難普及.
JAVA3D是基于JVAA2的,它封裝了目前比較流程的3D開發(fā)工具,如Direct X和OpenGL,具有較高的編寫三維圖形的功能,JAVA語言相對比較簡單,因此也較容易進行推廣.
具有VRML2.0提供的所有的功能;可編寫一個比較完善的三維應用程序;可生成簡單的三維形體,還可以直接調用已有的三維形體;可實現具有顏色、貼圖以及透明效果的形體;可在三維環(huán)境下生成燈光或者移動燈光;可生成霧、聲音以及各式各樣的背景等;可對形體進行多種變化以生成三維動畫,如移動動畫或變形動畫;具有了行為的處理判斷能力;可編寫比較高級復雜的三維圖形應用程序;可應用于各個領域,例如VR等;作為一種高級高效的三維圖形編程工具,能利用硬件的加速功能對場景實現預編譯,提高工作效率;Java3D技術可與Java技術實現無縫連接,使得系統(tǒng)的擴展性更強;對于Java3D技術的支持功能是用Java3D技術開發(fā)的,因此簡單易用;對于Java3D技術暫不支持的功能,可利用Java技術來作底層開發(fā);系統(tǒng)的結構靈活、易進行擴展、可隨心所欲編程,可滿足用戶種種需求;具有共享精神,容易反編譯,有相當多的共享源代碼可學習及借鑒,使得Java技術發(fā)展迅速.
選用VRML技術描述3D人體模型,即用VRML文件保存人體模型.選擇Java3D技術實現系統(tǒng)的開發(fā).利用這種方法來開發(fā)三維人體模型不僅可實現自由地對整個人體進行顯示、旋轉和縮放,還可以單獨地對軀干等部分進行顯示,并可支持點云或表面或網絡等三種不同方式的顯示,對于人體模型可完全進行控制,為人體服裝模型的應用奠定了基礎.
在VRML文件中,三維人體模型數據有7大組成部分,它們分別是Rightl_FACE,Leftl_FACE,Torso_FACE,l Arm_FACE,RArm_FACE,LHand_FACE,RHand_FACE.
三維場景的描述是利用文本信息來實現的,是由許多節(jié)點層層嵌套形成的,每個節(jié)點是由域組成的,每個域都有對應的域值,這些域值都指定了一個場景的特征.
人體模型數據的VRML文件具有以下幾個類型的節(jié)點[2]:
3.2.1 定位、縮放、旋轉節(jié)點 Transform
Transform節(jié)點,具有10個域:縮放節(jié)點域-Scale、定位節(jié)點域-Translation、旋轉節(jié)點域-Rotation、子節(jié)點列表域-chileren等.
3.2.2 外形節(jié)點Shap
Shap節(jié)點主要是用于創(chuàng)建造型,具有兩個域:一個是Appearance域,一個是Geometry域.Appearance域值是用于定義造型的外觀的,而Geometry域值是用于定義空間造型的幾何尺寸大小的,主要包括了基本的造型和高級造型.
3.2.3 Appearance節(jié)點
該節(jié)點具有3個域,分別是Mmaterial域(用于指定造型的材料)、Texture Transform域和Texture域(用于指定造型的表面貼圖).
3.2.4 Material節(jié)點
該節(jié)點具有6個域,分別是SpecularColor(用于鏡面反射光)、Shininess(用于造型亮度)、EmissiveColor(用于自發(fā)光顏色)、DiffuseColor(用于漫反射)、AmbientIntesity(用于對環(huán)境光的反射)和Transparency(用于透明設置).
3.2.5 Indexed FaceSet面節(jié)點
該節(jié)點主要包括兩個節(jié)點:Coordinate節(jié)點(用于表示頂點坐標)和CoordIndex節(jié)點(用于表示頂點坐標索引,例如,-1表示的是一個空間面的完結以及另一個空間面的開始).
采用Java3D技術實現對三維人體數據的處理,Java3D是一種面向對象的編程技術,它的數據結構采用的是場景圖,具有方向性、不對稱性的樹狀層次模型.
靈活的樹型結構類似描述列表,包含了有關場景中的所有對象,以及渲染這些對象的所有的信息.
Java3D的場景樹由視圖分支和內容分支這兩個分支組成.
4.2.1 視圖分支
視圖分支主要是包含了復雜的Java3D視圖模型的所有一切細節(jié).它由代表虛擬世界中視點的ViewPlatform對象和代表物理世界中觀察者為之的View對象兩部分組成.利用這兩個對象,建立兩個世界位置坐標.
4.2.2 內容分支
內容分支主要是描述了用戶將在場景中所看到的內容,包括了所有的圖形對象,如球體、立方體或更加復雜的幾何對象等;及這些對象的具體顏色、具體的問題和這些對象之間的相互位置及交互內容;移動的對象,轉換的對象,對象的具體行為等;場景中的所有的光照和煙霧.相對于視圖分支,內容分支相對比較復雜.
建立三維人體模型場景的具體步驟如下:
1)創(chuàng)建一個對象,Canvas3D對象;
2)創(chuàng)建一個對象,Virtural Universe對象;
3)創(chuàng)建一個對象,Local對象,將其與對象Vritrual Universe進行聯系;
4)創(chuàng)建View Platform視野子圖;
5)創(chuàng)建三維人體模型子圖:將用于屏幕上顯示的三維人體模型作為ObjBG加入到場景中;
6)將具體的鼠標鍵盤的行為加入到SceneRoot,這樣就可以控制Scene TG的縮放、平移和旋轉操作;
7)對子圖進行編譯;
8)將子圖插入到Locale.
利用上述操作所建立的場景將會包含作為TransformGroup節(jié)點的人體的坐標系信息,作為子節(jié)點TransformGroup節(jié)點的人體部件的信息,以及作為Geometry節(jié)點和Appearance節(jié)點的人體部件的幾何坐標和膚色的信息.
Java3D技術可實現三維形體的自由平移或旋轉,可在鼠標的控制下隨意進行旋轉,縮放和平移操作.這些動作模型均作用在Transform Group節(jié)點,為了實現這些功能,可直接在該TransformGroup節(jié)點下添加一些屬性值即可實現.
本文對多種三維圖形處理技術的優(yōu)缺點進行對比,選擇VRML技術描述三維人體模型,選擇Java3D技術實現對三維人體模型的處理,該方法不僅高效地支持人體模型的可視化,同時也支持基于三維人體模型的研究與應用.
[1] 劉 雁,耿兆豐.Matlab在三維人體及服裝建模上的應用[J].微型機與應用,2003,22(9):38-40
[2] 吳小華.構建個性化網絡虛擬世界:VRML從入門到精通[M].北京:國防工業(yè)出版社,2002
Research of Human Body Model Processing Technology
Shi Meiya
(Applied Science and Technology College,Quanzhou Normal University,Quanzhou 362000,China)
Choosing VRML and Java3D technology processes 3d model of the human body,this method can not only effectively support the visualization model of the human body,also support the research and application of 3d model of the model body.Ussing the Java3D technology processes the 3d model of the human body can successfully solve some problems by VRML technology.
VRML;Java3D;3d model of the human body;visualization
王映苗】
1672-2027(2011)04-0112-04
TP37
A
2011-06-19
施美雅(1981-),女,福建晉江人,碩士,泉州師范學院助教,主要從事多媒體方向研究.