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

?

基于幾何特征的點到空間參數(shù)曲線最小距離的簡化算法

2017-02-25 08:09馬怡然鄭志濤
中國特種設(shè)備安全 2017年1期
關(guān)鍵詞:樣條定點區(qū)間

馬怡然鄭志濤

(1.天津城建大學(xué) 天津 300384)

(2.中國特種設(shè)備檢測研究院 北京 100029)

基于幾何特征的點到空間參數(shù)曲線最小距離的簡化算法

馬怡然1鄭志濤2

(1.天津城建大學(xué) 天津 300384)

(2.中國特種設(shè)備檢測研究院 北京 100029)

分析了點到空間曲線的幾何特征,根據(jù)這些幾何特征,提出了點到空間參數(shù)曲線最小距離的簡化算法?;谌蜝樣條曲線編制了計算機程序,通過大量算例驗證了算法的有效性,其計算精度高,迭代速度快,程序執(zhí)行效率高,在工程上具有一定的實用價值。

參數(shù)曲線 最小距離 迭代法 樣條曲線

隨著信息科技在傳統(tǒng)制造業(yè)的深入和滲透,參數(shù)曲線和參數(shù)曲面由于優(yōu)良的計算特性得到了廣泛的應(yīng)用。而求點到參數(shù)曲線的最小距離,是其中的一個基本問題,在游戲設(shè)計、機器人控制、數(shù)控加工等領(lǐng)域作為基本算法得到了廣泛應(yīng)用。在進(jìn)行過山車仿真中,測得兩條軌道線,如何把兩條軌道線上點對應(yīng)在一個軌道線法平面內(nèi)并找出重心基準(zhǔn)點,必須用點到曲線的最小距離,以一軌道曲線上點為基準(zhǔn),找到另一曲線上的最小距離點,即為對應(yīng)軌道法平面上的點??蒲腥藛T[1-2]采用多種方法計算點到空間參數(shù)曲線的距離,但這些算法多集中討論如何求點到一個節(jié)點區(qū)間的最小距離方法,如何求點到多個節(jié)點控制的整條參數(shù)曲線的最小距離目前未見有詳細(xì)研究方法。本文以常用的雙三次B樣條曲線為例,研究了快速實用的點到空間參數(shù)曲線最小距離的算法。

1 點到空間參數(shù)曲線最小距離的數(shù)學(xué)模型

對于空間參數(shù)曲線Γ,其參數(shù)方程為:

也可以表示為參數(shù)u的矢函數(shù):

空間曲線是一維的,因此只有一個參數(shù)u,且0≤u≤1。對于不同的參數(shù)曲線,如貝塞爾曲線、B樣條曲線或非均勻有理B樣條曲線,P(u)具有不同的表達(dá)形式,可以根據(jù)實際情況來確定。

設(shè)給定點Q(x0,y0,z0),它到空間曲線給定點P(x(u), y(u),z(u))的距離可表示為

則最小距離可表示為:

對以上方程用搜索法求解,編程比較麻煩,以下從點到曲線最小距離的幾何特征入手,提出另一種解題思路。

2 點到曲線最小距離幾何特征分析

1)如圖1所示: L1>L2>Lmin,Lmin

圖1 點到曲線最小距離點所在區(qū)間

圖2 點到曲線的最小距離

3)對于給定點Q,若QM與M點的切線MT所夾角分別為α與β,設(shè)α>β,則最小距離點P必位于β角一側(cè),如圖3所示。

圖3

4)對于節(jié)點內(nèi)一段曲線,如果存在最小距離點,如圖4平分該段曲線,中點為G,若L1<L2,則垂足必位于L1側(cè),即最小距離點必位于L1側(cè)(適用于Q到曲線各點距離小于各點曲率半徑的曲線)。

圖4

3 點到曲線最小距離算法設(shè)計

對于如圖5所示點Q和樣條曲線Γ,基于幾何特征的點到空間參數(shù)曲線最小距離的計算步驟為:

圖5

1)計算給定點Q到樣條曲線Γ各節(jié)點的距離;

2)比較Q到樣條曲線Γ各節(jié)點的距離,根據(jù)以上原理1,則最小距離點必位于最短節(jié)點距離QN線兩側(cè)的相鄰曲線段上,如圖5(b)所示;

3)由QN與N點切線 所夾角度,根據(jù)以上原理3,判斷出最小距離點必位于銳角一側(cè)所在的相鄰弧段;

4)取該弧段內(nèi)中點D,比較給定點Q與B、C兩點的距離,如圖5(c)所示,根據(jù)以上原理4,則最小距離點必位于距離短的端點所在的半個區(qū)間;

5)舍棄不存在最小距離點的一半?yún)^(qū)間,再取另一半?yún)^(qū)間中點,重復(fù)以上過程4),直到兩邊差值小于給定ε(即 |Ln-Ln+1|<ε),則該邊長LM即為所求最小距離,D點即為最小距離點。

在工程實際中常應(yīng)用雙三次B樣條曲線來表示以上曲線,其參數(shù)矩陣表達(dá)式為:

式中bi(i=0,1,2,3)為雙三次B樣條曲線的控制點矢量,則:

利用三次B樣條曲線,做出求最小距離點的流程圖如圖6所示:

圖6 三次B樣條曲線法求最小距離點的流程圖

4 實例分析

表1為三次B樣條曲線的節(jié)點,曲線外給定點為Q(49428.1937,-16671.1419,3445.0020),采用基于幾何特征的點到空間參數(shù)曲線最小距離的算法,程序僅迭代7次即找出最小距離1220。

表1 三次B樣條曲線節(jié)點數(shù)據(jù)

采用搜索法求解,至少要17步以上方能求出符合要求的點,而且隨著曲線點數(shù)的增加,計算迭代數(shù)量相應(yīng)增加,運算量會線性增加,程序執(zhí)行效率則會降低。

5 結(jié)論

利用以上點到空間曲線最小距離處的幾何特征求取最小距離,具有編程簡單,程序迭代次數(shù)小,執(zhí)行效率高,是求最小距離的一種簡便方法。以上方法對曲線曲率變化相對平緩時適用,對曲線上存在拐點的曲線不適用。

[1] 伍麗峰,陳岳坪,諶炎輝,等.求點到空間參數(shù)曲線最小距離的幾種算法[J].機械設(shè)計與制造,2011,9:15-17.

[2] 錢春.基于區(qū)間牛頓法的點到參數(shù)曲線最小距離的計算方法[J].機電工程,2010,27(1):82-84.

[3] 廖平.分割逼近法快速求解點到復(fù)雜平面曲線最小距離[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
(1. Tianjin Chengjian University Tianjin 300384)
(2. China Special Equipment Inspection and Research Institute Beijing 100029)

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)

猜你喜歡
樣條定點區(qū)間
你學(xué)會“區(qū)間測速”了嗎
例談圓錐曲線中的定點定值問題
定點幫扶讓村民過上美好生活
解析幾何中定點問題的處理策略
直線過定點的5種特優(yōu)解法
對流-擴散方程數(shù)值解的四次B樣條方法
全球經(jīng)濟將繼續(xù)處于低速增長區(qū)間
三次參數(shù)樣條在機床高速高精加工中的應(yīng)用
三次樣條和二次刪除相輔助的WASD神經(jīng)網(wǎng)絡(luò)與日本人口預(yù)測
區(qū)間對象族的可鎮(zhèn)定性分析
凤阳县| 株洲市| 五家渠市| 闽侯县| 舒兰市| 阿瓦提县| 武夷山市| 弥渡县| 遵化市| 安义县| 始兴县| 贞丰县| 临潭县| 长春市| 潍坊市| 开封市| 当阳市| 团风县| 莱阳市| 怀远县| 广饶县| 霍山县| 杭锦旗| 东丰县| 达尔| 监利县| 镇江市| 凤翔县| 六安市| 聂荣县| 图们市| 百色市| 繁峙县| 洪湖市| 吉木乃县| 阜阳市| 樟树市| 莒南县| 民权县| 武陟县| 青田县|