徐賜軍
(湖北理工學(xué)院 機(jī)電工程學(xué)院,湖北 黃石 435003)
隨著三維CAD模型在數(shù)量及復(fù)雜性上的極速增加,三維CAD模型的重用問(wèn)題日益突出。
三維模型相似性評(píng)價(jià)是模型重用技術(shù)的關(guān)鍵指標(biāo),其預(yù)處理常常采用模型姿態(tài)調(diào)整。萬(wàn)麗莉[1]采用模型法線分布特性分析和歸類(lèi),提出了一種基于模型表面法線分布特性的主成分分析法,實(shí)現(xiàn)了模型姿態(tài)調(diào)整旋轉(zhuǎn)主軸的選取。朱新懿等[2]利用局部對(duì)稱長(zhǎng)度比來(lái)度量三維模型的局部對(duì)稱性,實(shí)現(xiàn)了三維模型的對(duì)齊。SFIKAS K等[3]利用三維模型旋轉(zhuǎn)和反射對(duì)稱參數(shù)的計(jì)算確定了3D模型的對(duì)稱平面,計(jì)算了模型的第一主軸,然后通過(guò)計(jì)算模型的像素值方差構(gòu)建其他主軸,實(shí)現(xiàn)了三維模型檢索過(guò)程中的姿態(tài)歸一化處理。JOHAN H等[4]基于粒子群優(yōu)化方法尋找最小投影面積,并依次確定了第一主軸和第二軸,提出了基于最小投影面積的姿態(tài)歸一化方法。
目前,姿態(tài)調(diào)整方法在大多數(shù)情況下通用且性能良好,但無(wú)法捕捉到三維模型的某些特定特征。
三維模型形狀描述子的基礎(chǔ)特征主要包括統(tǒng)計(jì)特征和骨架特征[5]。統(tǒng)計(jì)特征主要以曲率、面積、距離、角度和法向量等為統(tǒng)計(jì)信息。張藝琨等[6]融合ORB特征和形狀上下文特征提出了一種基于多特征融合的三維模型檢索方法。
基于統(tǒng)計(jì)學(xué)的模型相似性評(píng)價(jià)原理簡(jiǎn)單明了,計(jì)算快速,但對(duì)于復(fù)雜的三維模型區(qū)分效果欠佳。骨架特征描述是結(jié)構(gòu)特征簡(jiǎn)化的有效途徑,在三維模型相似性研究中也得到越來(lái)越多的應(yīng)用。朱文博等[7]利用模型骨架轉(zhuǎn)化獲得模型的拓?fù)浣Y(jié)構(gòu)信息,采用空間離散曲線的曲率和佛朗內(nèi)特標(biāo)架等方法計(jì)算骨架形狀相似度?;诠羌艿南嗨菩栽u(píng)價(jià)對(duì)原始模型的信息要求比較嚴(yán)格,推廣應(yīng)用難度較大。
三維CAD模型具有清晰的解析表達(dá)式,可以利用空間解析幾何等專業(yè)知識(shí)分析基本體的拓?fù)潢P(guān)系、幾何尺寸等特征信息,獲取機(jī)械結(jié)構(gòu)基本體形態(tài),并通過(guò)知識(shí)融合技術(shù)提取機(jī)械結(jié)構(gòu)形態(tài)[8]2860-2862。因此,機(jī)械結(jié)構(gòu)基本體形態(tài)作為機(jī)械結(jié)構(gòu)相似性評(píng)價(jià)的形狀描述子,可以克服統(tǒng)計(jì)特征和骨架特征的不足。
為了量化機(jī)械結(jié)構(gòu)基本體形態(tài)的形狀、尺寸、拓?fù)涞忍卣?本文重點(diǎn)研究機(jī)械結(jié)構(gòu)基本體形態(tài)的信息量度量方法,并基于機(jī)械結(jié)構(gòu)形態(tài)提出三維CAD模型的姿態(tài)調(diào)整方法。
機(jī)械結(jié)構(gòu)基本體形態(tài)是機(jī)械結(jié)構(gòu)形態(tài)的基本組成單元,主要通過(guò)基本體轉(zhuǎn)換模型的掃掠基面、掃掠導(dǎo)線和輪廓約束線三要素,分析選取其中某一要素或與其相關(guān)的線、面,作為基本體抽象描述的表達(dá)方式[8]2859-2860。
圓柱體的基本體模型和基本體形態(tài)如圖1所示。
圖1 基本體
根據(jù)機(jī)械結(jié)構(gòu)三維建模過(guò)程中的基本體布爾運(yùn)算關(guān)系,將基本體形態(tài)進(jìn)行知識(shí)融合,則可構(gòu)建機(jī)械結(jié)構(gòu)形態(tài)[9]2193-2196,如圖2所示。
圖2 機(jī)械結(jié)構(gòu)
基本體形態(tài)具有確定的解析表達(dá)式,便于三維模型的變換和空間特征計(jì)算。因此,機(jī)械結(jié)構(gòu)三維模型的姿態(tài)調(diào)整可以充分利用機(jī)械結(jié)構(gòu)基本體形態(tài)的表達(dá)和變換特性。
基于機(jī)械結(jié)構(gòu)形態(tài)的三維CAD模型姿態(tài)調(diào)整算法框圖如圖3所示。
圖3 姿態(tài)調(diào)整算法框圖
圖3顯示了機(jī)械結(jié)構(gòu)形態(tài)分析模塊量化基本體形態(tài)信息量,并基于該信息量確定機(jī)械結(jié)構(gòu)的主特征形態(tài)、次特征形態(tài)以及第三特征形態(tài),從而可以構(gòu)建三維模型姿態(tài)調(diào)整坐標(biāo)系,實(shí)現(xiàn)機(jī)械結(jié)構(gòu)模型的空間幾何變換。
根據(jù)基本體建模時(shí)是增加實(shí)體還是移除材料,筆者將基本體形態(tài)分為增材基本體形態(tài)和減材基本體形態(tài)。減材基本體必須依附于增材基本體,所以三維模型相似性比較只選擇增材基本體形態(tài);若根據(jù)基本形態(tài)的幾何要素及曲線封閉情況,則可將基本體形態(tài)分為開(kāi)環(huán)線形態(tài)、閉環(huán)線形態(tài)和面形態(tài)。
機(jī)械結(jié)構(gòu)形態(tài)主要由基本體線形態(tài)和基本體面形態(tài)構(gòu)成。對(duì)于一個(gè)面要素,其空間信息主要通過(guò)其幾何形態(tài)來(lái)反映[10]。為了實(shí)現(xiàn)它們之間信息量的可比性,本文將面形態(tài)轉(zhuǎn)換成幾何信息量相當(dāng)?shù)木€形態(tài),定義為當(dāng)量線形態(tài);若面形態(tài)存在多個(gè)閉環(huán)形態(tài),則取其最大輪廓形態(tài)為比較形態(tài)[8]2862。
假設(shè)第i個(gè)基本體面形態(tài)的輪廓周長(zhǎng)為li,則將該面形態(tài)轉(zhuǎn)換成等周長(zhǎng)的圓形面,即轉(zhuǎn)換形態(tài)的直徑為li/π。對(duì)于轉(zhuǎn)換后的形態(tài)各方向最大值均為li/π,而根據(jù)文獻(xiàn)[8]2862的機(jī)械結(jié)構(gòu)形態(tài)提取方法可知,當(dāng)掃掠基面各方向的最大值為L(zhǎng)a,且該基面對(duì)應(yīng)的掃掠導(dǎo)線長(zhǎng)度為L(zhǎng)c時(shí),面形態(tài)應(yīng)滿足Lc<2.618La。
因此,令面形態(tài)的掃掠導(dǎo)線最大值Lc=2.618La,則該面形態(tài)轉(zhuǎn)換成當(dāng)量線形態(tài)時(shí),其周長(zhǎng)為L(zhǎng)c,且La=li/π。
因此,第i個(gè)基本體面形態(tài)的當(dāng)量線形態(tài)周長(zhǎng)為:
ci=2.618×li/π≈0.83li
(1)
機(jī)械結(jié)構(gòu)形態(tài)既體現(xiàn)了基本體的幾何特征,又反映了基本體的拓?fù)潢P(guān)系,因此基本體形態(tài)信息量是基本體形態(tài)幾何信息和拓?fù)湫畔⒌亩攘?且論域?yàn)橥粋€(gè)機(jī)械結(jié)構(gòu)形態(tài)的基本體形態(tài)。根據(jù)式(1)將面形態(tài)轉(zhuǎn)換成線形態(tài)后,筆者通過(guò)計(jì)算基本體形態(tài)信息量,即可比較每個(gè)基本體形態(tài)特征的重要性,從而識(shí)別機(jī)械結(jié)構(gòu)形態(tài)中主要特征的基本體形態(tài),即特征形態(tài)。
(1)線形態(tài)幾何信息特征量
基本體線形態(tài)的幾何信息主要包括尺寸和曲線彎曲次數(shù),且尺寸越大、彎曲次數(shù)越多,該形態(tài)特征的不確定性越小,即所載的幾何信息量越小?;倔w線形態(tài)尺寸信息特征量Ici定義為第i個(gè)基本體線形態(tài)的周長(zhǎng)ci與機(jī)械結(jié)構(gòu)形態(tài)中所有基本體線形態(tài)總周長(zhǎng)c之比,即Ici=ci/c;基本體線形態(tài)彎曲信息特征量Ibi定義為基本體線形態(tài)線段數(shù)mi與機(jī)械結(jié)構(gòu)形態(tài)中所有基本體線形態(tài)總線段數(shù)m之比,即Ibi=mi/m。
(2)基本體形態(tài)拓?fù)湫畔⑻卣髁?/p>
基本體拓?fù)潢P(guān)系反映了基本體之間的連接屬性,若基本體形態(tài)關(guān)聯(lián)的形態(tài)數(shù)量越多,則說(shuō)明該基本體形態(tài)在機(jī)械結(jié)構(gòu)形態(tài)中的作用越大?;倔w形態(tài)拓?fù)湫畔⑻卣髁縄ti定義為第i個(gè)基本體形態(tài)關(guān)聯(lián)的基本體形態(tài)總數(shù)ni與機(jī)械結(jié)構(gòu)形態(tài)的基本形態(tài)總數(shù)n之比,即Iti=ni/n。
(3)信息量計(jì)算
根據(jù)信息量的定義,對(duì)尺寸信息特征量、彎曲信息特征量和拓?fù)湫畔⑻卣髁咳?duì)數(shù),即可得到每個(gè)特征的信息量。由于尺寸特征量、彎曲特征量和拓?fù)涮卣髁肯嗷オ?dú)立,且基于各特征量在信息貢獻(xiàn)上的重要性考慮,在各特征信息量合成過(guò)程中采用加權(quán)和的方法。
因此,第i個(gè)基本體形態(tài)信息量表示為:
(2)
若取對(duì)數(shù)底數(shù)為2,則基本體線形態(tài)幾何信息量單位為bit。
當(dāng)基本體形態(tài)為面形態(tài)時(shí),基本體線形態(tài)尺寸信息特征量中的周長(zhǎng)ci表示當(dāng)量線形態(tài)周長(zhǎng),基本體線形態(tài)彎曲信息特征量中的線段數(shù)mi表示面形態(tài)輪廓的線段數(shù)。
在機(jī)械結(jié)構(gòu)形態(tài)中,筆者根據(jù)基本體形態(tài)信息量從小到大的順序,依次將信息量最小的3個(gè)基本體形態(tài)分別定義為機(jī)械結(jié)構(gòu)形態(tài)的主特征形態(tài)、次特征形態(tài)和第三特征形態(tài),并以此為依據(jù),構(gòu)建機(jī)械結(jié)構(gòu)三維CAD模型姿態(tài)調(diào)整坐標(biāo)系的軸。若基本體形態(tài)為開(kāi)環(huán)線形態(tài),則特征向量為基本體形態(tài)起點(diǎn)指向終點(diǎn)的向量;若基本體形態(tài)為閉環(huán)線形態(tài)或面形態(tài),則特征向量為基本體形態(tài)所在面的法向量,其方向根據(jù)幾何元素?cái)?shù)據(jù)存儲(chǔ)順序及右手定則確定。
此處令主特征形態(tài)、次特征形態(tài)和第三特征形態(tài)所對(duì)應(yīng)的特征向量分別為v1、v2、v3,且閉環(huán)線形態(tài)和面形態(tài)的特征向量起點(diǎn)為其形心;另令分別過(guò)v1、v2、v3的起點(diǎn),且分別以其相應(yīng)向量為方向向量,構(gòu)建的直線為L(zhǎng)1、L2、L3。
機(jī)械結(jié)構(gòu)三維模型姿態(tài)調(diào)整坐標(biāo)系的構(gòu)建步驟如下:
(1)以v1起點(diǎn)為坐標(biāo)系原點(diǎn),直線L1的位置為Z軸;
(2)由原點(diǎn)分別指向次特征形態(tài)、第三特征形態(tài)的特征點(diǎn)構(gòu)建向量u2、u3,依次以Z軸上單位向量與u2、u3的夾角小于90°為判斷條件,直至確定Z軸正向?yàn)橹?。若v1與u2、u3均垂直,則說(shuō)明次特征形態(tài)、第三特征形態(tài)的頂點(diǎn)在Z軸正負(fù)方向分布比較均勻,因此,此時(shí)選擇v1的方向?yàn)閆軸正方向;
(3)過(guò)原點(diǎn)構(gòu)建Z軸的垂直面。當(dāng)L2與L1、L3均共線時(shí),在垂直面內(nèi)過(guò)原點(diǎn)構(gòu)建X軸,且依次以系統(tǒng)坐標(biāo)系下的向量(1,0,0)和(0,1,0)與X軸正向向量夾角最小確定X軸位置和方向;當(dāng)L2與L1共線且與L3不共線時(shí),在垂直面內(nèi)以n2=v3×v2為方向向量過(guò)原點(diǎn)構(gòu)建X軸,且取X軸上向量與u3的夾角小于90°的方向?yàn)閄軸正向,否則取n2方向?yàn)閄軸正向;當(dāng)L2與L1不共線時(shí),以n3=v1×v2為法向向量過(guò)原點(diǎn)構(gòu)建平面,該平面與垂直面的交線為X軸。當(dāng)X軸方向沒(méi)有確定時(shí),依次以X軸上單位向量與u2、u3、v2、v3的夾角小于90°為判斷條件,直至確定X軸正向?yàn)橹?
(4)根據(jù)右手定則確定Y軸的位置和方向。
上述步驟若不存在次特征形態(tài)或第三特征形態(tài),則涉及該形態(tài)的判斷不執(zhí)行,且將僅有主特征形態(tài)的情況視為L(zhǎng)2與L1、L3均共線。
根據(jù)機(jī)械結(jié)構(gòu)三維模型姿態(tài)調(diào)整坐標(biāo)系,以查詢機(jī)械結(jié)構(gòu)三維模型的姿態(tài)調(diào)整坐標(biāo)系為參照,將待比較機(jī)械結(jié)構(gòu)三維模型姿態(tài)調(diào)整坐標(biāo)系進(jìn)行變換,使兩者坐標(biāo)系重合。因此,筆者先根據(jù)兩個(gè)姿態(tài)調(diào)整坐標(biāo)系的幾何關(guān)系,直接求解三維模型做平移歸一化、旋轉(zhuǎn)歸一化的姿態(tài)調(diào)整參數(shù),而比例歸一化處理的縮放因子則需根據(jù)待比較的兩個(gè)機(jī)械結(jié)構(gòu)形態(tài)的幾何尺寸進(jìn)行選取,且以查詢機(jī)械結(jié)構(gòu)形態(tài)為基準(zhǔn)。最后根據(jù)空間幾何變換技術(shù)即可實(shí)現(xiàn)三維CAD模型的姿態(tài)調(diào)整。
機(jī)械結(jié)構(gòu)三維CAD模型具有清晰的建模過(guò)程,且基本體具有明確的解析表達(dá)式。
機(jī)械結(jié)構(gòu)三維模型如圖4所示。
圖4 機(jī)械結(jié)構(gòu)三維模型
圖4中,兩個(gè)模型結(jié)構(gòu)相似,但建模時(shí)造型步驟不一樣導(dǎo)致其空間位置不同,不利于兩個(gè)模型的相似性比較。因此,本文采用基本體形態(tài)信息量度量方法確定模型的主要特征結(jié)構(gòu),以利于模型的相似性比較。
針對(duì)三維CAD模型的構(gòu)建特征,筆者獲取兩個(gè)三維模型對(duì)應(yīng)的機(jī)械結(jié)構(gòu)形態(tài)如圖5所示。
圖5 機(jī)械結(jié)構(gòu)形態(tài)
圖5中,機(jī)械結(jié)構(gòu)形態(tài)模型數(shù)據(jù)采用頂點(diǎn)為基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)予以存儲(chǔ)[9]2198,且經(jīng)頂點(diǎn)數(shù)據(jù)轉(zhuǎn)換后幾何尺寸如圖5所示。
根據(jù)機(jī)械結(jié)構(gòu)形態(tài)提取方法,由圖5可知:兩個(gè)模型均含有4個(gè)基本體形態(tài),即M11、M12、M13、M14和M21、M22、M23、M24,其中M11、M14、M21、M24為面形態(tài),其余為線形態(tài)。
根據(jù)本文機(jī)械結(jié)構(gòu)基本體形態(tài)信息量度量方法及圖5所示結(jié)構(gòu)和幾何尺寸,可得到基本體形態(tài)的信息量參數(shù),如表1所示。
表1 基本體形態(tài)信息量參數(shù)
根據(jù)信息論可知信息量越小基本體形態(tài)不確定性越小,則由表1的基本體形態(tài)信息量可確定:模型1、模型2的主特征形態(tài)、次特征形態(tài)和第三特征形態(tài)分別為M11、M14和M13,以及M24、M21和M22。
根據(jù)模型1、模型2的特征形態(tài)以及機(jī)械結(jié)構(gòu)三維模型姿態(tài)調(diào)整坐標(biāo)系的構(gòu)建步驟,可獲得各自的三維模型姿態(tài)調(diào)整坐標(biāo)系,如圖6所示。
圖6 三維模型姿態(tài)調(diào)整坐標(biāo)系
以模型1的三維模型姿態(tài)調(diào)整坐標(biāo)系為參照,通過(guò)空間幾何變換技術(shù)可獲得模型2新的空間姿態(tài),如圖7所示。
圖7 姿態(tài)調(diào)整后的模型2
由圖7(b)及圖4(a)可知:經(jīng)變換后,兩個(gè)模型空間姿態(tài)更加相似。
針對(duì)機(jī)械結(jié)構(gòu)基本體形態(tài)可以反映三維模型每部分結(jié)構(gòu)的尺寸、形狀和拓?fù)潢P(guān)系等特征,本文提出了一種基于機(jī)械結(jié)構(gòu)基本體形態(tài)的三維CAD模型姿態(tài)調(diào)整方法。
首先針對(duì)機(jī)械結(jié)構(gòu)基本體形態(tài)的特點(diǎn),采用當(dāng)量線形態(tài)技術(shù)處理異構(gòu)的基本體形態(tài);并研究了基本體形態(tài)的幾何信息特征量、拓?fù)湫畔⑻卣髁?提出了基本體形態(tài)信息量的計(jì)算方法,實(shí)現(xiàn)了機(jī)械結(jié)構(gòu)三維模型的主要特征結(jié)構(gòu)的識(shí)別;基于機(jī)械結(jié)構(gòu)特征形態(tài)提出了三維CAD模型的姿態(tài)調(diào)整方法,并通過(guò)實(shí)例驗(yàn)證了該方法的有效性。
研究結(jié)論表明:機(jī)械結(jié)構(gòu)基本體形態(tài)信息量度量方法可以有效簡(jiǎn)化機(jī)械結(jié)構(gòu)三維模型的相似性比較過(guò)程,為三維模型姿態(tài)調(diào)整等技術(shù)提供新的方法。