• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      C-Bézier曲線的雙圓弧逼近

      2010-11-26 09:00:50陳建蘭
      關(guān)鍵詞:單位向量連接點切點

      陳建蘭

      (杭州電子科技大學理學院,浙江杭州310018)

      0 引 言

      B樣條、Bézier、C-Bézier、NURBS、圓弧等是計算機圖形學領(lǐng)域中常用的樣條曲線,廣泛用于自由型曲線曲面設(shè)計。其中C-Bézier樣條曲線具有形狀簡單、使用靈活等特點,在數(shù)控加工中,因為刀具路徑通常是由線段和圓弧組成的,所以大多數(shù)情況下需要將曲線轉(zhuǎn)換成為由圓弧與直線段組成的圓弧樣條進行表示,而后進行加工。為了提高效率,通常采用圓弧樣條。在當前研究中,用圓弧樣條對曲線進行逼近,主要分為單圓弧和雙圓弧兩種方法。就連接點處的連續(xù)性而言,單圓弧算法比雙圓弧算法的優(yōu)點是可以減少所使用的圓弧段數(shù),缺點是一旦初始頂點處的切線方向確定,整條圓弧樣條就完全唯一確定下來,因而缺乏靈活性。此外,單圓弧穩(wěn)定性不好,改動初始點或初始切向,整條曲線都要跟著變動,而雙圓弧方法則不存在這些缺點。給定兩個端點以及端點處對應的單位向量,可以用雙圓弧進行逼近[1-3]。本文采用雙圓弧對C-Bézier樣條曲線進行(分段)逼近,該方法的優(yōu)點主要是計算相對簡單且誤差小。

      1 3次C-Bézier曲線的定義

      3次C-Bézier曲線以sint,cost,t,1為基,代替?zhèn)鹘y(tǒng)的3次Bézier曲線的標準基 t3,t2,t,1,C-Bézier曲線包含一個控制參數(shù)α,0<α≤π,該參數(shù)控制曲線的形狀,當α趨近于0時,C-Bézier曲線的極限為Bézier曲線[4]。

      1.1 3次C-Bézier曲線用多項式來表示

      1.2 C-Bézier曲線的性質(zhì)

      (1)基函數(shù)的正性與權(quán)性:Zj(t)>0,(j=0,1,2,3);Z0(t)+Z1(t)+Z2(t)+Z3(t)≡1。(2)端點屬性:1)端點位置Bα(0)=q0,Bα(α)=q3;2)端點切矢量)端點曲率向量;式中(3)幾何不變性:幾何性質(zhì)不隨坐標變化而變化的性質(zhì),曲線的形狀獨立于坐標的選擇。(4)保凸性:如果控制多邊形是凸的多邊形,則C-Bézier曲線也是凸的。

      2 雙圓弧的確定

      2.1 雙圓弧

      雙圓弧[1]的定義為:給定不同的兩個點P1和P2,以及在點P1處的單位向量和在點P2處的單位向量,設(shè)圓弧C1和C2滿足下列條件:

      (1)C1以P1為起點,且在起點處的單位切向量為;(2)C2以P2為終點,且在終點處的單位切向量為;(3)C1的終點C是C2的起點;(4)C1和C2在C點處具有共同的單位切向量。則由圓弧C1和C2共同組成的曲線段稱為雙圓弧,點C稱為雙圓弧的連接點(公切點)。

      用雙圓弧逼近C-Bézier樣條曲線的方法為:用于逼近的雙圓弧的兩個端點及其單位向量相對應C-Bézier樣條曲線段的兩個端點及其單位向量,并且雙圓弧在連接點處光滑相切。

      2.2 連接點的選擇

      從雙圓弧的定義可知確定雙圓弧需要6個條件,而雙圓弧逼近方法中包含只有5個條件,所以還需要一個約束條件,才能確定雙圓弧的連接點。因雙圓弧的連接點的軌跡是一個圓[4],在這個軌跡圓上選擇一個連接點的方法有無限多種,所以選擇合適的連接點將直接影響到逼近光順性和逼近效果。一般在進行3次樣條雙圓弧逼近時,把雙圓弧的連接點的軌跡圓與樣條的交點作為雙圓弧的連接點(因交點一定存在),該方法的優(yōu)點是計算簡單,而且逼近誤差小。

      因3次C-Bézier曲線帶著參數(shù)α,軌跡圓與C-Bézier曲線的交點不一定存在。本文采用軌跡圓與C-Bézier曲線的距離最近的點作為連接點,此法計算較為簡單,逼近誤差較小,光順性好。

      2.3 算法

      雙圓弧逼近3次C-Bézier曲線的算法描述如下:

      輸入一條3次C-Bézier曲線,它有4個控制點q0,q1,q2,q3,參數(shù)α0(0<α0<π),記 q0處的單位切向

      輸出逼近C-Bézier曲線的雙圓弧。

      步驟 1 求 C-Bézier曲線 Bα(t)=Z0(t)q0+Z1(t)q1+Z2(t)q2+Z3(t)q3;

      步驟2 求公切點C;

      設(shè)公切L線交q0q1的連線于Q1,交q2q3的連線于Q2,記|q0Q1|=a(設(shè)a為參數(shù)0≤a≤|q0q1|),|q3Q2|=b,則Q1=q0+a?e→1,Q2=q3-b?e→2,且由|Q1Q2|=a+b 解出 b(b 含參數(shù) a,用數(shù)學軟件 Matlab 解b),得公切點

      計算公切點C到C-Bézier曲線的距離dα=|C-Bα(t)|,并求出有最小距離的C(即設(shè)為連接點);

      步驟 3 設(shè)雙圓弧 C1和 C2的圓心為 O1和 O2,半徑為 R1和 R2,則由雙圓弧的定義得可解得O1和O2,并得半徑 R1=|O1q0|,R2=|O2q3|;

      步驟4 雙圓弧C1和C2逼近C-Bézier曲線時,多用法向誤差e=max(||O1-Bα(t)|-R1|,||O2-Bα(t)|-R2|);

      步驟5 若誤差e大于給定值,則對C-Bézier曲線分段重新處理,即返回步驟2。

      3 實 例

      給定一條3次C-Bézier曲線,其控制頂點為q0=(0,0),q1=(0.3,0.5),q2=(0.7,0.5),q3=(1,0),形狀控制參數(shù)α=1;用雙圓弧逼近此3次C-Bézier曲線,給定誤差e≤0.01。經(jīng)Matlab編程,不用分段,計算得公切C點中的a=0.583,b=0.290;公切點坐標為C=(0.332,0.332),雙圓弧的圓心坐標為O1=(0.724,-0.434),O2=(0.619,-0.229),雙圓弧的半徑R1=0.844,R2=0.445;逼近的最大誤差e=0.009。從實例的計算中可以看出,在一定的誤差要求下,可以用雙圓弧逼近C-Bézier曲線。

      4 結(jié)束語

      本文用雙圓弧對C-Bézier曲線進行逼近,結(jié)果表明在允許誤差內(nèi)雙圓弧是局部存在的。此法可推廣到其它曲線的逼近,在數(shù)控加工及工程圖紙的繪制中有一定的實際和應用價值。

      [1] 王國兵,侯增選.三次均勻B樣條曲線的雙圓弧逼近方法[J].計算機應用研究,2008,25(4):1 087-1 089.

      [2] 汪國平,孫家廣.平面NURBS曲線及其 offset的雙圓弧的逼近[J].軟件學報,2000,11(10):1 368-1 374.

      [3] 盧建彪,雍俊海.二次 Bézier曲線的雙圓弧樣條插值二分算法[J].計算機應用研究,2006,23(8):172-173.

      [4] 樊建華,鄔義杰,林興.C-Bézier曲線分割算法及G1拼接條件[J].計算機輔助設(shè)計與圖形學學報,2002,14(5):421-424.

      [5] 王國謹,汪國昭,鄭建民.計算機輔助幾何設(shè)計[M].北京:高等教育出版社,施普林格出版社,2001:1-16,70-80.

      [6] Zhang JW.C-curves:An extension of cubic curves[J].Computer-Aided Geometric Design,1996,13(3):199-217.

      猜你喜歡
      單位向量連接點切點
      聚焦單位向量的常見題型
      拋物線的切點弦方程的求法及性質(zhì)應用
      基于A3航攝儀的小基高比影像連接點精提取技術(shù)研究
      單位向量用途大
      一種偽內(nèi)切圓切點的刻畫辦法
      不容忽視的基本概念—單位向量
      基于彈性厚粘膠層的結(jié)構(gòu)性連接點響應建模和預測
      汽車文摘(2016年6期)2016-12-07 00:23:38
      橢圓的三類切點弦的包絡(luò)
      基于相關(guān)性篩選原理的公共連接點諧波畸變量的分層量化
      電測與儀表(2015年3期)2015-04-09 11:37:22
      顏學海:把握投資創(chuàng)新與模式創(chuàng)新的連接點
      昌江| 牟定县| 吉木萨尔县| 博乐市| 桃江县| 内丘县| 博野县| 自治县| 苍南县| 琼海市| 固镇县| 湖南省| 法库县| 子长县| 孝感市| 平和县| 安丘市| 类乌齐县| 宜兰县| 洮南市| 长海县| 兴文县| 朝阳区| 安阳市| 郸城县| 博罗县| 论坛| 鄯善县| 青浦区| 永济市| 安国市| 团风县| 涞水县| 商水县| 平阴县| 太和县| 涿州市| 政和县| 莱芜市| 乌苏市| 封丘县|