郭陽陽,雷賢卿,王永軍,李 偉,吳上玉
(河南科技大學 機電工程學院,洛陽 471003)
多段曲線是由若干條標準曲線段(直線、圓弧、對數曲線等平面曲線段)組成的連續(xù)曲線,各標準曲線段間通過分界點相互連接[1,2]。在機械零件輪廓度測量和逆向設計中,都會遇到多段曲線的整體擬合問題[3,4],如復雜曲面法向截面素線的輪廓度測量、軸承凸度滾子素線的線型識別及輪廓度誤差的測量,逆向工程中截面離散點的擬合等[5~7]。用單條曲線(如直線、圓弧、對數曲線等平面曲線)作為目標曲線去擬合多段曲線時,擬合誤差較大也不符合被擬合輪廓的實際線型,用樣條曲線或者多階曲線擬合雖可以得到較小的擬合誤差,但得到的輪廓曲線方程難以體現機械零件輪廓的工程價值,也不便于零件輪廓的加工和數學描述。離散點的分段擬合、整體連續(xù)和平滑方法可以較好地描述輪廓離散點所表達的曲線方程,也符合機械零件的輪廓功能需求;但在分段曲線擬合時既要保證較小的擬合誤差又要保證曲線段之間的連續(xù)性和平滑性,分界點的位置會直接影響分段曲線的擬合精度,分界點位置的估計是多段曲線整體擬合的關鍵技術之一。因此,利用構成多段曲線的離散點研究各曲線段之間的分界點的位置估計方法,對復雜曲面的輪廓度測量及逆向設計軟件的自主研發(fā)有重要的工程應用價值。
目前,關于多段曲線分界點位置估計的方法研究未見報道。文獻多是闡述離散點的曲率計算[8~10],結合曲線的曲率特性,來識別離散點所代表的曲線線型。
本文提出利用構成多段曲線的離散點,通過離散點的曲率階躍及曲率差變化研究多段曲線分界點位置估計方法,通過實例來研究所提方法的有效性。
分界點的估計主要依據離散數據點的曲率特性,分界點估計前要計算各離散數據點處的曲率,曲率的計算主要方法有:
設Pi(xi,yi)(i=1,2,...,N)是曲線上的N個測量點,數據點的曲率可由相鄰的三點Pi-1,Pi,Pi+1所確定的圓來決定,圓的曲率即為此點處的曲率,由于是相鄰3點參與運算,因此數據的第1點與最后1點的曲率不能獲得,則中間點的曲率如式(1)所示:
Li=||Pi-Pi-|1|,Qi=||Pi+1-Pi-|1|,Li+1=||Pi+1-Pi||,ΔPi-1PiPi+1是Li,Qi,Li+1為三點所構造帶符號的三角形面積。如果Pi-1Pi×Pi-1Pi+1≥0,三角形面積取正值;反之取負值[11~13]。
圖1 曲率的計算原理
十一點法是輪廓上相鄰的11點進行曲率計算[14,15],設Pi(xi,yi)(i=1,2,...,N)是輪廓曲線上的N個測量點,由于是測量點與其前后各5個點參與運算,因此前5個點與最后5個點曲率不能獲得,從第6至N-5個測量點的曲率如式(2)所示:
式(2)中,m=(xi-xi-5)(yi+5-yi),n=(yi-yi-5)(xi+5-xi),Ri1=(Pi-Pi-5),Ri2=Pi+5-Pi。
采用局部樣條曲線的方法對曲線上數據點進行曲率的近似估算,主要是先對選定的3個相鄰數據點樣條曲線進行插值,然后用樣條插值函數計算出的曲率來近似表示該點的曲率[16,17],由于是相鄰三點參與運算,因此數據的第1點與最后1點的曲率不能獲得,則中間點的曲率如式(3)所示:
設Qi(xi,yi)(i=1,2,...,N)是曲線上的N個測量點,基于高斯函數對數據點進行平滑處理后的數據點由Pi(xi,yi)進行表示,由于相鄰5點參與運算,因此前2個點與最后2個點曲率不能獲得,從第3至N-3個測量點的曲率為:
組成零件輪廓的曲線段之間的連接點就是多段曲線的分界點,將曲線分界點分為跳躍點、尖點、切點等。在估計分界點的位置時,跳躍點比較容易在離散數據點中確定,其他的分界點難以直接在離散數據點中獲取,但在分界點附近,離散點的曲率差有明顯的的變化,因此,可利用數據點處的曲率差變化判斷分界點的大概位置。當曲率差大于設定閾值時,則其可能為分界點。
測量點的曲率差Ei是測量點Pi(xi,yi)的曲率Ki與前一個測量點Pi-1(xi-1,yi-1)的曲率Ki-1之差。
在設定的多段曲線上選取一系列的點并在對應點的法向上加入隨機誤差,構成一系列仿真測量數據點。在已知分界點的情況下比較上述方法的適用性,操作性與分界點估計的準確性。
設直線與圓弧構成多段曲線的方程如式(6)所示,在該多段曲線上取38個點,為使數據更接近于實際,在對應點的法線方向上加入隨機誤差(誤差值≤±0.004)構成離散數據點表1,由方程(6)和表1中的離散點數據,可以知道,該多段曲線的理論分界點的坐標為(30,5),對應于表1離散點序號20,因此用P20(30,5)表示理論分界點位置,利用曲率計算方法對表1中的離散數據進行分析,得到各離散點的曲率如圖3所示,曲率差如圖4所示,分界點的估計如表2。
表1 直線圓弧構造的數據點 (單位:mm)
表2 分界點估計
圖2 直線與圓弧構成的輪廓
圖3 數據點曲率
圖4 數據點曲率差
從圖3中可以看出:構成的離散點的曲率在理論分界點位置發(fā)生明顯跳躍。從圖4中可以看出各離散點的曲率差值,曲率差閾值根據加入的隨機誤差的倍數進行設定為0.028,帶平滑的差分曲率法曲率差出現3點曲率差大于設定閾值0.028,其對應的坐標位置為P20(30,5.001)、P21(30.436,4.978)、P22(30.868,4.925);都在理論位置附近,三點法與局部樣條法曲率差跳躍性大,曲率差值大于 值0.028的位置較多,估計不明顯,但結合圖3可以分析出大概的分界點位置。十一點法圖4(b)雖然有2點曲率差值大于閾值0.028,但結合圖3(b)可以看出這兩個數據點都可能是分界點;從表2中可以看出運算速度:三點法運算速度最快,帶平滑差分的曲率法較慢;三點法與差分法編程簡單,十一點法編程相對復雜。
設圓弧與圓弧外切構成多段曲線的方程為式(7),在該多段曲線上取37個點,為使數據更接近于實際,在對應點的法線方向上加入隨機誤差(誤差值≤±0.004)構成離散數據點(表3),由方程(7)和表3中的離散點數據,可以知道,該多段曲線的理論分界點的坐標為(5,0),對應于表3離散點序號19,因此用P19(5,0)表示理論分界點位置,利用曲率計算方法對表3中的離散數據進行分析,得到各離散點的曲率如圖6所示,曲率差如圖7所示,分界點的估計如表4所示。
表3 圓弧與圓弧外切構造的數據點 (單位:mm)
圖5 圓弧與圓弧外切構成的輪廓
圖6 數據點曲率
圖7 數據點曲率差
從圖6中可以看出:構成的離散點的曲率在理論分界點位置發(fā)生明顯跳躍。從圖7中可以看出各離散點的曲率差值,曲率差閾值根據加入的隨機誤差的倍數進行設定為0.028,十一點曲率法出現1個點曲率差值大于閾值0.028,其對應的坐標位置為P20(5.076,-0.8712),位置在理論分界點位置附近;三點法與局部樣條法有2個點曲率差值大于 值0.028,其對應的坐標位置為P19(5,0.002)、P20(5.076,-0.8712);差分法有4個點曲率差大于閾值0.028,都與理論分界點位置接近。從表4中可以看出:差分法運算速度最快,但估計分界點位置較多,局部樣條法運算速度較慢,十一點法運算時間短;從編程過程中可以明顯看出幾種方法的難易程度,三點法與差分法編程簡單,十一點法編程相對復雜。
表4 分界點估計
結合曲率估計方法以及曲率差變化情況對分界點的估計位置、運算時間、編程難易程度評價比較,當多段曲線為直線與圓弧構成的輪廓時帶平滑的曲率法更加準確的估計出分界點位置;當多段曲線為圓弧與圓弧外切構成的輪廓時三點法與局部樣條法更為合理的估計出分界點位置;三點法與局部樣條法比較適用于曲線與曲線連接的多段曲線,差分法比較適用于直線與曲線連接的多段曲線,從而為研究多段曲線組成的多種連續(xù)線段間分界點的估計提供了應用價值。