Unity 貝塞爾曲線

2021-07-05 15:55:20 字數 945 閱讀 1555

貝塞爾曲線就是畫圖中的鋼筆工具,確定幾個點就可以完美顯示一條光滑曲線。

線性公式

給定點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,運用了以貝茲樣條組成的三次貝茲曲線,用來描繪曲線輪廓。

一般引數公式

n階貝茲曲線可如下推斷。給定點p0、p1、…、pn,其貝茲曲線即:

額,這是最重要程式實現過程:

1.開始於p0並結束於pn的曲線,即所謂的端點插值法屬性。

2.曲線是直線的充分必要條件是所有的控制點都位在曲線上。同樣的,貝塞爾曲線是直線的充分必要條件是控制點共線。

3.曲線的起始點(結束點)相切於貝塞爾多邊形的第一節(最後一節)。

4.一條曲線可在任意點切割成兩條或任意多條子曲線,每一條子曲線仍是貝塞爾曲線。

5.一些看似簡單的曲線(如圓)無法以貝塞爾曲線精確的描述,或分段成貝塞爾曲線(雖然當每個內部控制點對單位圓上的外部控制點水平或垂直的的距離為時,分成四段的貝茲曲線,可以小於千分之一的最大半徑誤差近似於圓)。

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

Unity 貝塞爾曲線

貝塞爾曲線的知識和原理請參考 這裡我只是寫一下我怎麼理解和使用的,什麼是貝塞爾曲線,在起點和終點之間由多個控制點進行差值運算的一條曲線,通過不斷的在兩點之間獲取差值來求得最終的點位實現曲線繪製 所有方塊都是控制點位,第乙個是起點,最後乙個是終點。serializefield private tran...

unity 貝塞爾曲線演算法

在任意幾個點座標繪製出的一條曲線,就叫貝賽爾曲線。線性公式 這個最簡單,就是很普通的插值演算法,給定p0,p1,t取值範圍0到1 線性 vector3 bezier vector3 p0,vector3 p1,float t 二次方公式 二次方的也不是很難理解,還是求插值,p0和p1的插值,p1和p...

貝塞爾曲線

1.概述 貝塞爾曲線 b zier curve 又稱 貝茲曲線或貝濟埃曲線,是應用於二維圖形應用程式的數學曲線。一般的向量圖形 軟體通過它來精確畫出曲線,貝茲曲線由 線段與節點組成,節點是可拖動的支點,線段像可伸縮的皮筋,我們在繪圖工具上看到的鋼筆工具就是來做這種向量曲線的。貝塞爾曲線是計算機圖形學...