• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Mel的仿真模型干涉檢測(cè)方法研究*

    2018-10-09 06:37:18庫(kù)祥臣張國(guó)慶
    關(guān)鍵詞:面片交點(diǎn)四邊形

    庫(kù)祥臣,張國(guó)慶,梁 怡

    (河南科技大學(xué) 機(jī)電工程學(xué)院,河南 洛陽(yáng) 471003)

    0 引言

    生產(chǎn)線(xiàn)設(shè)計(jì)過(guò)程中引入虛擬仿真技術(shù),在虛擬環(huán)境下建立生產(chǎn)線(xiàn)相關(guān)設(shè)備模型并進(jìn)行虛擬布局,可以快速確定設(shè)備的相互位置關(guān)系、優(yōu)化生產(chǎn)流程、縮短生產(chǎn)線(xiàn)設(shè)計(jì)周期;改善二維圖紙化生產(chǎn)線(xiàn)設(shè)計(jì)方法直觀效果差、較為依賴(lài)設(shè)計(jì)經(jīng)驗(yàn)、存在成本高及周期長(zhǎng)等問(wèn)題[1]。

    據(jù)相關(guān)數(shù)據(jù)顯示,部分企業(yè)生產(chǎn)線(xiàn)空間規(guī)劃不合理,導(dǎo)致物料運(yùn)輸距離過(guò)長(zhǎng)、空間利用率低,降低了生產(chǎn)效率,壓縮了企業(yè)的效益空間,因此企業(yè)對(duì)于生產(chǎn)線(xiàn)設(shè)計(jì)質(zhì)量提出了更高的要求[2]。鋪設(shè)生產(chǎn)線(xiàn)所需要的空間包括設(shè)備各自的工作空間、設(shè)備間的隔離空間、改造及維護(hù)空間等。利用仿真軟件Maya進(jìn)行生產(chǎn)線(xiàn)虛擬布局,能夠?qū)ιa(chǎn)線(xiàn)設(shè)計(jì)方案進(jìn)行優(yōu)化,在保證生產(chǎn)線(xiàn)設(shè)備具有足夠的冗余空間的同時(shí),提高生產(chǎn)線(xiàn)空間的利用率[3]。生產(chǎn)線(xiàn)仿真過(guò)程中設(shè)備數(shù)量較多且位置關(guān)系復(fù)雜,設(shè)備的工作空間普遍存在交叉情況,壓縮生產(chǎn)線(xiàn)建設(shè)空間的同時(shí),需要對(duì)設(shè)計(jì)方案中設(shè)備分配空間進(jìn)行干涉檢驗(yàn),避免在生產(chǎn)線(xiàn)建設(shè)過(guò)程中出現(xiàn)空間不足使設(shè)備難以安裝或生產(chǎn)線(xiàn)建設(shè)完成后出現(xiàn)工作空間交叉導(dǎo)致設(shè)備無(wú)法正常使用,造成人力、物力的損失。

    基于對(duì)象分解的干涉檢測(cè)算法,將實(shí)體模型分解為組成模型的子級(jí)元素,對(duì)子級(jí)元素進(jìn)行相交測(cè)試,進(jìn)而判斷原始模型實(shí)體是否存在干涉現(xiàn)象[4-5],該算法檢測(cè)準(zhǔn)確率高且實(shí)現(xiàn)過(guò)程簡(jiǎn)單,但需要對(duì)所有組成元素進(jìn)行相交測(cè)試。針對(duì)對(duì)象分解干涉檢測(cè)算法在子級(jí)元素較多時(shí),運(yùn)算量大導(dǎo)致算法性能急劇下降的問(wèn)題[6-7],在實(shí)體模型分離之后,根據(jù)子級(jí)元素與實(shí)體空間距離對(duì)子級(jí)元素集合進(jìn)行篩選,對(duì)篩選出的子集進(jìn)行干涉檢測(cè),減少了檢測(cè)過(guò)程的計(jì)算量,可以有效提高檢測(cè)效率。

    1 生產(chǎn)線(xiàn)虛擬仿真

    Maya作為市場(chǎng)上常用的計(jì)算機(jī)圖形創(chuàng)建工具之一,在實(shí)體模型建立、虛擬場(chǎng)景制作、動(dòng)畫(huà)仿真、個(gè)性化功能擴(kuò)展等方面較常用的工業(yè)建模軟件在生產(chǎn)線(xiàn)仿真應(yīng)用中有著明顯優(yōu)勢(shì)[8]。

    多邊形建模作為Maya中常用的建模方法,采用多段直線(xiàn)擬合實(shí)體邊,對(duì)實(shí)體造型具有更強(qiáng)的控制能力;將實(shí)體分為點(diǎn)、線(xiàn)、面等子對(duì)象,對(duì)子對(duì)象進(jìn)行編輯可以實(shí)現(xiàn)對(duì)實(shí)體模型的修改。采用多邊形建模時(shí),首先分析目標(biāo)設(shè)備造型,將設(shè)備模型分割為近似的基本多邊形實(shí)體,建立初步模型;然后利用輔助多邊形實(shí)體,通過(guò)布爾交、差、并等操作完成模型主要特征,進(jìn)行模型的細(xì)節(jié)修改形成最終實(shí)體造型;最后調(diào)整多邊形面片的UV、法向等,對(duì)設(shè)備模型進(jìn)行渲染,輸出最終模型文件。

    完成生產(chǎn)線(xiàn)設(shè)備模型建立之后,新建Maya場(chǎng)景文件,將模型文件導(dǎo)入(Import)到場(chǎng)景中,在模型屬性對(duì)話(huà)窗口中設(shè)置位姿相關(guān)屬性(Translate、Rotate),調(diào)整至場(chǎng)景中的目標(biāo)位置。依次將完成的生產(chǎn)設(shè)備模型導(dǎo)入到布局場(chǎng)景后,完成生產(chǎn)線(xiàn)的虛擬布局如圖1、圖2所示。

    圖1 控制平臺(tái)模型 圖2 生產(chǎn)線(xiàn)虛擬布局

    在生產(chǎn)線(xiàn)虛擬布局的基礎(chǔ)上進(jìn)行生產(chǎn)過(guò)程仿真,主要包括場(chǎng)景設(shè)置、關(guān)鍵幀序列的編輯、仿真結(jié)果的渲染輸出等。采用基于關(guān)鍵幀編輯模式的Mel Script動(dòng)畫(huà)技術(shù)[9],在腳本編輯器(Script Editor)中完成關(guān)鍵幀序列的制作。關(guān)鍵幀編輯完成后,將仿真結(jié)果渲染并輸出為擴(kuò)展名為.avi的文件。對(duì)生產(chǎn)過(guò)程仿真的主要步驟如圖3所示。

    圖3 生產(chǎn)過(guò)程仿真流程

    2 模型干涉檢測(cè)算法

    虛擬環(huán)境下,模型間的位置關(guān)系存在交叉、分離、包容三種情況。在模型間距離或干涉集較小時(shí),需要對(duì)模型間是否產(chǎn)生干涉進(jìn)行準(zhǔn)確檢測(cè)。

    2.1 模型實(shí)體的分解

    實(shí)體模型存著干涉時(shí),組成實(shí)體的面片必定存在相交情況[10]。采用對(duì)象分解的干涉檢測(cè)方法,將組成兩實(shí)體的面片分為兩個(gè)四邊形面片集合,對(duì)集合中的面片與另一集合中的所有面片進(jìn)行相交測(cè)試,若兩測(cè)試面片存在相交情況,可以判斷兩實(shí)體相交;若所有面片均不相交,則說(shuō)明兩實(shí)體相互分離[11]。當(dāng)兩個(gè)面片集合分別含有m、n個(gè)面片時(shí),最壞情況下需要進(jìn)行m×n次面片相交測(cè)試,面片較多時(shí)算法效率急劇下降。

    生產(chǎn)線(xiàn)設(shè)備模型多為規(guī)則表面,采用基于實(shí)體距離的篩選條件對(duì)兩個(gè)面片集合進(jìn)行篩選,可以有效提高檢測(cè)效率。面片與實(shí)體均為空間結(jié)構(gòu),通過(guò)式(1)所示對(duì)面片與實(shí)體各個(gè)頂點(diǎn)的坐標(biāo)求平均值,作為實(shí)體與面片的中心坐標(biāo);通過(guò)式(2)計(jì)算中心點(diǎn)的距離作為實(shí)體間距離的近似表達(dá)。

    (1)

    式中,vi(x,y,z)為實(shí)體的各個(gè)頂點(diǎn)坐標(biāo)。

    (2)

    圖4 實(shí)體干涉檢測(cè)過(guò)程

    2.2 四邊形面片相交測(cè)試

    兩面片相交時(shí),組成面片的邊與另一面片存在公共點(diǎn)。面片相交測(cè)試可轉(zhuǎn)換為面片組成邊與另一面片的公共點(diǎn)的求解,若邊線(xiàn)與面片存在公共點(diǎn),則兩面片相交;若所有邊線(xiàn)與面片不存在公共點(diǎn),則兩面片不相交。面片相交檢測(cè)步驟如圖5所示。

    圖5 面片相交檢測(cè)過(guò)程

    在判定面片相交過(guò)程中,首先要求得面片所在平面方程、面片組成線(xiàn)段所在的直線(xiàn)方程。設(shè)需要進(jìn)行判定相交的面片為S1(p1,p2,p3,p4),S2(q1,q2,q3,q4),面片S1的頂點(diǎn)坐標(biāo)矩陣A1如下:

    面片S1的組成邊所在直線(xiàn)的向量矩陣B1為:

    面片S1上點(diǎn)p1、p2邊所在直線(xiàn)L12方程如式(3)所示,其他邊所在的直線(xiàn)方程具有類(lèi)似形式。

    (3)

    式中,k為任意實(shí)數(shù),Bij為矩陣B1中第i行第j列元素。

    求解齊次方程組B1·λ=0,可得面片S1所在平面的法向量λ。四邊面片S1的四條邊線(xiàn)在同一平面內(nèi),向量矩陣B1的秩為2。假定矩陣B1第1、2行元素不對(duì)應(yīng)成比例,將矩陣B1對(duì)角化為矩陣C:

    取λ3=1,根據(jù)對(duì)角陣C有:

    向量λ=(λ1,λ2,λ3)即為S1所在平面的一個(gè)法向量,S1所在的平面方程為:

    λ1x+λ2y+λ3z-λ1p1x-λ2p1y-λ3p1z=0

    (4)

    類(lèi)似有面片S2所在的平面方程為:

    γ1x+γ2y+γ3z-γ1q1x-γ2q1y-γ3q1z=0

    (5)

    式中,γ=(γ1,γ2,γ3)為S2所在平面的一個(gè)法向量。

    求得直線(xiàn)向量及平面法向量后,若點(diǎn)積γ(B11,B12,B13)=0,則直線(xiàn)與平面平行,此時(shí)兩面片處于臨界位置,視為線(xiàn)段與面片不相交;若γ(B11,B12,B13)≠0,則進(jìn)一步求解邊線(xiàn)與平面的交點(diǎn)。聯(lián)立式(3)、式(5)并求解方程組,可以得到直線(xiàn)方程L12中的參數(shù)k。

    直線(xiàn)L12與平面S2的交點(diǎn)P坐標(biāo)為:

    P(B11·k+p1x,B12·k+p1y,B13·k+p1z)

    2.3 交點(diǎn)位置判定

    判斷線(xiàn)段與面片是否存在公共點(diǎn),需要根據(jù)線(xiàn)段所在直線(xiàn)與面片所在平面的交點(diǎn)位置進(jìn)行判斷。若交點(diǎn)在線(xiàn)段上且在面片內(nèi)時(shí),線(xiàn)段與面片相交,即兩面片相交;若交點(diǎn)不在線(xiàn)段上或不在面片內(nèi),線(xiàn)段與面片不相交,所有邊線(xiàn)與均面片不相交時(shí),兩面片不相交。

    判斷交點(diǎn)P是否在線(xiàn)段L12內(nèi),可根據(jù)線(xiàn)段兩端點(diǎn)所確定的坐標(biāo)范圍,當(dāng)交點(diǎn)坐標(biāo)滿(mǎn)足式(6)時(shí)點(diǎn)在線(xiàn)段上。

    (6)

    采用面積算法判斷點(diǎn)是否在四邊面片S2區(qū)域內(nèi)時(shí),需要計(jì)算四邊面片S2的面積。將空間四邊面片按點(diǎn)q1,q3所在對(duì)角線(xiàn)劃分為兩個(gè)三角形面片F(xiàn)1(q1,q2,q3)和F2(q2,q3,q4),計(jì)算兩個(gè)三角形面積f1,f2,面積f1可由公式(7)求得。按照q2,q4所在對(duì)角線(xiàn)劃分,可得f3,f4。

    (7)

    建模過(guò)程中對(duì)模型點(diǎn)、邊的調(diào)整,四邊形面片形狀復(fù)雜,組成模型的面片存在部分凹四邊形。如圖6所示,當(dāng)面片為凹四邊形時(shí),選擇不同對(duì)角線(xiàn)面積的計(jì)算結(jié)果不同,計(jì)算四邊形面積,分為兩種情況:

    (1)當(dāng)f1+f2=f3+f4時(shí),四邊形面片S2的面積f=f1+f2,將交點(diǎn)P與四邊形S2四條邊線(xiàn)組成四個(gè)三角形并計(jì)算面積和f′,面積和等于四邊形面積f時(shí),點(diǎn)在面片區(qū)域內(nèi),面積和f′大于四邊形面積f時(shí),交點(diǎn)在面片區(qū)域外。

    (2)當(dāng)f1+f2≠f3+f4時(shí),面片為凹四邊形,四邊面片S2的面積為f=min(f1+f2,f3+f4)。選擇劃分后面積和較小的對(duì)角線(xiàn),將四邊面片劃分為兩個(gè)三角形,判斷點(diǎn)P是否在兩個(gè)三角形區(qū)域內(nèi),進(jìn)而判斷點(diǎn)是否在該面片區(qū)域內(nèi)。判斷點(diǎn)在三角形區(qū)域內(nèi)方法,與情況1相同。

    圖6 凹、凸四邊形面片

    3 Mel Script干涉檢測(cè)

    Mel是Maya的內(nèi)嵌腳本語(yǔ)言,語(yǔ)法類(lèi)似于C、C++等,包含豐富的指令系統(tǒng),可以獲取實(shí)體的相關(guān)信息,對(duì)實(shí)體進(jìn)行位置、渲染等屬性進(jìn)行設(shè)置,能夠以更加強(qiáng)大的方式對(duì)Maya進(jìn)行控制。

    Mel Script通過(guò)豐富的指令系統(tǒng),以模型實(shí)體名稱(chēng)為參數(shù),獲取面片包含頂點(diǎn)數(shù)、頂點(diǎn)坐標(biāo)等模型統(tǒng)計(jì)信息;采用特殊數(shù)據(jù)類(lèi)型martrix定義參數(shù)矩陣,求解各個(gè)參數(shù)矩陣,進(jìn)行組成實(shí)體模型面片的相交檢測(cè);檢測(cè)完成后,利用渲染指令對(duì)存在相交的面片高亮顯示。

    在Maya軟件中建立200×200×200的基本立方體pCube1,設(shè)置平移矢量為(200,-170,-100)、坐標(biāo)方向細(xì)分?jǐn)?shù)均為4;φ200×300的基本圓柱體pClinder1,設(shè)置中心坐標(biāo)為(50,30,20)、軸向細(xì)分?jǐn)?shù)為20、高度細(xì)分?jǐn)?shù)為4、端面細(xì)分?jǐn)?shù)為3。對(duì)實(shí)體pCube1、pClinder1進(jìn)行干涉檢測(cè),結(jié)果如圖7所示。

    圖7 干涉檢測(cè)示例

    對(duì)模型進(jìn)行干涉檢測(cè)的仿真結(jié)果表明:采用基于Mel Script的對(duì)象分離干涉檢測(cè)方法,在經(jīng)過(guò)篩選的面片子集上能準(zhǔn)確檢測(cè)出實(shí)體干涉現(xiàn)象,提高了干涉檢測(cè)計(jì)算效率,較好的滿(mǎn)足了生產(chǎn)線(xiàn)設(shè)備在Maya仿真軟件中進(jìn)行虛擬布局時(shí)干涉檢測(cè)的需要;對(duì)實(shí)體的干涉部分面片進(jìn)行高亮顯示,增強(qiáng)了生產(chǎn)線(xiàn)虛擬仿真的真實(shí)性有效性。

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

    在仿真軟件Maya中,采用多邊形建模方法,完成了生產(chǎn)線(xiàn)設(shè)備模型建立并進(jìn)行布局仿真,實(shí)現(xiàn)生產(chǎn)線(xiàn)的設(shè)計(jì)方案的可視化表達(dá),改善了二維圖紙化生產(chǎn)線(xiàn)設(shè)計(jì)方案可視化效果不明顯的問(wèn)題?;趯?duì)象分解的干涉檢測(cè)理論,將模型實(shí)體分解為組成模型實(shí)體的四邊形面片集合,根據(jù)子級(jí)對(duì)象與目標(biāo)實(shí)體間的距離對(duì)離散集合進(jìn)行篩選,利用Mel Script實(shí)現(xiàn)對(duì)生產(chǎn)線(xiàn)布局中模型實(shí)體的干涉檢測(cè),解決了虛擬仿真過(guò)程中設(shè)備工作空間難以檢驗(yàn)的問(wèn)題。仿真結(jié)果表明,該檢測(cè)方法可以快速準(zhǔn)確的完成實(shí)體干涉的檢測(cè),對(duì)Maya環(huán)境下生產(chǎn)線(xiàn)的虛擬仿真有重要的參考價(jià)值。

    猜你喜歡
    面片交點(diǎn)四邊形
    初次來(lái)壓期間不同頂板對(duì)工作面片幫影響研究
    圓錐曲線(xiàn)內(nèi)接四邊形的一個(gè)性質(zhì)
    閱讀理解
    四邊形逆襲記
    4.4 多邊形和特殊四邊形
    借助函數(shù)圖像討論含參數(shù)方程解的情況
    試析高中數(shù)學(xué)中橢圓與雙曲線(xiàn)交點(diǎn)的問(wèn)題
    甜面片里的人生
    幸福家庭(2016年3期)2016-04-05 03:47:08
    青海尕面片
    老伴逼我搟面片
    新密市| 长春市| 安福县| 东安县| 明溪县| 信宜市| 扎赉特旗| 垦利县| 天门市| 嘉黎县| 黄冈市| 开阳县| 边坝县| 凌云县| 云安县| 嘉禾县| 泸州市| 健康| 绥阳县| 内江市| 湖南省| 平和县| 定襄县| 宜兰市| 广水市| 津南区| 独山县| 枝江市| 庄河市| 轮台县| 沙坪坝区| 淮南市| 正宁县| 平度市| 阿克陶县| 衡南县| 万全县| 石渠县| 四会市| 宁阳县| 丰都县|