• 
    

    
    

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

      ?

      Bezier曲線的識別模型

      2018-01-16 01:46:31周素靜廖淑華郭文秀
      關(guān)鍵詞:個點控制點像素

      周素靜,楊 慧,廖淑華,郭文秀

      (鄭州鐵路職業(yè)技術(shù)學(xué)院,河南 鄭州 451460)

      曲線的構(gòu)造和表示是計算機輔助設(shè)計中的基本問題,在產(chǎn)品的外形設(shè)計中具有非常重要的應(yīng)用。Bezier曲線是計算機繪圖中最常用的一種曲線,是圖形造型運用得最多的基本線條之一。

      設(shè)P0、P1、…、Pn是Bezier曲線的控制點,則其參數(shù)方程為

      其中

      該參數(shù)方程所確定的曲線稱為n次Bezier曲線。Bezier曲線的起點和終點同控制多邊形的起點和終點重合,即Bk,n(0)=P0,Bk,n(n)=Pn。

      1 問題的提出

      根據(jù)Bezier曲線的定義和性質(zhì)建立Bezier曲線的參數(shù)方程是科學(xué)研究和計算機輔助設(shè)計中常遇到的問題。圖1中給出了一條Bezier曲線的圖形,建立數(shù)學(xué)模型研究以下問題:

      (1)自動檢測并確定該Bezier曲線上點的實際坐標(biāo)。

      (2)求該Bezier曲線的參數(shù)方程。

      圖1 Bezier曲線

      2 模型的建立與求解

      設(shè)x、y分別表示平面上點的實際坐標(biāo),x’、y’表示平面上點的像素坐標(biāo);P0(x0,y0)、P1(x1,y1)、…、Pn(xn,yn)表示Bezier曲線的n個控制點;Q1(x(t1),y(t1))、Q2(x(t2),y(t2))、…、Qn(x(tn),y(tn))表示Bezier曲線上的點。

      2.1 問題(1)的模型建立與求解

      2.1.1 圖1中點的像素坐標(biāo)與實際坐標(biāo)之間的轉(zhuǎn)換公式

      根據(jù)題意,我們需要從圖1中Bezier曲線上取點的

      實際坐標(biāo),而利用Matlab中函數(shù)ginput取出的是點的像素坐標(biāo),這就要找到平面內(nèi)點的像素坐標(biāo)與實際坐標(biāo)的換算關(guān)系。

      首先,在圖1中取水平線上兩點,實際坐標(biāo)為A(0,-15)和B(10,-15),在y軸取兩點,實際坐標(biāo)為O(0,0)和C(0,10)。然后,利用imread函數(shù)將圖1讀入Matlab中,再利用ginput函數(shù)取出四個點的像素坐標(biāo),分別為A(134,464),B(213,464),O(134,345),C(134,265)。令

      則a,b為像素坐標(biāo)轉(zhuǎn)化為實際坐標(biāo)的比例系數(shù)。

      坐標(biāo)原點的像素坐標(biāo)為O(134,345),設(shè)原圖中曲線上任一點D的像素坐標(biāo)為(x’,y’),實際坐標(biāo)為(x,y),則有它們之間的換算公式為

      (1)

      2.1.2 從圖1中取點并求它們的實際坐標(biāo)

      利用ginput函數(shù)編程取出圖1中Bezier曲線上20個點的像素坐標(biāo),根據(jù)平面內(nèi)點像素坐標(biāo)與實際坐標(biāo)之間的換算公式(1)可得所取曲線上20個點的實際坐標(biāo),如表1所示。

      表1 Bezier曲線上20個點的實際坐標(biāo)

      序號11121314151617181920x55.3260.2565.5770.2574.8180.3883.1686.9688.2390.38y16.3816.0015.0013.5011.758.757.135.004.133.13

      2.2 問題(2)的模型建立與求解

      根據(jù)Bezier曲線的定義和性質(zhì),控制點的個數(shù)決定Bezier曲線的次數(shù),控制點的位置決定Bezier曲線的形狀。從圖1可以看出,圖中的Bezier曲線可能是由三個控制點生成的(如圖2所示)。

      圖2 由三個控制點生成的Bezier曲線

      設(shè)三個控制點的坐標(biāo)為P0(x0,y0)、P1(x1,y1)和P2(x2,y2),Q(x,y)為Bezier曲線上任意點。

      當(dāng)Bezier曲線是由三個控制點P0、P1和P2生成時,其參數(shù)方程為

      B(t)=(1-t)2P0+2t(1-t)P1+t2P2,

      (2)

      其中t∈[0,1]為參數(shù)。

      要求Bezier曲線的參數(shù)方程就要根據(jù)問題(1)中取出的曲線上點的實際坐標(biāo)進(jìn)行數(shù)據(jù)擬合,擬合出P0、P1和P2點的坐標(biāo),從而求出Bezier曲線的參數(shù)方程。

      設(shè)Q1(x(t1),y(t1))、Q2(x(t2),y(t2))、…、Qn(x(tn),y(tn))為Bezier曲線上的n個點,其中Q1=P0,Qn=P2。由于測量取點時的誤差,對于曲線上的同一個點,使得橫坐標(biāo)和縱坐標(biāo)

      x(t)=(1-t)2x0+2t(1-t)x1+t2x2,

      y(t)=(1-t)2y0+2t(1-t)y1+t2y2

      成立的參數(shù)t可能不同。設(shè)使得第i個點的實際坐標(biāo)滿足參數(shù)方程的參數(shù)分別為t1(i)和t2(i)(i=1,2,…,n),即

      為了通過這n個點擬合出Bezier曲線的參數(shù)方程,我們只需使這n個點對應(yīng)的參數(shù)t1(i)和t2(i)的平方和最小即可。根據(jù)Bezier曲線的定義和性質(zhì),可以得到:以控制點坐標(biāo)x0、y0、x1、y1、x2、y2和參數(shù)t1(i)、t2(i)為優(yōu)化變量,以t1(i)和t2(i)的平方和最小為目標(biāo)函數(shù)的最優(yōu)化模型為

      s.t.

      其中x(t1(i))、y(t2(i))(i=1,2,…,n)為曲線上所取n個點的坐標(biāo)(如表1所示),是已知數(shù)據(jù)。

      將表1中點的坐標(biāo)代入模型,并利用Lingo編程求解最優(yōu)化模型,可得三個控制點的坐標(biāo)如下表2所示。

      表2 Bezier曲線的控制點坐標(biāo)

      由表2可知,圖1中的Bezier曲線可以認(rèn)為由三個控制點為P0(10,3)、P1(90.253 2,29.794 6)、P1(90.379 7,3)所生成的。將三個控制點的坐標(biāo)代入式(2),可得Bezier曲線的參數(shù)方程為

      Q(t)=(1-t)2P0+2t(1-t)P1+t2P2,

      3 模型結(jié)果的分析與檢驗

      建立模型求解問題過程中,給出了用Matlab中的ginput函數(shù)獲取曲線上點的像素坐標(biāo)并轉(zhuǎn)化為實際坐標(biāo)的方法,這一方法對于圖形分析有重要意義。

      以參數(shù)誤差平方和最小作為目標(biāo)函數(shù)建立最優(yōu)化模型,解決了參數(shù)方程下曲線方程的擬合問題,求出的曲線與原曲線擬合度較好。該模型可以應(yīng)用于其他曲線圖像的分析,給出的最優(yōu)化模型求解是參數(shù)方程下曲線擬合的一種有益的探索。

      [1]姜啟源.數(shù)學(xué)模型,3版[M].北京:高等教育出版社,1999.

      [2]韓中庚.數(shù)學(xué)建模方法及其應(yīng)用,2版[M].北京:高等教育出版社,2009.

      [3]周天祥,楊勛年,汪國昭.快速繪制Bzier曲線[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2002,14(6):501-504.

      猜你喜歡
      個點控制點像素
      趙運哲作品
      藝術(shù)家(2023年8期)2023-11-02 02:05:28
      像素前線之“幻影”2000
      “像素”仙人掌
      NFFD控制點分布對氣動外形優(yōu)化的影響
      基于風(fēng)險管理下的項目建設(shè)內(nèi)部控制點思考
      由一道習(xí)題引出的思考
      高像素不是全部
      CHIP新電腦(2016年3期)2016-03-10 14:22:03
      相似材料模型中控制點像點坐標(biāo)定位研究
      SDCORS在基礎(chǔ)地理信息控制點補測中的應(yīng)用
      關(guān)于m2(3,q)的上界
      建昌县| 贺兰县| 江都市| 上犹县| 崇阳县| 元朗区| 宁德市| 象山县| 察哈| 辛集市| 郸城县| 东莞市| 金阳县| 靖州| 邢台县| 江孜县| 邓州市| 贺州市| 泊头市| 咸阳市| 阿巴嘎旗| 塔城市| 凌云县| 新干县| 盐亭县| 乡宁县| 石台县| 浦县| 蒲城县| 宁都县| 青海省| 蒙城县| 逊克县| 桂林市| 武城县| 郸城县| 砀山县| 沙洋县| 蒙自县| 英超| 循化|