譚雪松,李如超,張延敏
(四川農(nóng)業(yè)大學(xué) 信息與工程技術(shù)學(xué)院,雅安 625014)
工程制圖是現(xiàn)代設(shè)計(jì)人員必須掌握的一門(mén)基本技能,涉及到機(jī)械制圖、建筑制圖、電子電路制圖以及園林制圖等多個(gè)領(lǐng)域。同時(shí),工程制圖課程也是高等工科院校是一門(mén)重要的基礎(chǔ)必修課,主要研究用投影法解決空間幾何問(wèn)題并在平面上表達(dá)空間物體的方法,培養(yǎng)學(xué)生工程圖樣的繪制和閱讀能力。
學(xué)習(xí)工程制圖時(shí),需要重點(diǎn)學(xué)習(xí)對(duì)三維物體的形狀及相關(guān)位置的空間邏輯思維和形象思維能力。對(duì)于初次涉足工程制圖領(lǐng)域的人員來(lái)說(shuō),空間思維能力較弱,只有通過(guò)反復(fù)的實(shí)踐訓(xùn)練和長(zhǎng)期的經(jīng)驗(yàn)積累才能逐步提高。三維交互技術(shù)通過(guò)對(duì)三維空間的虛擬物體進(jìn)行幾何變換、矩陣運(yùn)算、最后通過(guò)渲染輸出三維圖像,再通過(guò)計(jì)算機(jī)輸入設(shè)備的控制實(shí)現(xiàn)其在虛擬空間中的旋轉(zhuǎn)和位置變化,并通過(guò)控制虛擬攝像機(jī)來(lái)實(shí)現(xiàn)鏡頭遠(yuǎn)近,從而實(shí)現(xiàn)對(duì)虛擬三維空間中的物體控制。
隨著當(dāng)代CAD技術(shù)的發(fā)展,可以非常輕松地使用Pro/ENGINEER、UG、3dsmax以及MAYA等軟件創(chuàng)建出“所見(jiàn)即所得”的三維模型,并可以方便地獲得三維模型向特定投影面投影后的二維圖形。本文將將介紹綜合使用CAD技術(shù)和三維交互技術(shù)開(kāi)發(fā)三視圖訓(xùn)練軟件的一般方法。
傳統(tǒng)的三視圖訓(xùn)練,通常只給出一組三視圖,讓訓(xùn)練者結(jié)合圖形上的線(xiàn)條通過(guò)空間想象和抽象思維,逐步在頭腦中建立空間三維模型,其學(xué)習(xí)難度較大。同時(shí),教師在講授類(lèi)似課程時(shí),費(fèi)時(shí)費(fèi)力,而且不一定能達(dá)到良好的教學(xué)效果。
本文開(kāi)發(fā)的三視圖訓(xùn)練系統(tǒng)可以用訓(xùn)練學(xué)生對(duì)三維模型的空間想象力。系統(tǒng)的功能模塊如圖1所示,對(duì)應(yīng)的實(shí)際界面如圖2所示。在選項(xiàng)模塊中,給出一組(4個(gè))外形相近的三維模型,在三視圖顯示模塊中給出符合第三角畫(huà)法的一組三視圖。測(cè)試者從A、B、C和D等4個(gè)選項(xiàng)中單擊選中一個(gè)選項(xiàng)后,在透視圖模塊中可以通過(guò)簡(jiǎn)單的鼠標(biāo)操作來(lái)實(shí)現(xiàn)對(duì)模型的旋轉(zhuǎn)和縮放等操作,以便更好地觀察模型上的結(jié)構(gòu)細(xì)節(jié)。訓(xùn)練時(shí),通過(guò)透視圖可以全方位觀察實(shí)體模型,直觀了解其上的形體結(jié)構(gòu)和線(xiàn)面關(guān)系。既能提高學(xué)習(xí)興趣,又能快速提高空間思維能力。
圖1 系統(tǒng)模塊劃分
圖2 系統(tǒng)界面
該系統(tǒng)中包含容量巨大的三維模型庫(kù),并按照模型復(fù)雜程度不同分組排列,可以從基礎(chǔ)開(kāi)始,逐步訓(xùn)練學(xué)生的空間想象能力。
為了便于教學(xué)和在網(wǎng)絡(luò)上使用,該系統(tǒng)包括兩個(gè)基本板塊:一個(gè)是客戶(hù)板塊,用于用戶(hù)用學(xué)習(xí)和測(cè)試;另一個(gè)是是服務(wù)器板塊,負(fù)責(zé)完成測(cè)試信息的存儲(chǔ)和統(tǒng)計(jì)工作。兩個(gè)模塊使用C/S模式傳輸協(xié)議進(jìn)行數(shù)據(jù)傳輸。如圖3所示。
本設(shè)計(jì)使用C#作為程序開(kāi)發(fā)部分的主要語(yǔ)言,C#是基于Microsoft.net平臺(tái),面向?qū)ο蟮脑O(shè)計(jì)語(yǔ)言。具有語(yǔ)法簡(jiǎn)潔、面向?qū)ο笤O(shè)計(jì)以及與Web的結(jié)合緊密等特點(diǎn)。安全性、靈活性和兼容性都較好。本設(shè)計(jì)使用Microsoft Visual C# 2005 Express Edition作為程序開(kāi)發(fā)部分的主要工具。該開(kāi)發(fā)工具具有開(kāi)發(fā)簡(jiǎn)單,開(kāi)發(fā)效率高等有點(diǎn),是C#語(yǔ)言開(kāi)發(fā)的首選開(kāi)發(fā)工具。C#是基于Microsoft.net平臺(tái)的語(yǔ)言,所以開(kāi)發(fā)軟件之前首先需要安裝Microsoft.net framework 2.0。
本設(shè)計(jì)的核心代碼基于微軟公司開(kāi)發(fā)的DirectX 9.0,DirectX9.0是由微軟公司研發(fā)的是一組低級(jí)應(yīng)用程序編程接口,可為 Windows 程序提供高性能的硬件加速多媒體支持。特別是在3D圖形方面的表現(xiàn)非常優(yōu)秀。
在本設(shè)計(jì)中首先使用Pro/ENGINEER軟件制作精確機(jī)械模型,但由于Pro/ENGINEER不能直接導(dǎo)出本軟件能夠識(shí)別的X文件,所以需要將Pro/E中設(shè)計(jì)好的機(jī)械模型以.stl文件格式導(dǎo)入3ds max軟件進(jìn)行相應(yīng)的設(shè)置之后,才能導(dǎo)出x文件。在3ds max中可以設(shè)置模型的材質(zhì)和貼圖,并能為其制作簡(jiǎn)單的幀頻動(dòng)畫(huà)。
DirectX中有一部分叫DirectDraw,其為圖形繪演API,提供對(duì)圖形的強(qiáng)大的訪(fǎng)問(wèn)處理能力,而在DirectDraw中集成了一些三維圖形相關(guān)的功能,稱(chēng)為Direct3D。Direct3D可以直接調(diào)用硬件資源,具有很高的執(zhí)行效率,并提供一個(gè)共同的硬件驅(qū)動(dòng)標(biāo)準(zhǔn),讓程序開(kāi)發(fā)者不必為每一品牌的硬件來(lái)寫(xiě)不同的驅(qū)動(dòng)程序,也降低用戶(hù)安裝及設(shè)置硬件的復(fù)雜度。再加之微軟在軟件行業(yè)的影響力,甚至可以預(yù)言它將成為3D圖形技術(shù)的標(biāo)準(zhǔn)。
通過(guò)編程很難制作出高質(zhì)量的復(fù)雜模型,所以這里使用的都是外部導(dǎo)入已經(jīng)由其他軟件建好的模型。x文件就是包含虛擬模型的文件。x文件是使用Pro/ENGINEER建模,然后將模型導(dǎo)入3ds max,再使用3ds max的插件導(dǎo)出高質(zhì)量x文件。
本設(shè)計(jì)使用的插件是PandaDirectXMaxExporter.dle,插件的安裝方法是將其拷貝到3ds max安裝目錄下的stdplugs文件夾當(dāng)中。拷貝完成后可以在3ds max的導(dǎo)出列表中找到導(dǎo)出Panda DirectX(*.X)選項(xiàng)。
在該軟件中,還涉及到圖片圖像的處理工序。由于三視圖中的前試圖、主試圖、俯視圖和四個(gè)選項(xiàng)的圖片都需要由機(jī)械人員在Pro/E中截取,所以要使用截屏工具SnagIt來(lái)截取。截取的圖片使用PhotoShop進(jìn)行切割和調(diào)整,最后得到合格的圖片。
學(xué)生使用部分是該軟件的核心,軟件的主要功能都在這部分完成,按一般使用流程可分為用戶(hù)登陸、難度選擇、試題制作、試題提交、數(shù)據(jù)傳輸這五個(gè)模塊。
用戶(hù)登陸主要完成的任務(wù)是獲取姓名和編號(hào),便于后期成績(jī)和數(shù)據(jù)管理。由于本系統(tǒng)用戶(hù)多為青年學(xué)生,所以設(shè)計(jì)采用了較為活撥的顏色作為主題色。
該軟件中設(shè)置了初級(jí)、中級(jí)和高級(jí)等難度等級(jí)。在這三個(gè)不同級(jí)別中,是根據(jù)所軟件所涉及的實(shí)體模型的難易程度來(lái)分級(jí),初級(jí)里的模型較為簡(jiǎn)單,沒(méi)有太多的邊面變化,而隨著級(jí)別的提升,邊面變化增多,難度也逐漸增大。
用戶(hù)選擇試題等級(jí)后,從相應(yīng)的試題庫(kù)中隨機(jī)抽取試題組成試卷,供用戶(hù)練習(xí)使用。根據(jù)投影原理,物體的三個(gè)視圖要按照“長(zhǎng)對(duì)正,寬相等,高平齊”的要求嚴(yán)格對(duì)齊方,如果使用常規(guī)的對(duì)齊方式,很難做到精確。這里使用了Visual C# 2005中的Containers類(lèi)中的TableLayoutPanel窗口劃分工具來(lái)進(jìn)行窗口劃分,并通過(guò)設(shè)置TableLayoutPanel的屬性和放在其內(nèi)的對(duì)象屬性,實(shí)現(xiàn)專(zhuān)業(yè)級(jí)的布局效果。
在提交答案后,學(xué)生可以查看自己的答案和分?jǐn)?shù),并且可以選擇保存自己的全部測(cè)試信息到TXT文檔,也可以將測(cè)試結(jié)果上傳到教師機(jī)。
數(shù)據(jù)傳輸需要學(xué)生自行輸入服務(wù)器端的IP地址。設(shè)置IP完成后,單擊確定按鈕即可上傳信息數(shù)據(jù)。
服務(wù)器端是本軟件的一個(gè)功能擴(kuò)展,也是網(wǎng)絡(luò)教學(xué)的一個(gè)雛形,具有比較長(zhǎng)遠(yuǎn)的前景。
服務(wù)器首先要實(shí)現(xiàn)從客戶(hù)端接受學(xué)生的測(cè)試信息的功能。接受數(shù)據(jù)只需在程序中實(shí)現(xiàn),并不需要為老師的使用給出接口。老師只需到服務(wù)器端的網(wǎng)絡(luò)更新數(shù)據(jù)中查看已經(jīng)上傳的學(xué)生數(shù)據(jù),然后將其轉(zhuǎn)入數(shù)據(jù)庫(kù)。
在服務(wù)器端,為教師提供了各種查詢(xún)的接口。教師可通過(guò)數(shù)據(jù)信息窗口,設(shè)置查詢(xún)的限制條件,從而實(shí)現(xiàn)對(duì)數(shù)據(jù)的統(tǒng)計(jì)和篩選。
Direct 3D中所有的虛擬對(duì)象都包涵在設(shè)備對(duì)象Device里面。其中虛擬世界World、虛擬燈光Light,虛擬攝像機(jī)View是相對(duì)獨(dú)立的三個(gè)部分。World負(fù)責(zé)裝置所有的虛擬物體,虛擬燈光負(fù)責(zé)像地球以外的太陽(yáng)一樣,給World提供光照,View就像是一部架在宇宙中的攝像機(jī),可以從遠(yuǎn)處來(lái)觀看地球。其樹(shù)狀圖如圖4所示。
如同地球的可以自轉(zhuǎn)和公轉(zhuǎn),這里的虛擬World也具有自身選擇角度的Device.Transform.World屬性。通過(guò)改變device.Transform.World的參數(shù)來(lái)實(shí)現(xiàn)虛擬世界的旋轉(zhuǎn)控制。
這里World、Light、View三個(gè)對(duì)象的屬性改變時(shí)都會(huì)影響到Device渲染出圖像的整體效果。
在本設(shè)計(jì)中,主要分為幾個(gè)模塊來(lái)實(shí)現(xiàn)三位交互,如圖5所示。
使用按下鼠標(biāo)左鍵拖動(dòng)的方式來(lái)實(shí)現(xiàn)對(duì)象的旋轉(zhuǎn),使用按下鼠標(biāo)右鍵拖動(dòng)來(lái)實(shí)現(xiàn)縮放物體。效果如圖6所示。
圖6 旋轉(zhuǎn)效果圖
本文以三視圖訓(xùn)練系統(tǒng)的開(kāi)發(fā)為線(xiàn)索對(duì)三維交互技術(shù)在交互式教育軟件中的應(yīng)用進(jìn)行了全面分析。本設(shè)計(jì)完成的三視圖訓(xùn)練系統(tǒng)只是交互式教育軟件中的一個(gè)典型代表,在此基礎(chǔ)上拓展,可以開(kāi)發(fā)出更多的交互式教育軟件,如虛擬模型展示系統(tǒng)以及虛擬產(chǎn)品裝配系統(tǒng)等。這些系統(tǒng)不但可以大大降低實(shí)物模型帶來(lái)的場(chǎng)地占用,還可以大大節(jié)省節(jié)購(gòu)物開(kāi)支。用戶(hù)可以隨時(shí)在電腦上反復(fù)訓(xùn)練,操作簡(jiǎn)單方便,效果良好??梢灶A(yù)計(jì),交互式教育軟件必將在未來(lái)我國(guó)各級(jí)教育領(lǐng)域中大顯身手。
此外,隨著電子商務(wù)的發(fā)展,傳統(tǒng)的商品展示方式已經(jīng)遠(yuǎn)遠(yuǎn)不能滿(mǎn)足人們的需求,一個(gè)產(chǎn)品很難用一組圖片或一段文字來(lái)表現(xiàn),特別是對(duì)外形要求很高的商品。三維交互技術(shù)在網(wǎng)絡(luò)方面的應(yīng)用和發(fā)展將彌補(bǔ)這一缺陷,并能為電子商務(wù)的再發(fā)展奠定堅(jiān)實(shí)技術(shù)基礎(chǔ)。
[1] 樣小強(qiáng),楊雪.三維交互技術(shù)在虛擬試驗(yàn)中的應(yīng)用[D].吉林大學(xué),2007.
[2] 周源,王琨.機(jī)械產(chǎn)品三維交互性仿真控制的實(shí)現(xiàn)[D].江西理工大學(xué),2007.
[3] 姬洪強(qiáng).淺談虛擬實(shí)現(xiàn)技術(shù)在學(xué)科教學(xué)中的應(yīng)用[D].浙江師范大學(xué),2007.
[4] 王朝暉.虛擬現(xiàn)實(shí)在電子商務(wù)中的應(yīng)用展望[D].蘇州大學(xué)計(jì)算機(jī)學(xué)院,2006.
[5] 胡衛(wèi)紅.虛擬現(xiàn)實(shí)技術(shù)在教育教學(xué)中的應(yīng)用與研究[D].山東體育學(xué)院,2006.
[6] 王旭升.虛擬現(xiàn)實(shí)技術(shù)的發(fā)展及其應(yīng)用探索[D].義烏工商職業(yè)技術(shù)學(xué)院,2007.
[7] 羅曉翔.網(wǎng)絡(luò)虛擬商品三維展示系統(tǒng)的研究與設(shè)計(jì)[D].廣東商學(xué)院,2007.
[8] 隆巖.探討三維虛擬現(xiàn)實(shí)技術(shù)在高校試驗(yàn)教學(xué)中的應(yīng)用[D].江西教育學(xué)院,2007.
[9] 張永芳,郭東軍.虛擬現(xiàn)實(shí)技術(shù)在教育中的應(yīng)用[D].陜西延安大學(xué),2007.
[10] 鐘毅.淺析虛擬現(xiàn)實(shí)技術(shù)在計(jì)算機(jī)專(zhuān)業(yè)教育中的應(yīng)用[D].江西省人口信息中心,2007.
[11] 和莉,劉惠義.碰撞檢測(cè)技術(shù)在三維交互漫游系統(tǒng)中的應(yīng)用[D].河海大學(xué)計(jì)算機(jī)及信息工程學(xué)院,2006.
[12] 魏尊亮.VRML在三維交互式虛擬場(chǎng)景中的應(yīng)用[D].廣東工業(yè)大學(xué),2007.
[13] Burdea G.Virtual Reality System and Applications[C].Electro93 International Conference,1993.
[14] Counsell J.3D Built Form and Landscape from 2D Maps[J].Habitat,1998.6.
[15] Huang B,Lin H.GeoVR:a Web-based Tool for Viretual Reality Rresentation from 2D GIS Data[J]Computers &Geosciences,1999.10.
[16] www.baidu.com
[17] www.cqvip.com
[18] http://baike.baidu.com/view/15762.html?wtp=tt.