馬怡然鄭志濤
(1.天津城建大學(xué) 天津 300384)
(2.中國(guó)特種設(shè)備檢測(cè)研究院 北京 100029)
基于幾何特征的點(diǎn)到空間參數(shù)曲線最小距離的簡(jiǎn)化算法
馬怡然1鄭志濤2
(1.天津城建大學(xué) 天津 300384)
(2.中國(guó)特種設(shè)備檢測(cè)研究院 北京 100029)
分析了點(diǎn)到空間曲線的幾何特征,根據(jù)這些幾何特征,提出了點(diǎn)到空間參數(shù)曲線最小距離的簡(jiǎn)化算法?;谌蜝樣條曲線編制了計(jì)算機(jī)程序,通過(guò)大量算例驗(yàn)證了算法的有效性,其計(jì)算精度高,迭代速度快,程序執(zhí)行效率高,在工程上具有一定的實(shí)用價(jià)值。
參數(shù)曲線 最小距離 迭代法 樣條曲線
隨著信息科技在傳統(tǒng)制造業(yè)的深入和滲透,參數(shù)曲線和參數(shù)曲面由于優(yōu)良的計(jì)算特性得到了廣泛的應(yīng)用。而求點(diǎn)到參數(shù)曲線的最小距離,是其中的一個(gè)基本問(wèn)題,在游戲設(shè)計(jì)、機(jī)器人控制、數(shù)控加工等領(lǐng)域作為基本算法得到了廣泛應(yīng)用。在進(jìn)行過(guò)山車仿真中,測(cè)得兩條軌道線,如何把兩條軌道線上點(diǎn)對(duì)應(yīng)在一個(gè)軌道線法平面內(nèi)并找出重心基準(zhǔn)點(diǎn),必須用點(diǎn)到曲線的最小距離,以一軌道曲線上點(diǎn)為基準(zhǔn),找到另一曲線上的最小距離點(diǎn),即為對(duì)應(yīng)軌道法平面上的點(diǎn)??蒲腥藛T[1-2]采用多種方法計(jì)算點(diǎn)到空間參數(shù)曲線的距離,但這些算法多集中討論如何求點(diǎn)到一個(gè)節(jié)點(diǎn)區(qū)間的最小距離方法,如何求點(diǎn)到多個(gè)節(jié)點(diǎn)控制的整條參數(shù)曲線的最小距離目前未見(jiàn)有詳細(xì)研究方法。本文以常用的雙三次B樣條曲線為例,研究了快速實(shí)用的點(diǎn)到空間參數(shù)曲線最小距離的算法。
對(duì)于空間參數(shù)曲線Γ,其參數(shù)方程為:
也可以表示為參數(shù)u的矢函數(shù):
空間曲線是一維的,因此只有一個(gè)參數(shù)u,且0≤u≤1。對(duì)于不同的參數(shù)曲線,如貝塞爾曲線、B樣條曲線或非均勻有理B樣條曲線,P(u)具有不同的表達(dá)形式,可以根據(jù)實(shí)際情況來(lái)確定。
設(shè)給定點(diǎn)Q(x0,y0,z0),它到空間曲線給定點(diǎn)P(x(u), y(u),z(u))的距離可表示為
則最小距離可表示為:
對(duì)以上方程用搜索法求解,編程比較麻煩,以下從點(diǎn)到曲線最小距離的幾何特征入手,提出另一種解題思路。
1)如圖1所示: L1>L2>Lmin,Lmin 圖1 點(diǎn)到曲線最小距離點(diǎn)所在區(qū)間 圖2 點(diǎn)到曲線的最小距離 3)對(duì)于給定點(diǎn)Q,若QM與M點(diǎn)的切線MT所夾角分別為α與β,設(shè)α>β,則最小距離點(diǎn)P必位于β角一側(cè),如圖3所示。 圖3 4)對(duì)于節(jié)點(diǎn)內(nèi)一段曲線,如果存在最小距離點(diǎn),如圖4平分該段曲線,中點(diǎn)為G,若L1<L2,則垂足必位于L1側(cè),即最小距離點(diǎn)必位于L1側(cè)(適用于Q到曲線各點(diǎn)距離小于各點(diǎn)曲率半徑的曲線)。 圖4 對(duì)于如圖5所示點(diǎn)Q和樣條曲線Γ,基于幾何特征的點(diǎn)到空間參數(shù)曲線最小距離的計(jì)算步驟為: 圖5 1)計(jì)算給定點(diǎn)Q到樣條曲線Γ各節(jié)點(diǎn)的距離; 2)比較Q到樣條曲線Γ各節(jié)點(diǎn)的距離,根據(jù)以上原理1,則最小距離點(diǎn)必位于最短節(jié)點(diǎn)距離QN線兩側(cè)的相鄰曲線段上,如圖5(b)所示; 3)由QN與N點(diǎn)切線 所夾角度,根據(jù)以上原理3,判斷出最小距離點(diǎn)必位于銳角一側(cè)所在的相鄰弧段; 4)取該弧段內(nèi)中點(diǎn)D,比較給定點(diǎn)Q與B、C兩點(diǎn)的距離,如圖5(c)所示,根據(jù)以上原理4,則最小距離點(diǎn)必位于距離短的端點(diǎn)所在的半個(gè)區(qū)間; 5)舍棄不存在最小距離點(diǎn)的一半?yún)^(qū)間,再取另一半?yún)^(qū)間中點(diǎn),重復(fù)以上過(guò)程4),直到兩邊差值小于給定ε(即 |Ln-Ln+1|<ε),則該邊長(zhǎng)LM即為所求最小距離,D點(diǎn)即為最小距離點(diǎn)。 在工程實(shí)際中常應(yīng)用雙三次B樣條曲線來(lái)表示以上曲線,其參數(shù)矩陣表達(dá)式為: 式中bi(i=0,1,2,3)為雙三次B樣條曲線的控制點(diǎn)矢量,則: 利用三次B樣條曲線,做出求最小距離點(diǎn)的流程圖如圖6所示: 圖6 三次B樣條曲線法求最小距離點(diǎn)的流程圖 表1為三次B樣條曲線的節(jié)點(diǎn),曲線外給定點(diǎn)為Q(49428.1937,-16671.1419,3445.0020),采用基于幾何特征的點(diǎn)到空間參數(shù)曲線最小距離的算法,程序僅迭代7次即找出最小距離1220。 表1 三次B樣條曲線節(jié)點(diǎn)數(shù)據(jù) 采用搜索法求解,至少要17步以上方能求出符合要求的點(diǎn),而且隨著曲線點(diǎn)數(shù)的增加,計(jì)算迭代數(shù)量相應(yīng)增加,運(yùn)算量會(huì)線性增加,程序執(zhí)行效率則會(huì)降低。 利用以上點(diǎn)到空間曲線最小距離處的幾何特征求取最小距離,具有編程簡(jiǎn)單,程序迭代次數(shù)小,執(zhí)行效率高,是求最小距離的一種簡(jiǎn)便方法。以上方法對(duì)曲線曲率變化相對(duì)平緩時(shí)適用,對(duì)曲線上存在拐點(diǎn)的曲線不適用。 [1] 伍麗峰,陳岳坪,諶炎輝,等.求點(diǎn)到空間參數(shù)曲線最小距離的幾種算法[J].機(jī)械設(shè)計(jì)與制造,2011,9:15-17. [2] 錢春.基于區(qū)間牛頓法的點(diǎn)到參數(shù)曲線最小距離的計(jì)算方法[J].機(jī)電工程,2010,27(1):82-84. [3] 廖平.分割逼近法快速求解點(diǎn)到復(fù)雜平面曲線最小距離[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(10):163-164. A Simplifed Algorithm of the Minimum Distance Between a Point and a Spatial Parametric Cure base on the Geometrical Characteristic Ma Yiran1Zheng Zhitao2 This paper analyzes the geometric characteristics between a point and a spatial parametric cure, based on which a simplified algorithm of the minimum distance between a point and a spatial parametric cure is developed. Based on the cubic spline curve, the programs is designed. The effectiveness, high precision, quick iteration and high effciency of the algorithms are verifed by a series of tests. It has more practical value in engineering practice. Parametric curve Minimum distance Iteration method Spline X924 B 1673-257X(2017)01-0029-03 10.3969/j.issn.1673-257X.2017.01.006 馬怡然(1978~),女,碩士,講師,從事工科數(shù)學(xué)及研究工作。 2016-09-07)3 點(diǎn)到曲線最小距離算法設(shè)計(jì)
4 實(shí)例分析
5 結(jié)論
(1. Tianjin Chengjian University Tianjin 300384)
(2. China Special Equipment Inspection and Research Institute Beijing 100029)