国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

點(diǎn)到空間NURBS曲線距離的篩選迭代求取方法

2023-02-17 01:54:06陳良驥馬龍飛
關(guān)鍵詞:短距離樣條區(qū)間

陳良驥 馬龍飛 趙 波 高 飛

1(桂林理工大學(xué)機(jī)械與控制工程學(xué)院 廣西 桂林 541004) 2(天津工業(yè)大學(xué)機(jī)械工程學(xué)院 天津 300387)

0 引 言

葉輪作為航空發(fā)動(dòng)機(jī)的核心部件,是一類具有代表性且造型比較規(guī)范的通道類復(fù)雜零件,往往由自由復(fù)雜曲面構(gòu)成[1-3]。由于非均勻有理B樣條曲線(NURBS)優(yōu)秀的自由曲面造型能力,1991年,STEP國際標(biāo)準(zhǔn)亦把NURBS作為定義產(chǎn)品形狀的唯一數(shù)學(xué)方法[4]。如何快速、精確地求取空間一點(diǎn)到樣條曲線的最短距離是NURBS曲線在計(jì)算輔助設(shè)計(jì)與制造應(yīng)用中最基礎(chǔ)也是最重要的問題。

李蔚等[5]基于高斯-牛頓法并通過多次微分坐標(biāo)變換進(jìn)行微小情況下點(diǎn)到曲線的最短距離求取。郭慧等[6]提出了一種基于NURBS樣條曲線插值與遺傳算法相結(jié)合方法來確定點(diǎn)到曲線最短距離。展俊德等[7]提出了一種利用控制頂點(diǎn)投影法計(jì)算點(diǎn)到平面NURBS曲線最小距離的算法,具體做法是將NURBS曲線分割為若干小曲線并對其依次進(jìn)行搜索得到最短距離。Chen等[8]利用圓形修剪技術(shù)提出了一種計(jì)算點(diǎn)與NURBS曲線之間的最小距離的新方法。Li等[9]提出了一種新的正交投影方法,用于計(jì)算點(diǎn)與空間參數(shù)曲線之間的最小距離。Zhu等[10]將歐氏空間中從點(diǎn)到曲線的投影點(diǎn)即正交投影點(diǎn)計(jì)算算法擴(kuò)展到彎曲空間,給出了彎曲空間上正交投影的點(diǎn)計(jì)算方法進(jìn)而得到點(diǎn)到曲線最短距離。

以上方法均可有效求取點(diǎn)到空間NURBS曲線的距離。但由于各種方法對初值等因素的要求不同,算法收斂性也大不相同,且算法較為復(fù)雜、魯棒性差。本文通過對NURBS曲線的節(jié)點(diǎn)向量進(jìn)行兩次快速篩選并結(jié)合篩選出的節(jié)點(diǎn)附近曲線的幾何特性精確鎖定參數(shù)搜索迭代區(qū)間,進(jìn)而通過多次迭代的方式求取最短距離。

1 NURBS曲線模型及生成

在三維笛卡爾空間中,一條關(guān)于參數(shù)ξ的p次NURBS曲線向量表達(dá)式如下:

(1)

式中:{Pi}是NURBS曲線的n+1個(gè)三維控制點(diǎn);{ri}是各個(gè)控制點(diǎn)對應(yīng)權(quán)重值;{Ni,p(ξ)}是定義在節(jié)點(diǎn)向量X上的p次B樣條基函數(shù),這里X={ξ0,ξ1,…,ξn+p+1}。

p次B樣條基函數(shù)的計(jì)算式如下:

(2)

式(2)為一種迭代計(jì)算過程,例如對三次NURBS曲線的基函數(shù)N1,3(ξ),其迭代計(jì)算過程如圖1所示。

圖1 三次NURBS曲線某基函數(shù)推導(dǎo)示意

p次NURBS曲線基函數(shù)的一階導(dǎo)函數(shù)可用如下表達(dá)式計(jì)算出:

(3)

則NURBS曲線的一階導(dǎo)矢表達(dá)式為:

(4)

2 最短距離求取

2.1 理論最短距離模型

現(xiàn)行方法中,求取空間點(diǎn)A(xA,yA,zA)到NURBS曲線的最短距離主要采取在NURBS曲線上搜索數(shù)據(jù)點(diǎn)的方法,逐一求取與A的距離,并進(jìn)行大小比較,直到搜索到距離最短時(shí)為止。如果對NURBS曲線進(jìn)行整體搜索,即相當(dāng)于在曲線的參數(shù)空間ξ∈[0,1]內(nèi)進(jìn)行搜索。如此可得整體搜索時(shí),A點(diǎn)到NURBS曲線的最短距離dmin的數(shù)學(xué)計(jì)算模型:

(5)

按式(5)計(jì)算點(diǎn)到NURBS曲線間的最短距離是一種理論求取值,實(shí)際上由于參數(shù)空間的連續(xù)性,可取參數(shù)點(diǎn)有無窮多個(gè),因此整體搜索計(jì)算最短距離的方法效率低下而且實(shí)際應(yīng)用時(shí)也是不可行的。對此,本文提出如下參數(shù)搜索區(qū)間快速確定方法,將最短距離的求取進(jìn)行參數(shù)搜索區(qū)間的預(yù)處理,直接縮小參數(shù)搜索范圍快速鎖定最短距離所對應(yīng)的參數(shù)范圍。

2.2 參數(shù)搜索區(qū)間鎖定

搜索區(qū)間鎖定的目的是對可能存在最短距離的參數(shù)范圍進(jìn)行精確定性分析,減小距離計(jì)算的工作量,提高最短距離搜索程序運(yùn)行速度。下面分兩步漸進(jìn)鎖定參數(shù)搜索區(qū)間。

如圖2所示,A為NURBS曲線外待求與NURBS曲線最短距離的空間點(diǎn),ξi(i=0,1,…,n+p+1)為定義NURBS曲線的節(jié)點(diǎn)向量X中的某個(gè)節(jié)點(diǎn)參數(shù)。首先應(yīng)計(jì)算出NURBS曲線所有節(jié)點(diǎn)參數(shù)對應(yīng)點(diǎn)與空間點(diǎn)A的距離,以此確定初步參數(shù)搜索區(qū)間的大致位置。將節(jié)點(diǎn)向量X各節(jié)點(diǎn)參數(shù)映射至線性空間可得到具體的參數(shù)數(shù)據(jù)點(diǎn),并結(jié)合式(5)進(jìn)行初次篩選,得到最小距離l,同時(shí)記錄其對應(yīng)節(jié)點(diǎn)參數(shù)。

圖2 節(jié)點(diǎn)中的最短距離點(diǎn)確定

經(jīng)過初步篩選后可知所求取參數(shù)的搜索區(qū)間應(yīng)在參數(shù)ξi附近。顯然,最終要鎖定的參數(shù)區(qū)間必須包含最短距離點(diǎn)所對應(yīng)參數(shù)在內(nèi)才能實(shí)現(xiàn)最短距離的求取。

將ξi代入式(1)可以得到該參數(shù)所對應(yīng)的NURBS的數(shù)據(jù)點(diǎn)Q(ξi),曲線外一點(diǎn)A與Q(ξi)間的單位方向向量TAQ如下:

(6)

將ξi代入式(4)可得到NURBS曲線在點(diǎn)Q(ξi)處的一階導(dǎo)矢Q′(ξi)。

為便于后面敘述的理解,我們先對空間點(diǎn)、NURBS曲線上的點(diǎn)、NURBS曲線在某點(diǎn)處一階導(dǎo)矢以及最短距離間的關(guān)系作如圖3所示的說明。圖3中,A和B均為NURBS曲線外的空間點(diǎn),若NURBS曲線上與A或B距離最短的點(diǎn)為已知,則A或B與相應(yīng)NURBS曲線上最短距離點(diǎn)間的連線應(yīng)與NURBS曲線上距離最短點(diǎn)處的一階導(dǎo)矢呈相互垂直的幾何關(guān)系。再結(jié)合式(6),我們可根據(jù)TAQ與一階導(dǎo)矢Q′(ξi)間的夾角是否為直角來判斷NURBS曲線上的點(diǎn)是否為與空間點(diǎn)距離最短的點(diǎn)。夾角θ可由式(7)求得。

(7)

圖3 最短距離下點(diǎn)與曲線幾何關(guān)系

圖4為夾角θ在距離最短點(diǎn)附近的大小變化??芍獖A角θ在距離最短點(diǎn)處為直角,在距離最短點(diǎn)左側(cè)為銳角,在距離最短點(diǎn)右側(cè)為鈍角,利用這個(gè)規(guī)律可對最短距離點(diǎn)的參數(shù)所在的搜索區(qū)間進(jìn)行最終鎖定。最終鎖定的方法如下:

1) 若θ=90°,則該參數(shù)所對應(yīng)曲線數(shù)據(jù)點(diǎn)為最短距離點(diǎn),參數(shù)代入式(5)完成最短距離求取。

2) 若θ<90°,則向該參數(shù)右端按預(yù)先設(shè)置的參數(shù)增量繼續(xù)搜索,重復(fù)計(jì)算出新的夾角θ,直至θ≥90°。假定此時(shí)重復(fù)計(jì)算的次數(shù)為k,此時(shí)對應(yīng)的參數(shù)為ξk,則可將參數(shù)搜索區(qū)間確定為[ξk-1,ξk]。

3) 若θ>90°,則向該參數(shù)左端按預(yù)先設(shè)置的參數(shù)增量繼續(xù)搜索,重復(fù)計(jì)算出新的夾角θ,直至θ≤90°。假定此時(shí)重復(fù)計(jì)算的次數(shù)k,此時(shí)對應(yīng)的參數(shù)為ξk,則可將參數(shù)搜索區(qū)間確定為[ξk,ξk-1]。

(a) (b)圖4 不同位置下夾角θ的變化

2.3 求取距離

在參數(shù)的搜索區(qū)間最終鎖定后,即可進(jìn)行最小距離點(diǎn)的參數(shù)的搜索求解計(jì)算。求解計(jì)算的核心思想是將參數(shù)ξ的參數(shù)搜索區(qū)間[ξ左,ξ右]進(jìn)行等間距劃分為若干個(gè)參數(shù)點(diǎn),如圖5所示,應(yīng)用式(5)求得相對較小距離及與之對應(yīng)的參數(shù),以該參數(shù)為中心參數(shù),縮短參數(shù)搜索區(qū)間后再次將區(qū)間等間距劃分,直到前后求得的較小距離差小于預(yù)設(shè)求解誤差時(shí)停止搜索計(jì)算。現(xiàn)將具體搜索求解計(jì)算過程陳述如下。

圖5 參數(shù)搜索區(qū)間等間距劃分搜索

經(jīng)過第2.2節(jié)中所述幾種情況的分析,可獲得參數(shù)ξ的最終參數(shù)搜索區(qū)間[ξ左,ξ右],將該區(qū)間等間距劃分為H個(gè)參數(shù)點(diǎn),則每個(gè)參數(shù)點(diǎn)的參數(shù)間距應(yīng)為:

(8)

所以,每個(gè)參數(shù)點(diǎn)的數(shù)值應(yīng)為:

ξj=ξ左+jΔξj=1,2,…,H

(9)

將ξ左、ξ右、所有參數(shù)值ξj代入式(5)可求得第1次搜索的較小距離ε1。

第2次搜索時(shí),以ε1所對應(yīng)的參數(shù)點(diǎn)為中心參數(shù)ξ中,采取將參數(shù)搜索區(qū)間長度縮小一半的處理方式。即區(qū)間長度由式(10)確定。

(10)

將ξ左和ξ右分別重新計(jì)算為:

ξ左=ξ中-L2/2

(11)

ξ右=ξ中+L2/2

(12)

再次將參數(shù)搜索區(qū)間[ξ左,ξ右]等間距劃分為H個(gè)參數(shù)后,可求得第2次搜索后的較小距離ε2。

判斷|ε2-ε1|是否小于或等于預(yù)設(shè)求解誤差σ,若是則最小距離ε為ε1和ε2中的較小者,若否則繼續(xù)進(jìn)行第3次、第4次、…、第m次搜索,直到|εm-εm-1|≤σ成立為止,取最小距離ε為εm和εm-1中的較小者。

以上為曲線外一點(diǎn)到NURBS曲線最短距離的求取方法,圖6為求取流程。

圖6 最短距離求取流程

3 實(shí)例驗(yàn)證

一般NURBS曲線G2連續(xù)即可滿足大部分場合,G2連續(xù)代表樣條曲線二階導(dǎo)矢連續(xù),故本文對p=3的NURBS曲線進(jìn)行研究。給定曲線外一點(diǎn)A。NURBS曲線生成數(shù)據(jù)來自五軸數(shù)控加工數(shù)據(jù)。先由CAM軟件生成葉輪流道曲面的刀具切削運(yùn)動(dòng)軌跡,經(jīng)過刀具軌跡離散,最終生成含有刀心點(diǎn)、刀軸向量、刀觸點(diǎn)的刀位文件。切削語句的格式如下:

GOTO/x,y,z,i,j,k$$x′,y′,z′

上述格式中:(x,y,z)為工件坐標(biāo)系下刀心點(diǎn)位置坐標(biāo),取其進(jìn)行曲線擬合。參加NURBS曲線擬合的數(shù)據(jù)點(diǎn)(刀心點(diǎn)坐標(biāo))如表1所示。

表1 待擬合數(shù)據(jù)點(diǎn)

通過編制的MATLAB程序讀取表1中數(shù)據(jù)點(diǎn)進(jìn)行NURBS樣條擬合。擬合后節(jié)點(diǎn)向量X=(0 0 0 0 0.142 9 0.214 4 0.285 9 0.357 3 0.428 8 0.500 2 0.571 6 0.643 1 0.714 5 0.785 8 0.857 0 1 1 1 1),擬合時(shí)反算求得的控制點(diǎn)如表2所示。

表2 NURBS曲線控制點(diǎn)

續(xù)表2

取待測點(diǎn)A1=(109.1 76.1 71)、A2=(114.5 128.2 39),通過編制的MATLAB程序讀取NURBS曲線信息并進(jìn)行最短距離求取。求解點(diǎn)到樣條曲線距離問題為無約束非線性問題,將文獻(xiàn)[3]所使用的高斯-牛頓法應(yīng)用于本文的問題背景,高斯-牛頓法收斂速度為二階且精度較高,常用于解決該類問題。

將文獻(xiàn)[3]中NURBS節(jié)點(diǎn)向量區(qū)間的中值參數(shù)ξ=0.5設(shè)置為迭代初值,編制并運(yùn)行相應(yīng)的MATLAB程序,獲得的相關(guān)數(shù)據(jù)與本文方法獲得的數(shù)據(jù)進(jìn)行對比,表3為兩種方法在求解誤差σ=0.000 1 mm下求解的最短距離值及計(jì)算耗時(shí)情況。

表3 求取的最短距離及計(jì)算耗時(shí)

可以看出,通過對兩點(diǎn)距離的求取的驗(yàn)證,兩種方法皆可求得最短距離。而本文方法的求取效率比較高,耗時(shí)短。

4 結(jié) 語

針對空間一點(diǎn)到NURBS曲線的最短距離求取問題,提出一種參數(shù)區(qū)間篩選迭代方法。該方法不用事先給定初值,可直接通過點(diǎn)與曲線的幾何關(guān)系,經(jīng)兩個(gè)步驟后最終鎖定參數(shù)搜索區(qū)間,然后根據(jù)最短距離求解誤差的要求對該參數(shù)區(qū)間進(jìn)行迭代搜索,求得最短距離。通過MATLAB編程與其他現(xiàn)有方法對比后,結(jié)果表明本文方法不僅能達(dá)到相同的求取精度,而且還能具有較高的求取效率。

猜你喜歡
短距離樣條區(qū)間
解兩類含參數(shù)的復(fù)合不等式有解與恒成立問題
你學(xué)會(huì)“區(qū)間測速”了嗎
一元五次B樣條擬插值研究
三次參數(shù)樣條在機(jī)床高速高精加工中的應(yīng)用
三次樣條和二次刪除相輔助的WASD神經(jīng)網(wǎng)絡(luò)與日本人口預(yù)測
軟件(2017年6期)2017-09-23 20:56:27
基于樣條函數(shù)的高精度電子秤設(shè)計(jì)
軸對稱與最短距離
短距離加速跑
東方教育(2016年8期)2017-01-17 14:20:41
區(qū)間對象族的可鎮(zhèn)定性分析
靜力性拉伸對少兒短距離自由泳打腿急效研究
玉树县| 宁武县| 阜新市| 嘉荫县| 商都县| 元谋县| 娱乐| 闽侯县| 伽师县| 望江县| 大冶市| 定日县| 米泉市| 清涧县| 台南县| 绥芬河市| 贵德县| 庆元县| 宁化县| 蛟河市| 关岭| 静宁县| 申扎县| 古蔺县| 永州市| 蛟河市| 平南县| 侯马市| 云梦县| 怀柔区| 河南省| 阿拉尔市| 临沂市| 永济市| 江山市| 即墨市| 灵丘县| 黄浦区| 阿荣旗| 凯里市| 湘潭市|