行開新, 田 凌, 童秉樞
(清華大學精密儀器及機械學系,北京 100084)
隨著網絡技術的發展和全球化進程的不斷推進,協同設計成為企業縮短設計周期,增強競爭力的有效手段。傳統CAD零件模型體積龐大,現有網絡條件下很難進行遠程異地的傳輸,不同CAD系統的零件模型格式又互不兼容,因此傳統模型格式其無法實現對異地協同設計和跨CAD平臺設計的支持。VRML模型具有標準化、造型逼真、交互性強以及體積小等諸多優點;同時,大多數CAD軟件均提供了VRML格式輸出接口。因此,VRML模型提供了適合在 Internet上可視化顯示和操縱不同CAD系統產生的零件模型的理想方式[1]。
用于協同設計的 VRML環境與普通的網絡三維 VRML環境有所不同,前者除了需要詳細的外形表述外,還需要相關的設計特征參數。目前在協同設計方面對 VRML的研究主要集中在實時交互處理[2]及三維模型的優化[3]。對于復雜的產品零部件模型 VRML都是采用三角面片造型方式,其設計特征參數無法從模型本身直接獲得。對于這個問題,當前主要方法是在模型之外附加零件特征信息[4-5],但這無疑增加了協同設計尤其是異地協同設計的網絡負擔。因此對VRML模型的設計信息進行重建,使設計者能夠進行完善的協同設計,是基于 VRML協同設計亟待解決的問題。
通過調查發現,零件裝配特征中,90%為平面和回轉體(如圓柱面,圓錐面,球面等)。回轉體在機械模型設計特征中約占70%,其特征參數(如回轉中心,回轉半徑等)在設計過程中有重要意義。本文對這些特征信息的重建進行了研究,提出變步長同步移動搜索算法,并對其計算效率及復雜度進行了分析驗證。
VRML模型是一個表面模型,它由一系列(平)面片包圍形成,一個面片可包含多個頂點。為了確保所有頂點位于一個平面上,CAD系統輸出 VRML模型時常將模型表面分解為一系列具有鄰接關系的三角面片,一個 VRML模型可表示為



各點及矢量的關系如圖1所示。

圖1 VRML模型面片定義
VRML模型將設計特征中的圓柱、圓錐回轉體分別離散成了由若干三角面片構成的正棱柱和正棱臺,而球體則被離散成為了多段正棱臺組成的近似球體,各種回轉體垂直軸線的截平面形狀均為正多邊形,如圖2所示。計算回轉中心時,初始條件選取設計模型的一個頂面定位點0P和3個側面定位點同時獲得四點所在面片的法向量n0, n1, n2, n3,3個側面點屬于不同的三角面片單元。算法主要思想是首先將不在同一平面的映射到與 n0垂直的平面內,由VRML模型的幾何特征可知,投影后的點在以回轉中心為圓心,以回轉半徑為外切圓半徑的正多邊形的弦上。通過算法將投影后的各點移至各自所在弦的中點,進而計算回轉中心及回轉半徑。其具體步驟如下:
Step 1 投影各點
根據柱面,錐面和球面的不同特點,將側面的3個點投影到P1所在的垂直于軸線n0的面Φ上,投影后的各點為P1, P2', P3',并求出投影后的單位法向量n1, n2', n3',如圖2所示。

圖2 將側面點映射到同一平面Φ上
Step 2 計算邊向量
計算P1, P2', P3'三個點所在的邊的單位向量Tp1, Tp2, Tp3,如式(1)所示

Step 3 確定初始搜索步長
選擇P1, P2', P3'組成的三角形中最長邊長為初始搜索步長τ。

圖3 投影后的截面
Step 4 移動點P2'
根據P1P2'與對應兩條邊的法向量n1, n2'的夾角,α β的關系在P2'所在的邊上移動P2',如圖3所示。由式(2)計算得到cosα,cosβ。

若前后兩次計算cosα, cosβ大小關系發生變化,則首先將搜索步長變為原來的1/10,之后再移動P2'。重復本步驟直到步長τ 小于要求的精度值或cosα, cosβ相等。
Step 5 移動點P3'
使用類似Step 3和Step 4的方法,根據P2'P3'和n2', n3'的關系,移動P3'。
Step 6 同步移動P1, P2', P3'三點
根據P1P3'和對應兩條邊的法向量n1, n3'夾角,γ δ的關系在P1, P2', P3'所在的邊上移動三點。首先計算兩個角的余弦cosγ,cosδ

若cosγ>cosδ,則1P,P2',P3'分別向-Tp1, Tp2,-Tp3方向移動τ

若cosγ<cosδ,則1P,P2',P3'分別向Tp1, -Tp2,Tp3方向移動τ

若前后兩次計算cosγ,cosδ大小關系發生變化,則首先將搜索步長變為原來的1/10,之后再移動三點。重復本步驟直到步長τ小于要求的精度值或cosγ,cosδ相等。
通過上述移動后,1P, P2', P3'各點均位于所在邊的中點,以下根據幾何關系計算相應的回轉特征參數,如圖4所示。

圖4 計算回轉中心等參數
Step 7 計算回轉中心
設回轉中心為cP,根據幾何關系可知點cP和1P,2P′滿足式(8)所示關系,由此求得回轉中心。

Step 8 計算回轉半徑
根據式(9)中關系可得到截面多邊形的某一頂點PA

由式(10)即可計算得到回轉半徑

本算法完全基于向量空間,初始條件僅需要少量局部 VRML模型信息,采用變步長搜索比較方式自適應性強,降低了計算和迭代次數,易于實現,計算效率高。為了進一步分析該算法的計算性能,設計了以下實驗。
在初始條件相同的條件下,實驗選用已知回轉中心為Z軸,主軸最細處直徑為6mm的階梯軸VRML模型,如圖5所示。該模型由5525個面片組成,其回轉部分由正 22棱柱近似圓柱回轉體。計算所得的回轉中心精度取決于算法所采用的最小搜索步長,最小步長也決定著系統的迭代次數和計算效率。

圖5 階梯傳動軸
實驗選擇了 0.00001、0.00005、0.0001、0.0005、0.001、0.005、0.01、0.05、0.1等 9個值作為最小搜索步長分別進行測試,所選值分布在0.00001~0.1,約為軸直徑的0.00017%~1.67%。針對每個最小搜索步長分別用四組點做測試。此處定義絕對誤差的計算公式為式(11)

測得隨著迭代步長的增加,迭代次數和迭代誤差分布情況分別如圖6和圖7所示。
通過實驗結果可以看出其分布具有以下規律:
(1)隨著最小搜索步長的增大,算法的誤差也隨之增大。不同組的數據計算結果的誤差不同,但是都分布在坐標系45°線的附近或者下側。由此看出,計算誤差整體上和最小搜索步長成正比關系。同樣的結論也可以通過圖4的幾何關系推導出來:從圖上可以看出,圓心點的誤差和弦中點的誤差成近似正比關系。

圖6 迭代次數變化情況

圖7 迭代誤差分布情況
(2)隨著最小搜索步長的減小,算法的搜索迭代次數不斷增加,但是可以看出,搜索最小搜索步長變為原來的1/10,搜索迭代次數僅增加10~30次,迭代次數增加遠遠慢于搜索步長的減小。
(3)不同組的數據計算出來的誤差和迭代次數差異比較大。計算誤差雖然在坐標系 45°線附近分布較多,但是有少數分布在較下側;最小搜索步長不變的條件下,算法的迭代次數也會出現差異。這是由于搜索算法本身的特點決定的,搜索算法是在一定的范圍內進行搜索,因此,實際點離邊界點的遠近就導致了搜索迭代次數的差異;計算誤差也一樣,計算結果只是最后一次搜索的邊界值,而實際點離該邊界的遠近直接影響著迭代誤差的大小。
(4)綜上,可以看出迭代步長是算法效率和精度的重要指標,隨著迭代步長的增大,迭代次數呈下降趨勢,迭代誤差總體呈上升趨勢。所以迭代步長的選取可以根據迭代次數和迭代誤差的分布規律來綜合考慮,使算法既具備很好的計算效率又具備很好的精度。
本文所述方法為協同瀏覽尺寸信息查詢、協同裝配模型定位等協同設計過程提供了重要的特征參數信息,是 VRML環境下實現深層次協同設計操作的基礎。目前,該算法已經應用于一些協同設計系統,如協同虛擬裝配系統、協同瀏覽批注系統[6]等。圖8為利用本文介紹的裝配特征信息重建方法開發的協同虛擬裝配系統進行某型號萬向節總成的虛擬裝配,裝配過程中只需要分別依次選擇零件和裝配體回轉特征上的4個點就可以實現以零件的裝配。實際使用表明該方法計算效率和計算結果均滿足協同設計的要求。

圖8 利用本文算法進行虛擬裝配
在基于Web設計應用越加深入的背景下,本文提出了變步長移動搜索算法,該算法能夠利用少量局部 VRML模型信息通過搜索迭代方法實時高效地計算各種回轉體特征的參數信息,對VRML零件回轉體裝配特征進行信息重建。此外,該算法計算初始條件少,自適應性強,亦適用于其它網格模型的數據信息提取。
[1]Ando H, Kubota A, Kiriyama T. Study on the collaborative design process over the Internet: a case study on VRML 2.0 specification design [J]. Design Studies, 1998, 19(3): 289-308.
[2]周自強, 沈連婠, 趙 瑋, 等. 基于Web的虛擬設計中VRML實時模型的可交互處理方法[J]. 計算機輔助設計與圖形學學報, 2005, 17(16): 1371-1377.
[3]Jeong-Hwan Ahn, Chang-Su Kim, Yo-Sung Ho. An efficient coding algorithm for color and normal data of three-dimensional mesh models [C]//IEEE International Conference on Image Processing,Barcelona, 2003: 789-792.
[4]劉檢華, 姚 珺, 寧汝新. CAD 系統與虛擬裝配系統間的信息集成技術研究[J]. 計算機集成制造系統,2005, 11(1): 44-47, 67.
[5]蘇 艷, 廖文和, 郭 宇. 面向虛擬裝配的 VRML模型優化重構[J]. 計算機工程與設計, 2007, 28(11):2509-2512, 2722.
[6]Tian Ling, Chen Jizhong, Wang Qiaoyu, et al.CoDesign space: a collaborative design support system in a network environment [J]. International Journal of Computer Integrated Manufacturing, 2007,20(2-3): 265-279.