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