標籤:
Bezier曲線原理
貝茲路徑(Bézier curve),又稱貝茲曲線或貝濟埃曲線,是應用於二維圖形應用程式的數學曲線。一般的向量圖形軟體通過它來精確畫出曲線,貝茲曲線由線段與節點群組成,節點是可拖動的支點,線段像可伸縮的皮筋,我們在繪圖工具上看到的鋼筆工具就是來做這種向量曲線的。貝茲路徑是電腦圖形學中相當重要的參數曲線,在一些比較成熟的位元影像軟體中也有貝茲路徑工具,如PhotoShop等。在Flash4中還沒有完整的曲線工具,而在Flash5裡面已經提供出貝茲路徑工具。貝茲路徑於1962,由法國工程師皮埃爾·貝塞爾(Pierre Bézier)所廣泛發表,他運用貝茲路徑來為汽車的主體進行設計。貝茲路徑最初由Paul de Casteljau於1959年運用de Casteljau演算法開發,以穩定數值的方法求出貝茲曲線。
曲線作用
由於用電腦畫圖大部分時間是操作滑鼠來掌握線條的路徑,與手繪的感覺和效果有很大的差別。即使是一位精明的畫師能輕鬆繪出各種圖形,拿到滑鼠想隨心所欲的畫圖也不是一件容易的事。這一點是電腦萬萬不能代替手工的工作,所以到目前為止人們只能頗感無奈。使用貝塞爾工具畫圖很大程度上彌補了這一缺憾。貝茲路徑是電腦圖形映像造型的基本工具,是圖形造型運用得最多的基本線條之一。它通過控制曲線上的四個點(起始點、終止點以及兩個相互分離的中間點)來創造、編輯圖形。其中起重要作用的是位於曲線中央的控制線。這條線是虛擬,中間與貝茲路徑交叉,兩端是控制端點。移動兩端的端點時貝茲路徑改變曲線的曲率(彎曲的程度);移動中間點(也就是移動虛擬控制線)時,貝茲路徑在起始點和終止點鎖定的情況下做均勻移動。注意,貝茲路徑上的所有控制點、節點均可編輯。這種“智能化”的向量線條為藝術家提供了一種理想的圖形編輯與創造的工具。
公式
線性公式
給定點P0、P1,線性貝茲曲線只是一條兩點之間的直線。且其等同於線性插值。這條線由下式給出:
二次方公式
二次方貝茲曲線的路徑由給定點P0、P1、P2的函數B(t)追蹤:
TrueType字型就運用了以貝茲樣條組成的二次貝茲曲線。
三次方公式
P0、P1、P2、P3四個點在平面或在三維空間中定義了三次方貝茲曲線。曲線起始於P0走向P1,並從P2的方向來到P3。一般不會經過P1或P2;這兩個點只是在那裡提供方向資訊。P0和P1之間的間距,決定了曲線在轉而趨進P3之前,走向P2方向的“長度有多長”。
曲線的參數形式為:
現代的成象系統,如PostScript、Asymptote和Metafont,運用了以貝茲樣條組成的三次貝茲曲線,用來描繪曲線輪廓。
四次方圖:
一般參數公式
階貝茲曲線可如下推斷。給定點P0、P1、…、Pn,其貝茲曲線即:
如上公式可如下遞迴表達: 用表示由點P0、P1、…、Pn所決定的貝茲曲線。
用平常話來說,階的貝茲曲線,即雙階貝茲曲線之間的插值。
公式說明
1.開始於P0並結束於Pn的曲線,即所謂的端點插值法屬性。
2.曲線是直線的充分必要條件是所有的控制點都位在曲線上。同樣的,貝茲路徑是直線的充分必要條件是控制點共線。
3.曲線的起始點(結束點)相切於貝塞爾多邊形的第一節(最後一節)。
4.一條曲線可在任意點切割成兩條或任意多條子曲線,每一條子曲線仍是貝茲路徑。
5.一些看似簡單的曲線(如圓)無法以貝茲路徑精確的描述,或分段成貝茲路徑(雖然當每個內部控制點對單位圓上的外部控制點水平或垂直的的距離為時,分成四段的貝茲曲線,可以小於千分之一的最大半徑誤差近似於圓)。
6.位於固定位移量的曲線(來自給定的貝茲路徑),又稱作位移曲線(假平行於原來的曲線,如兩條鐵軌之間的位移)無法以貝茲曲線精確的形成(某些瑣屑執行個體除外)。無論如何,現存的啟發法通常可為實際用途中給出近似值。
Bezier曲線原理—動態解釋