日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

有理贝塞尔曲线(Rational Bezier Curves)

發布時間:2025/6/17 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 有理贝塞尔曲线(Rational Bezier Curves) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

有理貝塞爾曲線(Rational B′ezier Curves)

1、定義

有理貝塞爾曲線(Rational B′ezier Curves)

控制點為 b0,?,bn 的n階有理貝塞爾曲線定義為:

B(t)=ni=0ωibiBi,n(t)ni=0ωiBi,n(t),t[0.1]

bi=(xi,yi,zi),定義齊次控制點 b^i 為:

b^i={(ωixi,ωixi,ωixi,ωi),(xi,yi,zi,0),ifωi0ifωi=0

旋轉貝塞爾曲線的齊次形式可表示為:

B(t)=i=onb^iBi,n(t)

用基本形式表示為:

B(t)=i=obiRi,n(t)

其中:

Ri,n(t)=???????ωiBi,n(t)nj=0ωjBj,n(t)Bi,n(t)nj=0Bj,n(t)ifωi0ifωi=0

2、性質

  • 凸包性質

    假設,ωi>0,i[0,1]
    那么,貝塞爾曲線上的點在其控制點定義的凸包內

  • 仿射變換不變性

    T(ni=0ωibiBi,n(t)ni=0ωiTBi,n(t))=ni=0ωibiBi,n(t)ni=0ωiBi,n(t),T仿

  • 變差縮減性質

    假設,ωi>0,quadi[0,1]
    對平面貝塞爾曲線 B(t) 和給定的直線,貝塞爾曲線與直線的交點個數不大于其控制多邊形和直線的交點的個數。

  • 端點插值性質:

    B(0)=boB(1)=bn

  • 端點切線定理:

    B(0)=n(ω1?ω0),B(1)=n(ωn?ωn?1)

  • 投影變換不變性

    T(sumni=0b^iBi,n(t))=sumni=0T(b^i)Bi,n(t),T仿

3、定理

假設:ωk??>ωk+δωk, 則每一個點 b=B(t) 變化為點 bω=(1?α)b+αbω,

其中, α=δωkBk,n(t)ni=0ωiBi,n(t)+δωkBk,n(t)

4、de Casteljau 算法

計算方法是普通由貝塞爾曲線擴展而來,有兩種途徑實現算法。

1、假設

B(t)=ni=0ωibiBi,n(t)ni=0ωiBi,n(t) ,
其中, bi=(xi,yi),b^i=(ωixi,ωiyi,ωi) , 或者 bi=(xi,yi,zi),b^i=(ωixi,ωiyi,ωizi,ωi) ,對于平面曲線,和貝塞爾曲線 的算法一樣,把 ωi看做附加坐標。

2、第一種方法簡單快捷,但很容易出錯。避免錯誤的方法是,在每次迭代結束時,把齊次控制點轉換到笛卡爾坐標系下。顯得算法如下:

?????bji=bj?1i(1?t)ωj?1iωji+bj?1i+1tωj?1i+1ωjiωji=ωj?1i(1?t)+ωj?1i+1t

其中:
i=0,?,n?j,j=1,?,n

有理算法,計算了 B(t) 及其分支在時刻 t 時的點。

5、投影

M4×4 為投影矩陣,在齊次坐標系下,有理貝塞爾曲線

B(t)=ni=0ωibiBi,n(t)ni=0ωiBi,n(t)

(其中: bi=(xi,yi,zi ) 可以表示為:

B(t)=i=0nb^iBi,n(t)

( 其中: b^i={(ωixi,ωixi,ωixi,ωi),(xi,yi,zi,0),ifωi0ifωi=0 )

可以得到:

B(t)M=(i=0nb^iBi,n(t))M=i=0n(b^iM)Bi,n(t)=i=0nc^iBi,n(t)

其中,c^i=b^iM

總結

以上是生活随笔為你收集整理的有理贝塞尔曲线(Rational Bezier Curves)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。