這是一篇vip文章,如果你還不是vip,可以移步https://www.ilikexff.cn/articles/165免費閱讀。
介紹
貝塞爾曲線是計算機圖形學中最重要的概念之一,以其在表示曲線時的靈活性和精確性而聞名。廣泛應用于計算機圖形學、動畫、路徑規劃等領域的數學曲線。
貝塞爾曲線的數學原理基礎是1912年成立的伯恩斯坦多項式。
簡單來說,貝塞爾曲線是通過可變數量的點定義的。當控制點只有兩個時,繪制出來的是一條直線,也稱為線性貝塞爾曲線。
具有三個控制點的貝塞爾曲線是 二次貝塞爾曲線,四個點控制的則是三次貝塞爾曲線,以此類推。
其中,二次和三次貝塞爾曲線比較常用,也是比較受歡迎的兩種。因為他們在計算簡單性和能夠表示無限范圍的曲線之間取得了平衡。
曲線方程
貝塞爾曲線方程可以表示為:
其中, B ( t ) B(t) B(t) 是貝塞爾曲線在參數 t 上的點。
n n n是貝塞爾曲線的次數
P i P_i Pi?是控制點。
更具體的,對于一階貝塞爾曲線,公式如下:
B ( t ) = ( 1 ? t ) P 0 + t P 1 ,其中 t ∈ [ 0 , 1 ] B(t) = (1 - t) P_0 + t P_1 \quad \text{,其中 } t \in [0, 1] B(t)=(1?t)P0?+tP1?,其中 t∈[0,1]
其中的 P 0 P_0 P0?, P 1 P_1 P1?是兩個控制點,曲線從 P 0 P_0 P0?出發,經過 P 1 P_1 P1?,且為一條直線。
二次貝塞爾曲線有三個控制點,通常用于平滑的路徑繪制。該曲線依賴于一個控制點來彎曲直線,這種操作相比很多人都不陌生,我們在很多繪圖軟件中需要用到曲線或者帶箭頭的曲線時,都會通過鼠標拖動頭尾之外的中間點來實現想要的彎曲效果。
B ( t ) = ( 1 ? t ) 2 P 0 + 2 ( 1 ? t ) t P 1 + t 2 P 2 ,其中 t ∈ [ 0 , 1 ] B(t) = (1 - t)^2 P_0 + 2(1 - t)t P_1 + t^2 P_2 \quad \text{,其中 } t \in [0, 1] B(t)=(1?t)2P0?+2(1?t)tP1?+t2P2?,其中 t∈[0,