国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SAABB算法的VAEAS的探究

2013-07-05 03:37王家騏于海霞曲衛(wèi)平
關(guān)鍵詞:碰撞檢測(cè)模塊算法

王家騏,于海霞,曲衛(wèi)平,吳 焱

(1.安徽工貿(mào)職業(yè)技術(shù)學(xué)院 動(dòng)漫學(xué)院,安徽 淮南 232007;2.安徽工貿(mào)職業(yè)技術(shù)學(xué)院計(jì)算機(jī)技術(shù)系,安徽 淮南 232007;3.安徽理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,安徽 淮南 232001;4.安徽工貿(mào)職業(yè)技術(shù)學(xué)院機(jī)械系,安徽 淮南 232007)

1 基礎(chǔ)技術(shù)概述

在本系統(tǒng)中,主要使用了JAVA和VRML技術(shù)。JAVA是一種非常適合網(wǎng)絡(luò)應(yīng)用環(huán)境且具備“一次編譯隨處運(yùn)行”特點(diǎn)的編程語(yǔ)言,它使用基于JAVA APPLET技術(shù)的WEB應(yīng)用程序,既能實(shí)現(xiàn)各種功能的擴(kuò)展,又能夠?qū)崿F(xiàn)在多個(gè)應(yīng)用程序之間進(jìn)行數(shù)據(jù)的交換。VRML(Virtual Reality Modeling Language,虛擬現(xiàn)實(shí)建模語(yǔ)言)是一種3D場(chǎng)景建模語(yǔ)言,其特性是渲染實(shí)時(shí)及與平臺(tái)無(wú)關(guān)等,可利用支持WRL文件的瀏覽器瀏覽3D虛擬場(chǎng)景,但其缺點(diǎn)是不能實(shí)現(xiàn)實(shí)時(shí)交互功能。新的VRML版本更是加強(qiáng)了3D虛擬場(chǎng)景的真實(shí)性,能讓訪問(wèn)者有“身臨其境”的體驗(yàn)。

VRML的優(yōu)點(diǎn)是3D場(chǎng)景的建模,JAVA具備了良好的網(wǎng)絡(luò)數(shù)據(jù)傳輸能力及方便的編程功能,二者有很強(qiáng)的互補(bǔ)性,即通過(guò)VRML的EAI(External Authoring Interface,外部程序接口)與 JAVA APPLE程序的數(shù)據(jù)交換,從而實(shí)現(xiàn)VRML與JAVA的完美結(jié)合,前者負(fù)責(zé)3D場(chǎng)景建模及EAI接口的定義,后者負(fù)責(zé)用戶交互功能及業(yè)務(wù)邏輯功能的開(kāi)發(fā)。

2 系統(tǒng)架構(gòu)實(shí)現(xiàn)

系統(tǒng)總體架構(gòu)為基于MVC技術(shù)的三層 B/S結(jié)構(gòu),采用 VRML和 JAVA(包括 JAVA APPLE、JSP)技術(shù),實(shí)現(xiàn)用戶界面與應(yīng)用服務(wù)之間的低耦合開(kāi)發(fā),數(shù)據(jù)存儲(chǔ)采用的是SQLServer數(shù)據(jù)庫(kù)。系統(tǒng)架構(gòu)如圖1所示。

圖1 系統(tǒng)架構(gòu)圖

在圖1中,用戶界面是使用者實(shí)施操作的唯一平臺(tái),其利用支持VRML的網(wǎng)頁(yè)瀏覽器進(jìn)行零配件模型的三維瀏覽、對(duì)零配件模型實(shí)施管理以及實(shí)現(xiàn)人機(jī)間的交互;應(yīng)用服務(wù)層的任務(wù)是實(shí)現(xiàn)用戶控制信息及上傳數(shù)據(jù)的處理,以及處理WEB服務(wù)器提交的數(shù)據(jù)并傳遞給SQL數(shù)據(jù)庫(kù),再將反向接收處理后的結(jié)果顯示在用戶界面層;數(shù)據(jù)層的作用是利用JSP和數(shù)據(jù)庫(kù)技術(shù)處理WEB服務(wù)器發(fā)出的數(shù)據(jù)請(qǐng)求,為應(yīng)用服務(wù)層提供數(shù)據(jù)處理服務(wù)。

3 系統(tǒng)模塊設(shè)置

系統(tǒng)功能模塊如圖2所示。在圖2中列舉了系統(tǒng)的主要功能模塊:用戶信息管理模塊、零部件信息管理模塊、零部件裝配組管理模塊、模型裝配及用戶交互等模塊。這些功能模塊分別實(shí)現(xiàn)了用戶的登錄/注銷、用戶權(quán)限的控制、零部件信息的管理、零部件裝配組的管理、模型裝配控制及用戶交互等功能。

圖2 系統(tǒng)功能模塊圖

用戶信息管理:包括用戶管理和用戶權(quán)限管 理兩大部分,前者包括用戶的注冊(cè)/注銷、個(gè)人信息維護(hù)等功能,后者用來(lái)實(shí)現(xiàn)用戶權(quán)限的分配功能。本系統(tǒng)利用角色權(quán)限分派的方式實(shí)現(xiàn)了用戶的權(quán)限控制。

零部件信息管理模塊:采用逐層分類管理法實(shí)現(xiàn)對(duì)繁雜零部件信息的優(yōu)化組織及高效管理。

零部件裝配組管理模塊:采用了能夠?qū)崟r(shí)反映裝配層次及裝配關(guān)系的樹(shù)形結(jié)構(gòu),即以裝配組為樹(shù)根,分類地進(jìn)行劃分,最終到葉子節(jié)點(diǎn)——元零件,每個(gè)節(jié)點(diǎn)都存儲(chǔ)了與之對(duì)應(yīng)的信息,諸如:三維模型數(shù)據(jù)、零件位置數(shù)據(jù)、設(shè)計(jì)文檔和材質(zhì)工藝文檔等。

模型裝配模塊:其主要功能有五項(xiàng),分別是裝配組導(dǎo)入功能、信息加載功能、運(yùn)動(dòng)控制功能、碰撞檢測(cè)功能和結(jié)果輸出功能。為了能夠快速和實(shí)時(shí)地進(jìn)行碰撞檢測(cè),項(xiàng)目組通過(guò)以AABB(軸向包圍盒)算法為基礎(chǔ),并增加重疊軸判定算法,形成了重疊軸向包圍盒(SAABB)算法。

用戶交互模塊的功能主要是為同時(shí)在線的用戶發(fā)起針對(duì)某一裝配問(wèn)題的討論和分析,及是否保存討論相關(guān)的內(nèi)容。

4 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)

在系統(tǒng)中,面對(duì)眾多的數(shù)據(jù)信息,為便于管理將數(shù)據(jù)分為兩大類:一是為保存與零部件相關(guān)信息設(shè)計(jì)了包含 partinfo、featureinfo和 procedureinfo等十余張數(shù)據(jù)表;二是為存儲(chǔ)系統(tǒng)的自身基本信息設(shè)計(jì)了sysuserinfo、toolinfo和GBLibsinfo等數(shù)據(jù)表,其中,partinfo表中主要包含了 partid(編號(hào))、partname(名稱)、parttype(類型)、parentpartid(裝配組編號(hào))、parentpartname(裝配組名稱)和assemblypathid(裝配路徑編號(hào))等字段,用來(lái)描述零部件的基本屬性及其裝配路徑;procedureinfo表中主要包含了procedureid(編號(hào))、procedurename(名稱)、proceduredesc(工序內(nèi)容描述)、toolid(裝配工具編號(hào))等字段,用來(lái)描述與裝配工序相關(guān)的信息關(guān)聯(lián)到裝配工藝和裝配工具等內(nèi)容;toolinfo表中主要包含了 toolid(編號(hào))、toolname(名稱)、tooltype(工具類型)、toolfeature(工具特征)和tooldesc(工具描述)等字段,用來(lái)實(shí)現(xiàn)對(duì)裝配工具的存儲(chǔ)和管理;GBLibsinfo表中主要包含了GBpartid(國(guó)標(biāo)工具編號(hào))、GBname(名稱)、GBtype(類型)、GBpara(工具參數(shù))、GBdetail(工具具體描述)等字段,用來(lái)實(shí)現(xiàn)對(duì)標(biāo)準(zhǔn)零件的管理。

5 關(guān)鍵技術(shù)研究

5.1 壓縮WRL文件

利用VRMLPad等編輯軟件可以直接創(chuàng)建VRML文件,利用3DS MAX等建模軟件也可以創(chuàng)建VRML文件。面對(duì)汽車發(fā)動(dòng)機(jī)的眾多零部件,顯然直接創(chuàng)建VRML文件是一件不可能完成的任務(wù),那么使用建模軟件創(chuàng)建就是必然的選擇了。在項(xiàng)目實(shí)施過(guò)程中,利用AutoCAD建立零部件三維模型,再使用3DS MAX將其轉(zhuǎn)換后輸出為WRL的模型文件。此方法的缺點(diǎn)是WRL文件體積較大,在當(dāng)前的計(jì)算機(jī)及網(wǎng)絡(luò)環(huán)境下,不能實(shí)現(xiàn)流暢使用的基本目標(biāo),因此必須對(duì)WRL文件進(jìn)行壓縮。

WRL文件的壓縮有兩種方法,一是利用VRMLPad編輯器自帶的壓縮功能;二是使用Internet Model Optimizer軟件。經(jīng)驗(yàn)證,壓縮后的文件在保留原文件細(xì)節(jié)的情況下比未壓縮的文件減小約80%的體積。這樣,就保證了在大批量WRL文件導(dǎo)入VRML場(chǎng)景的情況下,仍能夠流暢地正常運(yùn)轉(zhuǎn)。

5.2 監(jiān)聽(tīng)EventOut事件

在設(shè)計(jì)中,EventOut事件監(jiān)聽(tīng)機(jī)制是通過(guò)EventOutObserver接口類來(lái)實(shí)現(xiàn)的,從而達(dá)到動(dòng)態(tài)監(jiān)控事件狀態(tài)變換的目的。具體的應(yīng)用就是實(shí)現(xiàn)了“點(diǎn)擊零部件即操作”的功能。實(shí)現(xiàn)代碼見(jiàn)圖3。

當(dāng)操作者單擊零部件模型時(shí),內(nèi)嵌的Touch-Sensor節(jié)點(diǎn)就會(huì)觸發(fā),完成callback()方法的調(diào)用及節(jié)點(diǎn)名稱的發(fā)送,頁(yè)面中的JAVA APPLET捕獲了相關(guān)的信息,并完成對(duì)選中零部件的控制操作。

圖3 事件監(jiān)聽(tīng)的實(shí)現(xiàn)代碼

5.3 實(shí)現(xiàn)碰撞檢測(cè)

在虛擬裝配系統(tǒng)中,碰撞檢測(cè)是一項(xiàng)非常關(guān)鍵的技術(shù),其作用是判斷多個(gè)零部件在同一時(shí)間、同一空間中是否可能發(fā)生碰撞。高效率的碰撞檢測(cè)技術(shù)研究在三維場(chǎng)景規(guī)模不斷增加的虛擬裝配系統(tǒng)中越來(lái)越受到重視,其直接影響到裝配系統(tǒng)的實(shí)時(shí)動(dòng)態(tài)效果和用戶體驗(yàn)。

項(xiàng)目組通過(guò)以AABB(軸向包圍盒)算法為基礎(chǔ),并增加重疊軸判定算法,形成了重疊軸向包圍盒(SAABB)算法。該算法的核心思想是將待檢測(cè)的零部件三維模型表面定義成為包含若干個(gè)單獨(dú)表面(由多邊形集構(gòu)成)的表面集,利用軸向包圍盒結(jié)合重疊軸對(duì)齊判定的算法,剔除多余的表面部分,再實(shí)施多邊形相交判定,因而能夠?qū)崟r(shí)、高效地進(jìn)行碰撞檢測(cè)。

SAABB算法的工作原理如圖4所示。

圖4 SAABB算法工作原理圖

具體的算法流程是:第一步,確定重疊軸向包圍盒;第二步,碰撞表面選擇;第三步,多邊形相交判定。其中,第二步的算法流程和第三步的算法流程分別如圖5和圖6所示。

圖5 碰撞表面篩選流程圖

圖6 多邊形判定流程圖

5.4 確定裝配方法

裝配方法是指完成某個(gè)裝配過(guò)程的實(shí)施方法。大體上要經(jīng)過(guò)選擇裝配任務(wù)、導(dǎo)入零部件、移動(dòng)零部件、操作裝配等一系列操作。具體來(lái)說(shuō),在選擇裝配任務(wù)步驟中要完成任務(wù)標(biāo)識(shí)和裝配序列等工序,在操作裝配步驟中要完成裝配路徑和時(shí)間等工序,裝配方法的描述見(jiàn)圖7。

任務(wù)標(biāo)識(shí)是用來(lái)明確裝配任務(wù)的,通過(guò)任務(wù)ID標(biāo)識(shí)該任務(wù)的唯一性并確定此任務(wù)的名稱和任務(wù)描述;裝配序列采用了鏈的形式描述零部件在裝配任務(wù)中的裝配順序,使用裝配序列ID標(biāo)識(shí),鏈中的節(jié)點(diǎn)使用如下結(jié)構(gòu)數(shù)據(jù)來(lái)描述:

圖7 裝配方法描述

任務(wù)對(duì)象包括了在任務(wù)中所有涉及的裝配零部件,裝配工具和輔助工裝等,對(duì)應(yīng)信息保存在零部件信息模型中;裝配路徑反映了在虛擬裝配中零部件或裝配工具的移動(dòng)路徑,可通過(guò)路徑ID來(lái)標(biāo)識(shí),路徑是由多個(gè)節(jié)點(diǎn)構(gòu)成的,每個(gè)節(jié)點(diǎn)包含了位置信息、方向信息和后續(xù)節(jié)點(diǎn)信息,可用如下結(jié)構(gòu)數(shù)據(jù)來(lái)描述:

而裝配時(shí)間則包含了開(kāi)始時(shí)間與結(jié)束時(shí)間兩個(gè)部分,用來(lái)記錄裝配動(dòng)作的起止時(shí)間。

6 結(jié)束語(yǔ)

以VRML和JAVA技術(shù)(含JAVA APPLET和JSP)為基礎(chǔ),結(jié)合實(shí)際應(yīng)用,設(shè)計(jì)了基于SAABB算法的VAEAS及相關(guān)的功能模塊,在系統(tǒng)設(shè)計(jì)開(kāi)發(fā)的過(guò)程中著重研究了WRL文件壓縮、“點(diǎn)擊零部件即操作”功能實(shí)現(xiàn)、SAABB碰撞檢測(cè)算法以及裝配方法等四個(gè)問(wèn)題。該系統(tǒng)的實(shí)現(xiàn)對(duì)提高工作效率、降低設(shè)計(jì)成本具有重要的意義。

[1]楊潤(rùn)黨,武殿梁,鄧華林,等.虛擬環(huán)境下產(chǎn)品裝配技術(shù)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)集成制造系統(tǒng),2004(10):1220-1224.

[2]行開(kāi)新,田凌.支持異地協(xié)同設(shè)計(jì)的異構(gòu)CAD虛擬裝配系統(tǒng)[J].清華大學(xué)學(xué)報(bào):自然科學(xué)版,2009(2):226-231.

[3]王德洪,涂玉芬.柴油機(jī)虛擬裝配的研究[J].新技術(shù)新工藝,2009(10):35-37.

[4]唐為奇,范秀敏,武殿梁,等.多用戶協(xié)同虛擬裝配網(wǎng)格系統(tǒng)研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2009(13):3163-3166.

[5]郭丹陽(yáng).基于虛擬環(huán)境的典型機(jī)械產(chǎn)品裝配運(yùn)動(dòng)仿真研究[D].長(zhǎng)春:長(zhǎng)春理工大學(xué),2009.

[6]陳旻.虛擬技術(shù)在機(jī)械裝配工序中的應(yīng)用[J].現(xiàn)代制造工程,2010(2):115-117.

[7]戴杰.虛擬裝配系統(tǒng)中碰撞檢測(cè)技術(shù)的研究與應(yīng)用[D].大連:大連交通大學(xué),2010.

[8]孫月,楊家富.基于Pro/E與ADAMS自動(dòng)打孔裝訂機(jī)聯(lián)合仿真實(shí)現(xiàn)[J].淮陰工學(xué)院學(xué)報(bào),2011(3):29-33.

[9]趙瑛峰,鄭澎.基于混合模型的虛擬裝配關(guān)鍵技術(shù)研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2012(8):3262-3267.

猜你喜歡
碰撞檢測(cè)模塊算法
28通道收發(fā)處理模塊設(shè)計(jì)
“選修3—3”模塊的復(fù)習(xí)備考
全新預(yù)測(cè)碰撞檢測(cè)系統(tǒng)
基于BIM的鐵路信號(hào)室外設(shè)備布置與碰撞檢測(cè)方法
基于MapReduce的改進(jìn)Eclat算法
Travellng thg World Full—time for Rree
進(jìn)位加法的兩種算法
空間遙操作預(yù)測(cè)仿真快速圖形碰撞檢測(cè)算法
一種改進(jìn)的整周模糊度去相關(guān)算法
BIM技術(shù)下的某辦公樓項(xiàng)目管線碰撞檢測(cè)