Bézier curve | 貝茲曲線 |貝塞爾曲線知多少

2021-02-19 EDIUS

來源:餅乾教育

貝塞爾曲線(Bézier curve)對於從事CG行業的工作者來說是最熟悉不過的了,無論二維軟體亦或三維軟體都少不了它的身影。它是用於計算機圖形學和相關領域的參數曲線,更高維度的廣泛化貝塞爾曲線就稱作貝塞爾曲面,其中貝塞爾三角是一種特殊的實例。貝塞爾曲線最早來源於伯恩斯坦多項式,但因皮埃爾·貝塞爾於20世紀60年代設計雷諾汽車的曲線車身而得名,後來廣泛應用於計算機圖形領域。

貝塞爾曲線的演變- 伯恩斯坦多項式 -

貝塞爾曲線由最原始的1912年就在數學界廣為人知的數學公式伯恩斯坦多項式演變而來。簡單理解,伯恩斯坦多項式可以用來證明,在[ 0, 1 ] 區間內所有的連續函數都可以用多項式來逼近,並且收斂性很強,也就是一致收斂。再簡單點,就是一個連續函數,你可以將它寫成若干個伯恩斯坦多項式相加的形式,並且,隨著 n→∞,這個多項式將一致收斂到原函數,這個就是伯恩斯坦斯的逼近性質。

- 複雜公式的圖形化 -

1959年。當時就職於雪鐵龍的法國數學家 Paul de Casteljau 開始對伯恩斯坦多項式進行了圖形化的嘗試,並且提供了一種數值穩定的德卡斯特裡奧(de Casteljau) 算法。(多數理論公式是建立在大量且系統的數學建模基礎之上研究的規律性成果)根據這個算法,就可以實現通過很少的控制點,去生成複雜的平滑曲線,也就是貝塞爾曲線。

- 推廣及應用 -

但貝塞爾曲線的聲名大噪,不得不提到1962年就職於雷諾的法國工程師皮埃爾·貝塞爾(Pierre Bézier),他使用這種方法來輔助汽車的車體工業設計(最早計算機的誕生則是為了幫助美國海軍繪製彈道圖),並且廣泛宣傳(典型的理論聯繫實際並獲得成功的示例),因此大家稱為貝塞爾曲線 。

貝塞爾曲線的繪製NO.01 | 二階曲線

在平面內選3個不同線的點並且依次用線段連接,在AB和BC線段上找出點D和點E,使得 AD/AB = BE/BC,連接DE,在DE上尋找點F,F點需要滿足:DF/DE = AD/AB = BE/BC,根據DE線段和計算公式找出所有的F點並將其連接起來。如第一個點是F1,第二點是F2(Fn 必須滿足DFn/DE = AD/AB = BE/BC)以此類推,直到最後連接上點C,如下圖所示:

NO.02 | 三階曲線

在平面內選4個不同線的點並且依次用線段連接,同二階貝塞爾曲線一樣首先需要在線段上找對應的點(E、F、G),對應的點必須要符合等比的計算規則,計算規則如下:AE/AB = BF/BC = CG/CD;找到對應的點以後接著依次連結EF、FG;接著在EF、FG線段上面繼續找點H、I,對應的點依舊要符合等比的計算規則,也就是 EH/EF = FI/FG;最後連接H、I線段,在HI線段上面繼續找點J、點J的計算規則需要符合:EH/EF = FI/FG = HJ/HI,重複步驟二的動作,找到所有的J點,依次將J點連接起來就得到了三階貝賽爾曲線。

NO.02 | 多階曲線

以四階曲線為例,平面上選取5個點並連接,依次選擇滿足等比關係的點並連接,最後將所有的點 J 連起來就能得到一條光滑的曲線,N階曲線亦是以此類推。

貝塞爾曲線的應用NO.01 | 計算機圖形

貝塞爾曲線廣泛用於計算機圖形學中平滑曲線模擬。由於所有的控制點都位在曲線上,因此可以以圖形方式顯示這些點並用於直觀地操縱曲線。通過在曲線的控制點上應用相應的變換,可以在曲線上應用諸如平移和旋轉的仿射變換。一般的矢量圖形軟體通過它來精確畫出曲線,貝塞爾曲線由線段與節點組成,節點是可拖動的支點,線段像可伸縮的皮筋,我們在繪圖工具上看到的鋼筆工具就是來做這種矢量曲線的。

NO.02 | 路徑動畫

路徑動畫是貝塞爾曲線一個十分常用的功能,就是規劃物體的運動軌跡,讓動畫目標能夠沿曲線平滑的實現移動動畫,也就是讓物體沿著貝塞爾曲線運動,而不是機械的直線運動,並且可以很好地控制其速度,例如從A移動到B的圖標,不是簡單地以每步的固定數量的像素移動。當動畫師或界面設計師談論操作的「物理」或「感覺」時,他們可能指的是用於控制所討論的移動的時間速度的特定貝塞爾曲線。

相關焦點

  • 「科普掃盲」貝塞爾曲線
    貝賽爾曲線的前世今生貝塞爾曲線,這個命名規則一眼看上去大概是一個叫貝塞爾的數學家發明的。但,貝塞爾曲線依據的最原始的數學公式,是在1912年在數學界廣為人知的伯恩斯坦多項式。簡單理解,伯恩斯坦多項式可以用來證明,在[ a, b ] 區間上所有的連續函數都可以用多項式來逼近,並且收斂性很強,也就是一致收斂。
  • Flatten the curve? 曲線平緩
    Reader question:Please explain this sentence, with "flatten the curve" in particular: Now is the time to stay inside as much as possible and do your part to flatten the curve.
  • Blender-曲線實體化運用
    大家許久不見,大家聖誕節~,很多人對曲線修改器運用和如何實體化有所困惑,而這篇將分析一些blender中曲線的基礎運用及拓展,插一小段,在blender除了默認的幾個曲線,還有其他自帶曲線的插件,打開blender偏好設置的插件選項,輸入extra,開啟兩個曲線插件。
  • 美國國債收益率曲線的駝峰形態預示著未來美股會有何種回報率?
    Therefore, must look deeper to gain more clarity as to what the signal is from today’s yield curve shape.  令人失望的是,國債收益率曲線呈現駝峰形態本身帶來的更多是市場噪音而不是明確的信號,當國債收益率曲線的駝峰形態出現後,美國股市未來的回報情況要麼很好要麼很差。
  • 用Python動畫來展示二階貝賽爾曲線
    皮埃爾·貝塞爾貝塞爾論起知名度,也許不如小貝,但說起對人類的貢獻,那可是槓槓的,著名的「貝塞爾曲線」就出自他之手。1962年,貝塞爾發表了貝塞爾曲線的相關理論研究,當時在雷諾公司工作的他,主要運用貝塞爾曲線進行汽車設計。說到這裡可能還是有很多人沒明白貝塞爾曲線到底是什麼,看一下下面這個圖,大家就明白了。
  • ROC曲線的繪製與解讀
    www.graphpad-prism.cn受試者工作特徵曲線(receiver operating characteristic curve,簡稱ROC曲線),又稱為感受性曲線(sensitivity curve)。得此名的原因在於曲線上各點反映著相同的感受性,它們都是對同一信號刺激的反應,只不過是在幾種不同的判定標準下所得的結果而已。
  • R語言中繪製常用函數曲線的方法詳解
    本文將使用另外一種方法來繪製常見函數的曲線的方法,如冪函數曲線、指數函數曲線、三角函數曲線等。所用函數簡介本文要使用到的R函數是curve函數。繪製二次函數曲線#y=x^2curve(x^2,-5,5,bty="l",xlab="x",ylab="y",asp=1,ylim=c(-5,25))abline(h=0,v=0,lty=2,col="darkgray
  • 如何去看待哈曼曲線?Where Are We At With The Harman Curve?
    然而,我們並沒有看到聲稱使用哈曼曲線的耳機激增——甚至哈曼國際自己的AKG、JBL和Harman/Kardon也沒有,儘管其他製造商已經悄悄地向我透露,他們正在設計基於哈曼曲線的耳機。在上個月向AES洛杉磯分部的一次演示中,Olive著重介紹了其他幾款按照哈曼曲線設計的耳機(儘管據我所知,它們並不是按照哈曼曲線設計的)。包括三星Galaxy Buds; JBL Live 200,Live 500,Live 650,Reflect Flow;和AKG N5005。目前,這些耳機似乎只包括AKG N700 NC, K371和K361,但我們可以期待更多。
  • 【基礎教程】Matlab 曲線擬合之polyfit與polyval函數
    plot(x,y,'-or',x1,y1,'-ob',xx,yy); % 繪圖,原始數據+擬合曲線hold on;grid on;b0 = [y(1),-1];%設置初始值;Xi=linspace(min(x),max(x)); % 繪圖用到的點的橫坐標b = lsqcurvefit(@fun1,b0,x,y); b(2) = -0.4;Yi=y(1)*exp(b(2)*Xi);bresult
  • 【親子實驗室】神奇的利薩茹曲線
    你得到的這些曲線叫做利薩茹曲線(Lissajous curve)。各式各樣的利薩茹曲線利薩茹曲線是兩個沿著互相垂直方向的正弦振動的合成的軌跡。什麼是正弦振動?這個有點超綱啊,正弦振動就是從一個圓的最下面那個點沿著它的周長勻速走的時候,經過的坐標組成的曲線。
  • 機器學習中的AUC-ROC曲線
    AUC-ROC曲線你已經建立了你的機器學習模型-那麼接下來呢?你需要對它進行評估,並驗證它有多好(或有多壞),這樣你就可以決定是否實現它。這時就可以引入AUC-ROC曲線了。AUC-ROC曲線正好解決了這個問題!AUC-ROC曲線是什麼?ROC曲線是二值分類問題的一個評價指標。它是一個概率曲線,在不同的閾值下繪製TPR與FPR的關係圖,從本質上把「信號」與「噪聲」分開。曲線下面積(AUC)是分類器區分類的能力的度量,用作ROC曲線的總結。AUC越高,模型在區分正類和負類方面的性能越好。
  • 一文讀懂橢圓曲線加密學
    前言:本文是關於橢圓曲線加密的非常基礎的介紹。內容雖然基礎,但對於橢圓曲線加密的門外漢來說,簡單易懂,適合於初學者。本文作者Lane Wager,來源於medium,由「藍狐筆記」公眾號社群的「王澤龍」翻譯。這是一篇橢圓曲線密碼學的基本介紹。我假設本文的絕大多數讀者來這裡的目的是:了解為什麼橢圓曲線加密是一種有效的加密工具,以及它為什麼有效。
  • 線性擬合與曲線擬合,直接在圖上添加擬合曲線、擬合方程、判別係數...
    2、什麼是曲線擬合?真實世界研究中,變量間不一定是線性關係,比如疾病療效與療程長短的關係、服藥後血藥濃度與時間的關係等常呈曲線關係。此時,線性擬合效果不佳,曲線擬合提供了一個很好的解決思路。曲線擬合(Curve Fitting)是指選擇適當的曲線類型來擬合觀測數據,並用擬合的曲線方程分析兩個變量之間的關係。也可以說曲線擬合就是使用某個模型(或者稱為方程),將一系列的數據擬合出平滑的曲線,以便觀察兩組數據之間的內在聯繫,了解數據之間的變化趨勢。通過對數據進行曲線擬合,我們不但能找到數據中潛在的某種規律,還能對數據的變化進行預測。
  • 洛倫茨曲線和基尼係數
    洛倫茲曲線(Lorenz curve)1905 年,經濟學家 馬克斯·洛倫茲 提出表示收入分配的曲線:在一個總體(國家、地區)內,以「最貧窮的人口計算起一直到最富有人口」的人口百分比對應各個人口百分比的收入百分比的點組成的曲線。
  • 72.雪花曲線
    72.雪花曲線   由等邊三角形開始,可以形成兩種有趣的系列曲線,如右圖。然後在所形成的曲線的每一段直線上,同樣作三等分,繼續作更小的等邊三角形。以此類推,就可以形成一系列的雪花曲線。   我們用非常類似的方法也可以作出反雪花曲線,只要在三等分的地方向內作等邊三角形即可。   畫出這種曲線最簡單的方法是利用方格紙,並將一開始的等邊三角形每邊定為9個單位長。
  • 什麼是曲線擬合?
    那麼,從上式可以看出,模態的曲線擬合是用複數,而不是實數,實際上是在傅立葉域進行擬合。第二個方面,與之前的直線或拋物線擬合相比,FRF曲線比它們更複雜,數據點更多。單個FRF有多少條譜線就有多少個數據點,有多少個測量自由度,就存在多少條這樣的FRF曲線,如果同時有兩個或兩個以上的激勵點,還需要乘以激勵點數,這樣,實際用於擬合的數據點是非常龐大的。
  • 知識來了 | ECC橢圓曲線密碼學簡介
    等於P在曲線上的切線與曲線交點沿X軸的對稱點。模運算把發散的橢圓曲線映射到19*19的正方形空間中,並且保持了原有曲線的上下對稱特性。 下圖展示了利用同一個曲線方程進行不同模運算的結果。在實際的橢圓曲線加密算法中,使用長度為192-256位的質數p進行模運算。
  • 今日隨筆20210119,完全氧化反應中的light-off曲線
    這樣的轉化率和反應溫度曲線,也稱為light-off曲線(light-off curve),中文是點火曲線或著火曲線。轉化率轉折點對應的溫度(上圖中是130 oC)也稱為起燃溫度(light-off temperture),起燃溫度也反映了催化劑活性。但是,在不同催化劑,或不同反應物,轉化率和反應溫度曲線並不是完全相同的。有時往往像下圖: