Games101-lecture 11 幾何
顯式幾何內(nèi)容放在了上一講中

本節(jié)內(nèi)容

貝塞爾曲線

貝塞爾曲線用一系列的控制點去定義某個曲線,需要滿足一些性質,比如曲線方向要朝著p0到p1方向走,再到p2,最后到p3,并且起止點必須為p0、p3
貝塞爾曲線運用德卡斯特里奧(de Casteljau)算法 生成二次貝塞爾曲線:
定義三個點 -> 根據(jù)任意的 t 插值出點 -> 不斷重復 t在[0,1]間不斷取值 -> 得到曲線
(二次貝塞爾曲線采用了遞歸的方式,并且需要盡量多的加入t值去得到曲線想要的點)
三個點的應用



四個點的應用

二次貝塞爾曲線動畫

貝塞爾曲線的代數(shù)表示
在每兩個之間找一個時間t,相當于每兩個之間線性插值

把算法過程寫成代數(shù)的形式(如圖)

推廣到n階,不難發(fā)現(xiàn)這其實是一個符合二項分布的多項式

舉例:三次貝塞爾曲線的代數(shù)表示

貝塞爾曲線的性質
1.對稱性:第i項系數(shù)和倒數(shù)第i項系數(shù)相同
2.必過起點終點,起始切線方向為前兩個點連接的方向,終止切線方向為結尾兩個點連接的方向
3.在仿射變換下,只需要對頂點做仿射變換,就能得到這個貝塞爾曲線在仿射變換下的結果
4.凸包性質:貝塞爾曲線始終會在包含了所有控制點的最小凸多邊形中, 而不是按照控制點的順序圍成的最小多邊形


逐段貝塞爾曲線
控制點多了以后,貝塞爾曲線并不直觀,很難控制,于是我們想到可以每次定義一段貝塞爾曲線,然后連起來
普遍習慣每四個控制點定義一段,并略去中間兩點間的連線



但如何保證連起來的曲線是光滑的呢?
起點的兩個切線導數(shù)相等(不僅方向一樣,大小也一樣)
--逐段貝塞爾曲線連續(xù)性(分為點連續(xù)和切線連續(xù))


當然也會有更高的連續(xù)性要求比如c2等(c2不知道)
樣條曲線--其他類型的曲線
樣條:連續(xù)的曲線,由一系列控制點控制,滿足一定的連續(xù)性,即可控的曲線
B樣條曲線有關信息可以參考:
https://zhuanlan.zhihu.com/p/50626506
https://www.bilibili.com/video/BV13441127CH?p=13 胡事民老師的課
B樣條曲線(別稱基函數(shù)樣條)需要比貝塞爾曲線更多的信息,并滿足所有貝塞爾曲線的重要性質