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