1. 程式人生 > >CG-曲線與曲面-學習筆記

CG-曲線與曲面-學習筆記

一、連續性

1. 引數連續性

0階引數連續性(C0):是指曲線的幾何位置連線,即第一個曲線段的終點與第二個曲線段的起點x,y,z值相等;

1階引數連續性(C1):在C0的基礎上,該始末點的導數相等;

2階引數連續性(C2):在C1的基礎上,該始末點的二階導相等;

2. 幾何連續性(條件不太苛刻)

0階幾何連續性(G0):同0階引數連續性;

1階幾何連續性(G1):在滿足G0條件下,兩曲線結合處有公共切矢(方向相同,大小成比例);

2階幾何連續性(G2):在滿足G1條件下,兩曲線結合處有公共曲率;

二、Bezier曲線與曲面

1. 曲線段擬合函式

可以把曲線表示為許多小線段Φi(x)之和,其中Φi

(x)稱為基(混合)函式;

2. Bezier曲線定義

其中係數向量ai(i=0,1,...,n)順序首尾相接;

3. 貝塞爾基函式的替換->伯恩斯坦(Bernstain)基函式

1972年,劍橋大學的博士生Forrest在《Computer Aided Design》發表了他一生中最著名的論文。Forrest證明了Bezier曲線的基函式可以簡化成伯恩斯坦基函式:

一個連續函式y=f(x),任何一個ξ>0,總能找到一個多項式和這個函式足夠逼近。伯恩斯坦這套逼近的理論的形式是:

4. Bezier曲線的再定義

針對Bezier曲線,給定空間n+1個點的位置向量Pi(i=0,1,2,...,n),則Bezier曲線段的引數方程表示如下:

其中:

二項式定理,又稱牛頓二項式定理。

5. Bezier曲線分類:

1)一次Bezier曲線

這恰好是連線起點P0和終點P1的直線段!

2)二次Bezier曲線

二次Bezier曲線曲線為拋物線,其矩陣形式為:

3)三次Bezier曲線

把Bezier三次曲線多項式寫成矩陣形式:

 6. Bezier曲線性質

1)端點性質:P0和Pn分別位於實際曲線段的起點和終點上;

2)一階導數:Bezier曲線的起點和終點處的切線方向和特徵多邊形的第一條邊及最後一條邊的走向一致;

3)幾何不變性:Bezier曲線的形狀僅與控制多邊形各定點的相對位置有關,而與座標系的選擇無關;

4)變差縮減性:若Bezier曲線的特徵多邊形是一個平面圖形,則平面內任意直線與p(t)的交點個數不多於該直線與其特徵多邊形的交點個數。

 7. Bezier曲線的生成

1)根據定義直接生成Bezier曲線

a)首先給出Cin的遞迴計算式:

b)將表示成分量座標形式:

根據以上的公式可以直接寫出繪製Bezier曲線的程式。

2)Bezier曲線的遞推(de Casteljau)演算法

以二次Bezier曲線為例,求曲線上t=1/3的點:

由上三式得:

二次Bezier曲線P02可以定義為分別由前兩個頂點(P0,P1)和後兩個頂點(P1,P2)決定的一次Bezier曲線的線性組合。

由(n+1)個控制點Pi(i=0,1,...,n)定義的n次Bezier曲線P0n可被定義為分別由前、後n個控制點定義的兩條(n-1)次Bezier曲線P0n-1與P1n-1的線性組合:

由此得到Bezier曲線的遞推計算公式:

 三、B樣條曲線與曲面

1. 引入——Bezier曲線的不足:

1)一旦確定了特徵多邊形的頂點數(n+1),也就決定了曲線的階次(n);

2)Bezier曲線或曲面的拼接比較複雜;

3)Bezier曲線或曲面不能作區域性修改;

2. B樣條的遞推定義和性質

B樣條曲線的數學表示式為:

Bi,k(u)稱為k階(k-1次)B樣條基函式,k是刻畫次數的。其中k可以是2到控制點個數n+1之間的任意整數。對於Bezier曲線來說,階數和次數是一樣的;但對B樣條,階數是次數加1。

de Boor-Cox遞推定義:

曲線方程中,n+1個控制頂點Pi(i=0,1,...,n),要用到n+1個k階B樣條Bi,k(u)。它們支撐區間的並集定義了這一組B樣條基的節點向量U = [u0,u1,...,un+k]

3. B樣條曲線的定義:

ui是節點值,U=(u0,u1,...,un+k)構成了k階(k-1)次B樣條函式的節點向量,B樣條曲線所對應的節點向量區間:u∈[uk-1,un+1]