求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

貝塞爾曲線檢視原始碼討論檢視歷史

事實揭露 揭密真相
前往: 導覽搜尋

貝塞爾曲線(Bézier curve),又稱貝茲曲線或貝濟埃曲線,是應用於二維圖形應用程序的數學曲線。一般的矢量圖形軟件通過它來精確畫出曲線,貝茲曲線由線段與節點組成,節點是可拖動的支點,線段像可伸縮的皮筋,我們在繪圖工具上看到的鋼筆工具就是來做這種矢量曲線的。貝塞爾曲線是計算機圖形學中相當重要的參數曲線,在一些比較成熟的位圖軟件中也有貝塞爾曲線工具,如PhotoShop等。在Flash4中還沒有完整的曲線工具,而在Flash5裡面已經提供出貝塞爾曲線工具。

貝塞爾曲線於1962,由法國工程師皮埃爾·貝塞爾(Pierre Bézier)所廣泛發表,他運用貝塞爾曲線來為汽車的主體進行設計。貝塞爾曲線最初由Paul de Casteljau於1959年運用de Casteljau演算法開發,以穩定數值的方法求出貝茲曲線。[1]

曲線作用

由於用計算機畫圖大部分時間是操作鼠標來掌握線條的路徑,與手繪的感覺和效果有很大的差別。即使是一位精明的畫師能輕鬆繪出各種圖形,拿到鼠標想隨心所欲的畫圖也不是一件容易的事。這一點是計算機萬萬不能代替手工的工作,所以人們只能頗感無奈。使用貝塞爾工具畫圖很大程度上彌補了這一缺憾。貝塞爾曲線是計算機圖形圖像造型的基本工具,是圖形造型運用得最多的基本線條之一。它通過控制曲線上的四個點(起始點、終止點以及兩個相互分離的中間點)來創造、編輯圖形。其中起重要作用的是位於曲線中央的控制線。這條線是虛擬的,中間與貝塞爾曲線交叉,兩端是控制端點。移動兩端的端點時貝塞爾曲線改變曲線的曲率(彎曲的程度);移動中間點(也就是移動虛擬的控制線)時,貝塞爾曲線在起始點和終止點鎖定的情況下做均勻移動。注意,貝塞爾曲線上的所有控制點、節點均可編輯。這種「智能化」的矢量線條為藝術家提供了一種理想的圖形編輯與創造的工具。

貝塞爾曲線就是這樣的一條曲線,它是依據四個位置任意的點坐標繪製出的一條光滑曲線。在歷史上,研究貝塞爾曲線的人最初是按照已知曲線參數方程來確定四個點的思路設計出這種矢量曲線繪製法。貝塞爾曲線的有趣之處更在於它的「皮筋效應」,也就是說,隨着點有規律地移動,曲線將產生皮筋伸引一樣的變換,帶來視覺上的衝擊。1962年,法國數學家Pierre Bézier第一個研究了這種矢量繪製曲線的方法,並給出了詳細的計算公式,因此按照這樣的公式繪製出來的曲線就用他的姓氏來命名是為貝塞爾曲線。

曲線發現者

「貝賽爾曲線」是由法國數學家Pierre Bézier所發明,由此為計算機矢量圖形學奠定了基礎。它的主要意義在於無論是直線或曲線都能在數學上予以描述。

給定點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.位於固定偏移量的曲線(來自給定的貝塞爾曲線),又稱作偏移曲線(假平行於原來的曲線,如兩條鐵軌之間的偏移)無法以貝茲曲線精確的形成(某些瑣屑實例除外)。無論如何,現存的啟發法通常可為實際用途中給出近似值。

「貝賽爾」工具在photoshop中叫「鋼筆工具」;在CorelDraw中翻譯成「貝賽爾工具」;而在Fireworks中叫「畫筆」。它是用來「畫線」造型的一種專業工具。當然還有很多工具也可以完成畫線的工作,例如大家常用的photoshop里的直線、噴槍、畫筆工具,Fireworks里的直線、鉛筆和筆刷工具,CorelDraw里的自由筆,手繪工具等等。

特點

用「貝塞爾」工具無論是畫直線或是曲線,都非常簡單,隨手可得。其操作特點是通過用鼠標在面板上放置各個錨點,根據錨點的路徑和描繪的先後順序,產生直線或者是曲線的效果。我們都知道路徑由一個或多個直線段或曲線段組成。錨點標記路徑段的端點。在曲線段上,每個選中的錨點顯示一條或兩條方向線,方向線以方向點結束。方向線和方向點的位置確定曲線段的大小和形狀。移動這些元素將改變路徑中曲線的形狀,可以看圖1。路徑可以是閉合的,沒有起點或終點(如圓圈),也可以是開放的,有明顯的端點(如波浪線)。

貝塞爾曲線跟PS里的鋼筆的意思大概差不多,不過貝塞爾曲線沒有選取的功能。在這裡,要切記,不要和輪廓工具弄混,前者是通過調節點調節形狀,後者是調節形狀輪廓的粗細以及樣式。

CDR畫法

曲線對象上的節點可更改為尖突、平滑、對稱和線條4種類型。

貝塞爾曲線可以使用快捷鍵來改變現有節點的類型。利用形狀工具選擇節點,然後按「C」鍵,可以將平滑、對稱節點更改為尖突節點』或將尖突節點更改為平滑節點。還可以改變下一線段的切線方向。貝塞爾曲線按「S」鍵可以將對稱節點改為平滑節點,或將尖突、平滑節點更改為對稱節點。還可以改變上下兩線段的切線方向。

貝塞爾曲線按「ALT「鍵,不鬆開左鍵,可以移動節點。貝塞爾曲線按「CTRL」鍵,切點方向可以根據預設空間的限制角度任意放置。貝塞爾曲線按「ESC」鍵,要連續畫不封閉且不連接的曲線。還可以一邊畫一邊對之前的節點進行任意移動。貝塞爾曲線在CDR中,默認生成的節點除了閉合節點為尖突類型外,其餘都為對稱點。

視頻

貝塞爾曲線 相關視頻

貝塞爾曲線工作原理揭秘
市一中 徐夏 用Flash鋼筆工具繪製貝塞爾曲線

參考文獻

  1. 所謂的貝塞爾曲線,CSDN博客,2020-05-17