1. 程式人生 > 實用技巧 >Games101 筆記 11幾何(曲線與曲面)

Games101 筆記 11幾何(曲線與曲面)

Explicit Representations in Computer Graphics顯式幾何

點雲: 不考慮物體時一個表面, 而是把每個點當作一個表面.

如果要表現一個非常複雜的模型, 就需要非常多的點. 點雲經常被考慮如何變成三角形面,

平時很少用, 除非掃描出來的資料.

多邊形面

最廣泛應用的

v 頂點

vn 法線

vt 紋理座標

f 連線關係 (序列連線的三角形)

Curves 曲線

相機路徑/動畫曲線/向量字型

Bézier Curves (⻉塞爾曲線)

用一些控制點來控制曲線. 以p0,p1為切線的曲線.

根據時間找某個時間點上 曲線上面對應的點.

現在bo,b1 b1,b2 上找2個控制點形成的線段上面的點. 新的到的2個點連起來, 再次根據t來計算點

得到唯一的點就結束.

根據時間[0-t], 把所有的點都遍歷一遍就得到曲線.

多個控制點, 一次找出更少的控制點.

每一層控制點 線性插值找出控制點, 之後再插值.最後得到一個控制點.

貝塞爾曲線在仿射變換下

對不同的頂點就行仿射變換, 對仿射變換後的畫一條曲線

和通過原始點得到的曲線進行仿射變換時一樣的.

Affine transformation property Transform curve by transforming control points

凸包性質, 畫的曲線一定在幾個控制點形成的凸包內.

Convex hull property
Curve is within convex hull of control points

凸包:

逐段定義的貝塞爾曲線, 一般預設4個控制點定義一條. PS中的鋼筆工具.

如果保證連線處連續呢?

連線處控制點的2側2個點在同一條線上, 且距離一樣.

c0 連續 接觸點在一起就算連續

c1 連續, 共線, 方向相反. 可以認為一階導數的連續.

其他型別的曲線

Spline 樣條 可控的樣條

B-Spline 樣條

由區域性性, 可以只修改其中某一段.

Surfaces 曲面

Bézier Surfaces 貝塞爾曲面

需要2個維度上面的控制,

u,v 0,1範圍內.