樣條曲線
- Piecewise-polynomial splines
- The minimum properties
- Error analysis
- B-Splines
- Curve fitting via splines
- Problem
Piecewise-polynomial splines
Definition 3.1. 給定非負整數 \(n,\ k\) ,以及嚴格單增序列 \(\{x_n\}\) 劃分 \([a,b]\)
\[a = x_1\le x_2 < \cdots < x_N = b \tag{3.1} \]與劃分 \(\{x_n\}\) 相關的 \(n\) 次 \(k\) 階光滑樣條函式的集合為
\[\mathbb{S}_n^k = \{s:s\in\mathcal{C}^k[a,b];\ \forall i\in[1,N-1],\ s|_{[x_i,x_{i+1}]}\in\mathbb{P}_n\} \tag{3.2} \]其中 \(x_i\) 稱為樣條的結.
Lemma 3.3. 記 \(m_i = s^{\prime}(f;x_i)\) ,其中 \(s\in\mathbb{S}_3^2\) ,則對每一個 \(i=2,3,\cdots,N-1\) 有
\[\lambda_i m_{i-1} + 2m_i + \mu_i m_{i+1} = 3\lambda_i f[x_{i-1},x_i] + 3\mu_i f[x_i,x_{i+1}] \tag{3.3} \]其中
\[\lambda_i = \dfrac{x_{i+1}-x_i}{x_{i+1}-x_{i-1}},\quad\mu_i = \dfrac{x_i-x_{i-1}}{x_{i+1}-x_{i-1}} \tag{3.4} \]\(Proof.\)
即可得到在 \([x_i,x_{i+1}]\) 上的插值多項式 \(p_i(x)\) ;由樣條的二階光滑性,在端點的二階導數應當相同,即 \(p_{i-1}^{\prime\prime}(x_i) = p_{i}^{\prime\prime}(x_i)\) ,代入即證.
Lemma 3.4. 記 \(M_i = s^{\prime\prime}(f;x_i)\) ,其中 \(s\in\mathbb{S}_3^2\) ,則對每一個 \(i=2,3,\cdots,N-1\) 有
\[\lambda_i M_{i-1} + 2M_i + \mu_i M_{i+1} = 6f[x_{i-1},x_i,x_{i+1}] \tag{3.5} \]\(Proof.\) 沒有一階導的資訊,直接在 \(x_i\) 處 Taylor 展開
\[s(x) = f_i + s^{\prime}(x_i)(x-x_i) + \dfrac{M_i}{2}(x-x_i)^2 + \dfrac{s^{\prime\prime\prime}(x_i)}{6}(x-x_i)^3,\quad x\in[x_{i},x_{i+1}] \]其中 \(s^{\prime\prime\prime}(x_i)\) 是三階右導數。因為 \(s(x)\) 是多項式,展開後沒有餘項。兩邊求二階導,代入 \(x=x_{i+1}\) ,有
\[s^{\prime\prime\prime}(x_i) = \dfrac{M_{i+1}-M_i}{x_{i+1}-x_i} \]這樣展開式中只剩下 \(s^{\prime}(x_i)\) 未知。我們在 \([x_{i-1},x_i]\) 上 Taylor 展開,只需將 \(s^{\prime\prime\prime}(x_i)\) 換成左導數,這樣就得到在 \(x_i\) 處相連的兩段樣條函式,其中三階左導數為
\[s^{\prime\prime\prime}(x_i) = \dfrac{M_{i-1}-M_i}{x_{i-1}-x_i} \]分別代入 \(x_{i-1},\ x_{i+1}\) 得到
\[s^{\prime}(x_i) = f[x_i,x_{i+1}] - \dfrac{1}{6}(M_{i+1}+2M_i)(x_{i+1}-x_i)\\ s^{\prime}(x_i) = f[x_{i-1},x_{i}] - \dfrac{1}{6}(M_{i-1}+2M_i)(x_{i-1}-x_i) \]作差消去 \(s^{\prime}(x_i)\) 即證.
Definition 3.5 (Boundary conditions of cubic splines). 普通三次樣條包含
- 完全三次樣條 complete cubic spline \(s\in\mathbb{S}_3^2\) 滿足邊界條件 \(s^{\prime}(f;a) = f^{\prime}(a),\ s^{\prime}(f;b) = f^{\prime}(b)\) .
- 特定二階導數的三次樣條 cubic spline with specified second derivatives at its end points : \(s^{\prime\prime}(f;a) = f^{\prime\prime}(a),\ s^{\prime\prime}(f;b) = f^{\prime\prime}(b)\) .
- 自然三次樣條 natural cubic spline \(s\in\mathbb{S}_3^2\) 滿足邊界條件 \(s^{\prime\prime}(f;a) = 0,\ s^{\prime\prime}(f;b) = 0\) .
- 無結三次樣條 not-a-knot cubic spline \(s\in\mathbb{S}_3^2\) 滿足 \(s^{\prime\prime\prime}(f;x)\) 在 \(x_2,\ x_{N-1}\) 處存在.
- 週期三次樣條 periodic cubic spline \(s\in\mathbb{S}_3^2\) 滿足 \(s(f;b) = f(a),\ s^{\prime}(f;b) = s^{\prime}(f;a),\ s^{\prime\prime}(f;b) = s^{\prime\prime}(f;a)\) .
Lemma 3.6. 對完全三次樣條 \(s\in\mathbb{S}_3^2\) ,記 \(M_i = s^{\prime\prime}(f;x_i)\) ,則有
\[2M_1 + M_2= 6f[x_1,x_1,x_2]\\ M_{N-1} + 2M_N = 6f[x_{N-1},x_N,x_N] \tag{3.6} \]\(Proof.\) 注意到只有三個插值條件,不足以構建插值多項式,因此直接在 \(x_1\) 處 Taylor 展開
\[s_1(x) = f_1 + s_1^{\prime}(x_1)(x-x_1) + \dfrac{M_1}{2}(x-x_1)^2 + \dfrac{s_1^{\prime\prime\prime}(x_1)}{6}(x-x_1)^3,\quad x\in[x_{1},x_{2}] \]類似的,我們兩邊求二階導,代入 \(x=x_{2}\) ,得到三階導
\[s_1^{\prime\prime\prime}(x_1) = \dfrac{M_{2}-M_1}{x_{2}-x_1} \]與之前不同的是,由於完全三次樣條中 \(s_1^{\prime}(x_1) = f^{\prime}(a)\) 已知,因此直接代入 \(x=x_{2}\) 即證.
Theorem 3.7. 給定函式 \(f:[a,b]\to\mathbb{R}\) ,存在 \(f\) 的唯一完全/自然/週期三次樣條插值多項式 \(s(f;x)\) .
\(Proof.\) 我們分別給出多種樣條的插值多項式計算方法
- 完全三次樣條
由於邊界處 \(f^{\prime}\) 已經給出,即 \(m_1 = f^{\prime}(x_1),\ m_{N} = f^{\prime}(x_N)\) ,直接利用先前推導的一階導關係可以建立線性方程組
\[\left( \begin{matrix} 2 & \mu_2\\ \lambda_3 & 2 & \mu_3\\ & \ddots & \ddots & \ddots\\ & & \lambda_{N-2} & 2 & \mu_{N-2}\\ & & & \lambda_{N-1} & 2 \end{matrix} \right) \left( \begin{matrix} m_2\\ m_3\\ \vdots\\ m_{N-2}\\ m_{N-1} \end{matrix} \right) = \left( \begin{matrix} b_2\\ b_3\\ \vdots\\ b_{N-2}\\ b_{N-1} \end{matrix} \right) \]其中 \(b_i\) 可由 Lemma 3.3 中的等式建立
\[b_2 = 3\lambda_2f[x_{1},x_{2}] + 3\mu_2f[x_2,x_{3}] - \lambda_2m_1,\\ b_{n-1} = 3\lambda_{N-1}f[x_{N-2},x_{N-1}] + 3\mu_if[x_{N-1},x_{N}] - \mu_{N-1}m_N,\\ b_i = 3\lambda_if[x_{i-1},x_{i}] + 3\mu_if[x_i,x_{i+1}],\quad i=3,\cdots,N-2 \]最終解出對應的一階導數條件,然後在每段區間上應用埃爾米特插值即可.
使用二階導的關係更為簡單
\[\left( \begin{matrix} 2 & 1\\ \lambda_2 & 2 & \mu_2\\ & \ddots & \ddots & \ddots\\ & & \lambda_{N-1} & 2 & \mu_{N-1}\\ & & & 1 & 2 \end{matrix} \right) \left( \begin{matrix} M_1\\ M_2\\ \vdots\\ M_{N-1}\\ M_{N} \end{matrix} \right) = \left( \begin{matrix} b_1\\ b_2\\ \vdots\\ b_{N-1}\\ b_{N} \end{matrix} \right) \]其中 \(b_i\) 可由 Lemma 3.4 Lemma 3.6 中的等式建立
\[b_1 = 6f[x_1,x_1,x_2],\quad b_N = 6f[x_{N-1},x_N,x_N],\\ b_i = 6f[x_{i-1},x_i,x_{i+1}],\quad i=2,3,\cdots,N-1 \]最終解出對應的二階導數條件,然後在區間 \([x_i,x_{i+1}]\) 上代入 Taylor 展開式解出對應的 \(f^{\prime}(x_i),\ f^{\prime\prime\prime}(x_i)\) .
- 自然三次樣條
邊界處 \(f^{\prime\prime} = 0\) ,沒有足夠的插值條件,直接在 \(x_1\) 處 Taylor 展開得
\[s_1(x) = f_1 + m_1(x-x_1) + \dfrac{s_1^{\prime\prime\prime}(x_1)}{6}(x-x_1)^3,\quad x\in[x_{1},x_{2}] \]兩邊求一階導,代入 \(x=x_{2}\) ,得到三階導
\[s_1^{\prime\prime\prime}(x_1) = \dfrac{2(m_2-m_1)}{(x_{2}-x_1)^2} \]代回後再令 \(x=x_{2}\) 有
\[2m_1+m_2 = 3f[x_1,x_2] \]類似的,可以證明
\[m_{N-1}+2m_N = 3f[x_{N-1},x_N] \]結合 Lemma 3.3 中的等式建立線性方程組
\[\left( \begin{matrix} 2 & 1\\ \lambda_2 & 2 & \mu_2\\ & \ddots & \ddots & \ddots\\ & & \lambda_{N-1} & 2 & \mu_{N-1}\\ & & & 1 & 2 \end{matrix} \right) \left( \begin{matrix} m_1\\ m_2\\ \vdots\\ m_{N-1}\\ m_N \end{matrix} \right) = \left( \begin{matrix} b_1\\ b_2\\ \vdots\\ b_{N-1}\\ b_N \end{matrix} \right) \]其中 \(b_i\) 滿足
\[b_1 = 3f[x_1,x_2],\quad b_N = 3f[x_{N-1},x_N],\\ b_i = 3\lambda_if[x_{i-1},x_{i}] + 3\mu_if[x_i,x_{i+1}],\quad i=2,3,\cdots,N-1 \]最終解出對應的一階導數條件,然後在每段區間上應用埃爾米特插值即可.
- 週期三次樣條
由於邊界點有 \(s(f;b) = f(a),\ s^{\prime}(f;b) = s^{\prime}(f;a),\ s^{\prime\prime}(f;b) = s^{\prime\prime}(f;a)\) ,因而利用完全三次樣條的公式
\[2M_1 + M_2= 6f[x_1,x_1,x_2]\\ M_{N-1} + 2M_N = 6f[x_{N-1},x_N,x_N] \]我們消去其中的導數項得到
\[2(x_2-x_1)M_1 + (x_2-x_1)M_2 - (x_N-x_{N-1})M_{N-1} - 2(x_N-x_{N-1})M_N = 6f[x_1,x_2]-6f[x_{N-1},x_N] \]再利用二階導數相等有
\[M_1 - M_N = 0 \]從而與之前 Lemma 3.4 中的關係構成 \(n\) 個線性方程,最終可以解出所有二階導條件.
- 無結三次樣條
在 \(x_2,\ x_{N-1}\) 處 \(f^{\prime\prime\prime}\) 存在,沒有足夠的插值條件,在 \(x_1\) 處 Taylor 展開得
\[s(x) = f_1 + m_1(x-x_1) + \dfrac{M_1}{2}(x-x_1)^2 + \dfrac{s^{\prime\prime\prime}(x_1)}{6}(x-x_1)^3,\quad x\in[x_{1},x_{2}] \]兩邊求三階導,代入 \(x=x_{2}\) ,得到 \(s^{\prime\prime\prime}(x_2) = s^{\prime\prime\prime}(x_1)\) ,兩邊求二階導得到
\[s_1^{\prime\prime\prime}(x_1) = \dfrac{M_{2}-M_1}{x_{2}-x_1} \]注意到三階導的存在意味著該展開式實際上是 \([x_1,x_3]\) 上的插值多項式,代入 \(x_2,\ x_3\) 有
\[f[x_1,x_2] = m_1 + \dfrac{M_1}{2}(x_2-x_1) + \dfrac{M_2-M_1}{6}(x_2-x_1)\\ f[x_1,x_3] = m_1 + \dfrac{M_1}{2}(x_3-x_1) + \dfrac{M_2-M_1}{6}(x_3-x_1) \]上下兩式作差得到
\[2M_1+M_2 = \dfrac{6f[x_1,x_3]-6f[x_1,x_2]}{x_3-x_2} \]類似的,可以證明
\[M_{N-1}+2M_N = \dfrac{6f[x_{N},x_{N-2}]-6f[x_{N},x_{N-1}]}{x_{N-2}-x_{N-1}} \]因此可以建立線性方程組
\[\left( \begin{matrix} 2 & 1\\ \lambda_2 & 2 & \mu_2\\ & \ddots & \ddots & \ddots\\ & & \lambda_{N-1} & 2 & \mu_{N-1}\\ & & & 1 & 2 \end{matrix} \right) \left( \begin{matrix} M_1\\ M_2\\ \vdots\\ M_{N-1}\\ M_{N} \end{matrix} \right) = \left( \begin{matrix} b_1\\ b_2\\ \vdots\\ b_{N-1}\\ b_{N} \end{matrix} \right) \]其中 \(b_i\) 可由 Lemma 3.4 Lemma 3.6 中的等式建立
\[b_1 = \dfrac{6f[x_1,x_3]-6f[x_1,x_2]}{x_3-x_2},\\ b_N = \dfrac{6f[x_{N},x_{N-2}]-6f[x_{N},x_{N-1}]}{x_{N-2}-x_{N-1}},\\ b_i = 6f[x_{i-1},x_i,x_{i+1}],\quad i=2,3,\cdots,N-1 \]最終解出對應的二階導數條件,然後在區間 \([x_i,x_{i+1}]\) 上代入 Taylor 展開式解出對應的 \(f^{\prime}(x_i),\ f^{\prime\prime\prime}(x_i)\) .
- 特定二階導數的三次樣條
由於二階導數已知,可以直接代入公式
\[\left( \begin{matrix} 1\\ \lambda_2 & 2 & \mu_2\\ & \ddots & \ddots & \ddots\\ & & \lambda_{N-1} & 2 & \mu_{N-1}\\ & & & & 1 \end{matrix} \right) \left( \begin{matrix} M_1\\ M_2\\ \vdots\\ M_{N-1}\\ M_{N} \end{matrix} \right) = \left( \begin{matrix} b_1\\ b_2\\ \vdots\\ b_{N-1}\\ b_{N} \end{matrix} \right) \]其中 \(b_i\) 滿足
\[b_1 = f^{\prime\prime}(a),\quad b_N = f^{\prime\prime}(b),\\ b_i = 6f[x_{i-1},x_i,x_{i+1}],\quad i=2,3,\cdots,N-1 \]最終解出對應的二階導數條件,然後在區間 \([x_i,x_{i+1}]\) 上代入 Taylor 展開式解出對應的 \(f^{\prime}(x_i),\ f^{\prime\prime\prime}(x_i)\) .
The minimum properties
Theorem 3.9 (Minimum bending energy). 對任意 \(g\in\mathcal{C}^2[a,b]\) 滿足 \(g^{\prime}(a) = f^{\prime}(a),\ g^{\prime}(b) = f^{\prime}(b)\) ,且 \(g(x_i) = f(x_i),\ i=1,2,\cdots, N\) ,則完全三次樣條 \(s=s(f;x)\) 滿足
\[\int_a^b[s^{\prime\prime}(x)]^2dx\le \int_a^b[g^{\prime\prime}(x)]^2dx \tag{3.7} \]其中等式成立當且僅當 \(g(x)=s(f;x)\) .
\(Proof.\) 定義 \(\eta(x) = g(x)-s(x)\) ,則對給定的條件有 \(\eta\in\mathcal{C}^2[a,b],\ \eta^{\prime}(a)=\eta^{\prime}(b)=0\) ,且 \(\eta(x_i)=0,\ \forall i=1,2,\cdots,N\) ,則
\[\begin{aligned} \int_a^b[g^{\prime\prime}(x)]^2dx &= \int_a^b[s^{\prime\prime}(x) + \eta^{\prime\prime}(x)]^2dx\\ &= \int_a^b[s^{\prime\prime}(x)]^2dx + \int_a^b[\eta^{\prime\prime}(x)]^2dx + 2\int_a^bs^{\prime\prime}(x)\eta^{\prime\prime}(x)dx \end{aligned} \]觀察最後一項,運用分部積分和分段求和
\[\begin{aligned} \int_a^bs^{\prime\prime}(x)\eta^{\prime\prime}(x)dx &= \sum_{i=1}^{N-1}s^{\prime\prime}(x)\eta^{\prime}(x)|_{x_i}^{x_{i+1}} - \sum_{i=1}^{N-1}\int_{x_i}^{x_{i+1}}s^{\prime\prime\prime}(x)\eta^{\prime}(x)dx\\ &= -\sum_{i=1}^{N-1}s^{\prime\prime\prime}(x)\eta(x)|_{x_i}^{x_{i+1}} + \sum_{i=1}^{N-1}\int_{x_i}^{x_{i+1}}s^{(4)}(x)\eta(x)dx\\ &= 0 \end{aligned} \]其中分段求和時利用 \(\eta(x_i)=0\) 以及 \(s^{(4)}(x) = 0\) ,從而有
\[\int_a^b[g^{\prime\prime}(x)]^2dx = \int_a^b[s^{\prime\prime}(x)]^2dx + \int_a^b[\eta^{\prime\prime}(x)]^2dx \]即證.
Theorem 3.10 (Minimum bending energy). 對任意 \(g\in\mathcal{C}^2[a,b]\) 滿足 \(g(x_i) = f(x_i),\ i=1,2,\cdots, N\) ,則自然三次樣條 \(s=s(f;x)\) 滿足
\[\int_a^b[s^{\prime\prime}(x)]^2dx\le \int_a^b[g^{\prime\prime}(x)]^2dx \tag{3.8} \]其中等式成立當且僅當 \(g(x)=s(f;x)\) .
\(Proof.\) 類似的,雖然沒有 \(\eta^{\prime}(a)=\eta^{\prime}(b)=0\) ,但是有 \(s^{\prime\prime}(a)=s^{\prime\prime}(b)=0\) .
Lemma 3.11. 設 \(\mathcal{C}^2\) 函式 \(f:[a,b]\to\mathbb{R}\) 通過完全/特定二階導數的三次樣條插值,則
\[\forall x\in[a,b],\quad \left|s^{\prime\prime}(x)\right|\le 3\max_{x\in[a,b]}\left|f^{\prime\prime}(x)\right| \tag{3.9} \]\(Proof.\) 證明比較繁瑣,省略.
Error analysis
Theorem 3.12. 設 \(\mathcal{C}^4\) 函式 \(f:[a,b]\to\mathbb{R}\) 通過完全/特定二階導數的三次樣條插值,則
\[\forall j=0,1,2,\quad \left|f^{(j)}(x)-s^{(j)}(x)\right| \le c_jh^{4-j}\max_{x\in[a,b]}\left|f^{(4)}(x)\right| \tag{3.10} \]其中 \(c_0=\frac{1}{4},\ c_1=c_2=\frac{1}{2},\ h = \max_{i=1}^{N-1}|x_{i+1}-x_i|\) .
B-Splines
Notation 2. 記號 \(\mathbb{S}_n^{n-1}(t_1,t_2,\cdots,t_N)\) 中, \(t_i\) 表示樣條的結點,有時簡寫為 \(\mathbb{S}_{n,N}^{n-1}\) 或 \(\mathbb{S}_{n}^{n-1}\) .
Theorem 3.14. 樣條集合 \(\mathbb{S}_n^{n-1}(t_1,t_2,\cdots,t_N)\) 是 \(n+N-1\) 維線性空間.
\(Proof.\) 容易證明它是線性空間,注意其中的零元是零函式;由於 \(n\) 次多項式有 \(n+1\) 個係數,分 \(N-1\) 段,因此有 \((N-1)(n+1)\) 種系數,而在中間 \(N-2\) 個結點要滿足 \(0,1,\cdots,n-1\) 次導數條件,因此維數為 $(N-1)(n+1)-n(N-2)= n+N-1 $ .
Truncated power functions
Definition 3.16. 定義 \(n\) 次截斷冪函式 truncated power function 為
\[x_+^n = \left\{ \begin{aligned} &x^n\quad &x\ge 0\\ &0\quad &x<0 \end{aligned} \right. \tag{3.11} \]Lemma 3.18. 如下函式構成 \(\mathbb{S}_n^{n-1}(t_1,t_2,\cdots,t_N)\) 的一組基
\[1,x,x^2,\cdots,x^n,(x-t_2)^n_+,(x-t_3)_+^n,\cdots,(x-t_{N-1})_+^n \tag{3.12} \]\(Proof.\) 上述函式顯然在 \(\mathbb{S}_n^{n-1}(t_1,t_2,\cdots,t_N)\) 中,只需證明這 \(n+N-1\) 個函式線性無關,即設
\[\sum_{i=0}^na_ix^i + \sum_{j=2}^{N-1}a_{n+j}(x-t_j)_+^n = \mathbf{0}(x) \]當 \(x<t_2\) 時,第二項為零,因此 \(a_i = 0,\ \forall i=0,1,\cdots,n\) ;再分別取 \(x\in[t_i,t_{i+1})\) 可證 \(a_{n+j} = 0,\ \forall j=2,3,\cdots,N-1\) ,即證.
Corollary 3.19. 任意 \(s\in\mathbb{S}_{n,N}^{n-1}\) 可表示為
\[s(x) = \sum_{i=0}^na_ix^i + \sum_{j=2}^{N-1}a_{n+j}(x-t_j)_+^n \tag{3.13} \]\(Proof.\) 這是上述引理的直接推論.
The local support of B-splines
Definition 3.21. 定義 \(t_i\) 處的帽子函式 hat function 為
\[\tilde{B_i}(x) = \left\{ \begin{aligned} &\dfrac{x-t_{i-1}}{t_i-t_{i-1}}\quad &x\in(t_{i-1},t_i]\\ &\dfrac{t_{i+1}-x}{t_{i+1}-t_{i}}\quad &x\in(t_i,t_{i+1}]\\ &0\quad &\mathrm{otherwise} \end{aligned} \right. \tag{3.14} \]Theorem 3.22. 帽子函式構成 \(\mathbb{S}_1^0\) 的一組基.
\(Proof.\) 注意到 \(\mathbb{S}_1^0\) 是 \(N\) 維線性空間,假設有
\[\sum_{i=1}^{N}c_i\tilde{B_i}(x) = \mathbf{0}(x) \]分別代入結點 \(x = t_i,\ \forall i=1,2,\cdots,N\) ,則有 \(c_i = 0,\ \forall i=1,2,\cdots,N\) ,即證.
Definition 3.23. 定義 B 樣條 B-splines 遞推式為
\[B_i^{n+1}(x) = \dfrac{x-t_{i-1}}{t_{i+n}-t_{i-1}}B_i^n(x) + \dfrac{t_{i+n+1}-x}{t_{i+n+1}-t_{i}}B_{i+1}^n(x) \tag{3.15} \]定義遞推基為
\[B_i^0(x) = \left\{ \begin{aligned} &1\quad &x\in(t_{i-1},t_i]\\ &0\quad &\mathrm{otherwise} \end{aligned} \right. \tag{3.16} \]遞推式本質上是分別對兩個 B 樣條乘各自支集區間長度的兩段帽子函式.
Definition 3.26. 函式 \(f:X\to\mathbb{R}\) 的支集 support 定義為
\[\mathrm{supp}(f) = \mathrm{closure}\{x\in X\ |\ f(x)\neq 0\} \tag{3.17} \]Lemma 3.27 (Support of B-splines). 對 \(n\in\mathbb{N}^+\) ,\(B_i^n\) 的支集區間為 \([t_{i-1},t_{i+n}]\) ,並且
\[\forall x\in(t_{i-1},t_{i+1}),\quad B_i^n(x) > 0 \tag{3.18} \]Definition 3.28. 令 \(X\) 為向量空間,對 \(x\in X\) ,分配唯一的實數或複數 \(L(x)\) ,若 \(\forall x,y\in X\) 以及 \(\forall \alpha,\beta\in\mathbb{R}\ (\mathrm{or}\ \mathbb{C})\) ,有
\[L(\alpha x+\beta y) = \alpha L(x) + \beta L(y) \tag{3.19} \]則 \(L\) 稱為 \(X\) 上的線性泛函 linear functional .
Notation 3. 我們之前用 \(f[x_0,\cdots,x_k]\) 表示 \(f\) 的第 \(k\) 個差分,它用於生成 Taylor 展開式;之後,我們使用 \([x_0,\cdots,x_k]f\) 表示在 \(\mathcal{C}[x_0,x_k]\) 上的線性泛函的差分.
Theorem 3.30 (Leibniz formula). 對 \(k\in\mathbb{N}\) ,兩個函式乘積的第 \(k\) 個差分滿足
\[[x_0,\cdots,x_k]fg = \sum_{i=0}^k[x_0,\cdots,x_i]f\cdot [x_i,\cdots,x_k]g \tag{3.20} \]\(Proof.\) 線性泛函的差分定義和之前相同,利用歸納法即證.
Theorem 3.32 (B-splines as divided difference of truncated power function). 對任意 \(n\in\mathbb{N}\) ,我們有
\[B_i^n(x) = (t_{i+n}-t_{i-1})\cdot [t_{i-1},\cdots,t_{i+n}](t-x)_+^n \tag{3.21} \]\(Proof.\) 證明過於繁瑣,利用歸納法可證;此定理說明 \(B_i^n\) 是 \(n\) 次截斷冪函式 \((t-x)_+^n\) 在支集區間端點的差分乘支集區間的長度.
Integrals and derivatives
Corollary 3.33 (Integrals of B-splines). B 樣條在支集上的平均值只依賴它的次數
\[\dfrac{1}{t_{i+n}-t_{i-1}}\int_{t_{i-1}}^{t_{i+n}}B_i^n(x)dx = \dfrac{1}{n+1} \tag{3.22} \]\(Proof.\) 代入 Theorem 3.32 中的公式有
\[\begin{aligned} \mathrm{LHS} &= \int_{t_{i-1}}^{t_{i+n}}[t_{i-1},\cdots,t_{i+n}](t-x)_+^ndx\\ &= [t_{i-1},\cdots,t_{i+n}]\int_{t_{i-1}}^{t_{i+n}}(t-x)_+^ndx\\ &= [t_{i-1},\cdots,t_{i+n}]\left[-\dfrac{(t-x)^{n-1}}{n+1}\Bigg|_{t_{i-1}}^{t}\right]\\\ &= [t_{i-1},\cdots,t_{i+n}]\dfrac{(t-t_{i-1})^{n-1}}{n+1}\\ &= \dfrac{1}{n+1} \end{aligned} \]其中最後一步由 Corollary 2.22 得到,即證.
Theorem 3.34 (Derivatives of B-splines). 對 \(n\ge 2\) ,有 \(\forall x\in\mathbb{R}\) ,
\[\dfrac{d}{dx}B_i^n(x) = \dfrac{nB_i^{n-1}(x)}{t_{i+n-1}-t_{i-1}} - \dfrac{nB_{i+1}^{n-1}(x)}{t_{i+n}-t_{i}} \tag{3.23} \]對 \(n=1\) ,上式對除 \(t_{i-1},\ t_i,\ t_{i+1}\) 以外的點(這些點處 \(B_i^1\) 沒有一階導)都成立.
\(Proof.\) 運用歸納法,對遞推公式求導即證;利用 Theorem 3.32 可以得到更簡單的證明:
\[\begin{aligned} \dfrac{d}{dx}B_i^n(x) &= \dfrac{d}{dx}(t_{i+n}-t_{i-1})\cdot [t_{i-1},\cdots,t_{i+n}](t-x)_+^n\\ &= (t_{i+n}-t_{i-1})\dfrac{d}{dx}[t_{i-1},\cdots,t_{i+n}](t-x)_+^n\\ &= (t_{i+n}-t_{i-1})\dfrac{[t_{i},\cdots,t_{i+n}]-[t_{i-1},\cdots,t_{i+n-1}]}{t_{i+n}-t_{i-1}}\dfrac{d}{dx}(t-x)_+^n\\ &= -n[t_{i},\cdots,t_{i+n}](t-x)_+^{n-1}+n[t_{i-1},\cdots,t_{i+n-1}](t-x)_+^{n-1}\\ &= \dfrac{nB_i^{n-1}(x)}{t_{i+n-1}-t_{i-1}} - \dfrac{nB_{i+1}^{n-1}(x)}{t_{i+n}-t_{i}} \end{aligned} \]巧妙地利用了差分的線性性質.
Corollary 3.35 (Smoothness of B-splines). \(B_i^n\in\mathbb{S}_n^{n-1}\) .
Marsden's identity
Theorem 3.36 (Marsden's identity). 對任意 \(n\in\mathbb{N}\) ,有
\[(t-x)^n = \sum_{i=-\infty}^{+\infty}(t-t_i)\cdots(t-t_{i+n-1})B_i^n(x) \tag{3.43} \]其中乘積 \((t-t_i)\cdots(t-t_{i+n-1})\) 在 \(n=0\) 時定義為 \(1\) .
\(Proof.\) 注意乘積項是從支集區間第二個端點到倒數第二個端點;對於 \(n=0\) ,顯然;注意到 \(f(t) = t-x\) 的多項式插值是其自身,我們在 \(t_{i-1}\) 和 \(t_{i+n}\) 兩點運用拉格朗日插值得到
\[t-x = \dfrac{t-t_{i+n}}{t_{i-1}-t_{i+n}}(t_{i-1}-x) + \dfrac{t-t_{i-1}}{t_{i+n}-t_{i-1}}(t_{i+n}-x) \]從而由歸納法有
\[\begin{aligned} (t-x)^{n+1} &= (t-x)\sum_{i=-\infty}^{+\infty}(t-t_i)\cdots(t-t_{i+n-1})B_i^n(x)\\ &= \sum_{i=-\infty}^{+\infty}(t-t_i)\cdots(t-t_{i+n-1})(t-t_{i+n})\dfrac{t_{i-1}-x}{t_{i-1}-t_{i+n}}B_i^n(x)\\ &+ \sum_{i=-\infty}^{+\infty}(t-t_{i-1})(t-t_i)\cdots(t-t_{i+n-1})\dfrac{t_{i+n}-x}{t_{i+n}-t_{i-1}}B_i^n(x)\\ &= \sum_{i=-\infty}^{+\infty}(t-t_i)\cdots(t-t_{i+n})\dfrac{x-t_{i-1}}{t_{i+n}-t_{i-1}}B_i^n(x)\\ &+ \sum_{i=-\infty}^{+\infty}(t-t_i)\cdots(t-t_{i+n})\dfrac{t_{i+n+1}-x}{t_{i+n+1}-t_{i}}B_{i+1}^n(x)\\ &= \sum_{i=-\infty}^{+\infty}(t-t_i)\cdots(t-t_{i+n})B_i^{n+1}(x) \end{aligned} \]在第一步中插值的係數恰好補充了乘積的項,然後利用無窮項的特性進行平移,最後由定義即證.
Corollary 3.37 (Truncated power functions as linear combinations of B-splines). 對任意 \(j\in\mathbb{Z},\ n\in\mathbb{N}\) 有
\[(t_j-x)_+^n = \sum_{i=-\infty}^{j-n}(t_j-t_i)\cdots(t_j-t_{i+n-1})B_i^n(x) \tag{3.44} \]\(Proof.\) 代入 \(t=t_j\) ,容易發現在 \(i=j-n+1,\cdots,j\) 時,乘積 \((t_j-t_i)\cdots(t_j-t_{i+n-1})\) 為 \(0\) ;當 \(x\le t_j\) 時,右式中 \(B_i^n(x)\) 在 \(i>j\) 的部分為 \(0\) ;當 \(x>t_j\) 時,右式中 \(B_i^n(x)\) 始終在支集區間以外,因此為 \(0\) ,即證.
Symmetric polynomials
Definition 3.38. 定義 \(k\) 次初等對稱多項式 elementary symmetric polynomial 為
\[\sigma_k(x_1,\cdots,x_n) = \sum_{1\le i_1<\cdots< i_k\le n}x_{i_1}x_{i_2}\cdots x_{i_k} \tag{3.45} \]特別的, \(\sigma_0(x_1,\cdots,x_n) = 1\) 並且
\[\forall k> n,\quad \sigma_k(x_1,\cdots,x_n) = 0 \tag{3.46} \]若不要求乘積項互異,我們有 \(k\) 次完全對稱多項式 complete symmetric polynomial 為
\[\tau_k(x_1,\cdots,x_n) = \sum_{1\le i_1\le\cdots\le i_k\le n}x_{i_1}x_{i_2}\cdots x_{i_k} \tag{3.47} \]注意這裡下標可以相等.
Lemma 3.40. 對 \(k\le n\) ,初等對稱多項式滿足遞推式
\[\sigma_{k+1}(x_1,\cdots,x_n,x_{n+1}) = \sigma_{k+1}(x_1,\cdots,x_n) + x_{n+1}\sigma_k(x_1,\cdots,x_n) \tag{3.48} \]\(Proof.\) 在 \(x_1,\cdots,x_n,x_{n+1}\) 中選 \(k+1\) 個,結果等於在 \(x_1,\cdots,x_n\) 中選 \(k+1\) 個,再選定 \(x_{n+1}\) 後在 \(x_1,\cdots,x_n\) 中選 \(k\) 個;實際上,
\[\left( \begin{matrix} n+1\\ k+1 \end{matrix} \right) = \left( \begin{matrix} n\\ k+1 \end{matrix} \right) + \left( \begin{matrix} n\\ k \end{matrix} \right) \]此引理是組合數的簡單應用.
Definition 3.42. 初等對稱多項式的生成函式 generating function for the elementary symmetric polynomial 為
\[g_{\sigma,n}(z) = \prod_{i=1}^n(1+x_iz) \tag{3.49} \]完全對稱多項式的生成函式為
\[g_{\tau,n}(z) = \prod_{i=1}^n\dfrac{1}{1-x_iz} \tag{3.50} \]Lemma 3.43 (Generating elementary and complete symmetric polynomials). 初等和完全對稱多項式與生成函式有關係
\[g_{\sigma,n}(z) = \sum_{k=0}^n\sigma_k(x_1,\cdots,x_n)z^k \tag{3.51}\\ g_{\tau,n}(z) = \sum_{k=0}^{+\infty}\tau_k(x_1,\cdots,x_n)z^k \]\(Proof.\) 第一個式子容易驗證;對於完全對稱多項式的生成函式,我們應用展開式
\[\dfrac{1}{1-x} = \sum_{k=0}^{+\infty}x^k \]代入後根據 \(z^k\) 對應的係數即證.
Lemma 3.45 (Recursive relations of complete symmetric polynomials). 完全對稱多項式滿足遞推式
\[\tau_{k+1}(x_1,\cdots,x_n,x_{n+1}) = \tau_{k+1}(x_1,\cdots,x_n) + x_{n+1}\tau_k(x_1,\cdots,x_n,x_{n+1}) \tag{3.52} \]\(Proof.\) 與之前的證明類似,需要注意這裡不能用組合數公式,因為允許重複選取相同的 \(x_i\) ,因此右邊第二項在確定了 \(x_{n+1}\) 後選取的多項式 \(\tau_k\) 依然包含了 \(x_{n+1}\) ;也可以通過生成函式的關係
\[g_{\tau,n+1} = g_{\tau,n} + x_{n+1}zg_{\tau,n+1} \]通過分析 \(z^{k+1}\) 的係數證明.
Theorem 3.46 (Complete symmetric polynomials as divided difference of monomials). \(m-n\) 次 \(n+1\) 元完全對稱多項式是單項式 \(x^m\) 的第 \(n\) 個差分,即
\[\forall m\in\mathbb{N}^+,\ \forall i\in\mathbb{N},\ \forall n=0,1,\cdots,m,\quad \tau_{m-n}(x_i,\cdots,x_{i+n}) = [x_i,\cdots,x_{i+n}]x^m \tag{3.53} \]\(Proof.\) 關於 \(n\) 歸納,當 \(n=0\) 時,顯然有 \(\tau_m(x_i) = [x_i]x^m\) ;設對 \(n<m\) 成立,考慮 \(\tau_{m-n-1}(x_i,\cdots,x_{i+n+1})\) ,由假設有
\[\tau_{m-n}(x_i,\cdots,x_{i+n}) = [x_i,\cdots,x_{i+n}]x^m\\ \tau_{m-n}(x_{i+1},\cdots,x_{i+n+1}) = [x_{i+1},\cdots,x_{i+n+1}]x^m \]我們希望有
\[\begin{aligned} \tau_{m-n-1}(x_i,\cdots,x_{i+n+1}) &= \dfrac{\tau_{m-n}(x_{i+1},\cdots,x_{i+n+1}) - \tau_{m-n}(x_i,\cdots,x_{i+n})}{x_{i+n+1}-x_{i}}\\ &= \dfrac{[x_{i+1},\cdots,x_{i+n+1}]x^m-[x_{i},\cdots,x_{i+n}]x^m}{x_{i+n+1}-x_{i}}\\ &= [x_{i},\cdots,x_{i+n+1}]x^m \end{aligned} \]也就是說,要有
\[(x_{i+n+1}-x_{i})\tau_{m-n-1}(x_i,\cdots,x_{i+n+1}) = \tau_{m-n}(x_{i+1},\cdots,x_{i+n+1}) - \tau_{m-n}(x_i,\cdots,x_{i+n}) \]整理得到
\[\tau_{m-n}(x_i,\cdots,x_{i+n}) + x_{i+n+1}\tau_{m-n-1}(x_i,\cdots,x_{i+n+1}) = \tau_{m-n}(x_{i+1},\cdots,x_{i+n+1}) + x_{i}\tau_{m-n-1}(x_i,\cdots,x_{i+n+1}) \]發現左右兩邊都可以利用完全對稱多項式的遞推式,得到 \(\tau_{m-n}(x_i,\cdots,x_{i+n},x_{i+n+1})\) ,等式成立,代回即證.
B-splines indeed form a basis
Theorem 3.47. 給定 \(k\in\mathbb{N}\) ,對任意固定的 \(n\ge k\) ,單項式 \(x^k\) 可以表示為 B 樣條的線性組合,具有形式
\[\left( \begin{matrix} n\\ k \end{matrix} \right)x^k = \sum_{i=-\infty}^{+\infty}\sigma_k(t_i,\cdots,t_{i+n-1})B_i^n(x) \tag{3.54} \]\(Proof.\) 注意右邊是從支集區間第二個端點到倒數第二個端點的 \(k\) 次對稱多項式;據生成函式和初等對稱多項式的關係 Lemma 3.43 ,有
\[(1+t_ix)\cdots(1+t_{i+n-1}x) = \sum_{k=0}^{n}\sigma_k(t_i,\cdots,t_{i+n-1})x^k \]令 \(x = -\frac{1}{t}\) ,然後同乘 \(t^n\) 得到
\[(t-t_i)\cdots(t-t_{i+n-1}) = \sum_{k=0}^{n}\sigma_k(t_i,\cdots,t_{i+n-1})(-1)^kt^{n-k} \]由 Theorem 3.36 我們有
\[\begin{aligned} (t-x)^n &= \sum_{i=-\infty}^{+\infty}(t-t_i)\cdots(t-t_{i+n-1})B_i^n(x)\\ &= \sum_{i=-\infty}^{+\infty}\sum_{k=0}^{n}\sigma_k(t_i,\cdots,t_{i+n-1})(-1)^kt^{n-k}B_i^n(x)\\ &= \sum_{k=0}^{n}(-1)^kt^{n-k}\sum_{i=-\infty}^{+\infty}\sigma_k(t_i,\cdots,t_{i+n-1})B_i^n(x) \end{aligned} \]另一方面,我們將 \((t-x)^n\) 二項式展開
\[(t-x)^n = \sum_{k=0}^{n}(-1)^kt^{n-k}\left( \begin{matrix} n\\ k \end{matrix} \right)x^k \]對比上下兩式的係數即證.
Corollary 3.48 (Partition of Unity).
\[\forall n\in\mathbb{N},\quad \sum_{i=-\infty}^{+\infty}B_i^n = 1 \tag{3.55} \]\(Proof.\) 代入 \(k=0\) 即證.
Theorem 3.49. 如下 B 樣條構成 \(\mathbb{S}_n^{n-1}(t_1,t_2,\cdots,t_N)\) 的一組基
\[B_{2-n}^n(x),B_{3-n}^n(x),\cdots,B_N^n(x) \tag{3.56} \]\(Proof.\) 由於在 Lemma 3.18 中有
\[1,x,x^2,\cdots,x^n,(x-t_2)^n_+,(x-t_3)_+^n,\cdots,(x-t_{N-1})_+^n \]構成 \(\mathbb{S}_n^{n-1}(t_1,t_2,\cdots,t_N)\) 的一組基,並且恰有 \(n+N-1\) 個 B 樣條,只需證明這一組基可以被它們線性表示。注意到
\[\forall t_i\in\mathbb{R},\quad (x-t_i)^n_+ = (x-t_i)^n - (-1)^n(t_i-x)_+^n \]而由 Theorem 3.36 和 Corollary 3.37 ,\((x-t_i)^n,\ (t_i-x)_+^n\) 均可由上面的 B 樣條線性表示。事實上,我們有
\[(t_j-x)^n = \sum_{i=-\infty}^{+\infty}(t_j-t_i)\cdots(t_j-t_{i+n-1})B_i^n(x)\\ (t_j-x)_+^n = \sum_{i=-\infty}^{j-n}(t_j-t_i)\cdots(t_j-t_{i+n-1})B_i^n(x) \]關鍵點在於 \(B_i^n(x)\) 不為零的區間段是有限的,並且乘積項 \((t_j-t_i)\cdots(t_j-t_{i+n-1})\) 在 \(i=j,\cdots,i+n-1\) 範圍內都為 \(0\) ,因此上面兩式最終只能剩下有限項,並且恰為上述 B 樣條.
Cardinal B-splines
Definition 3.50. 定義 \(n\) 次基數 B 樣條 cardinal B-spline ,記為 \(B_{i,\mathbb{Z}}^n\) ,它以整數集作為結點的 B 樣條.
Corollary 3.51. 基數 B 樣條關於平移不變,即
\[\forall x\in\mathbb{R},\quad B_{i,\mathbb{Z}}^n(x) = B_{i+1,\mathbb{Z}}^n(x) \tag{3.57} \]\(Proof.\) 根據定義和歸納法容易證明.
Corollary 3.52. 基數 B 樣條關於其支集區間的中點對稱,即
\[\forall n>0,\ \forall x\in\mathbb{R},\quad B_{i,\mathbb{Z}}^n(x) = B_{i,\mathbb{Z}}^n(2i+n-1-x) \tag{3.58} \]\(Proof.\) 根據定義和歸納法容易證明.
Theorem 3.55. \(n\) 次基數 B 樣條可表示為
\[B_{i,\mathbb{Z}}^n(x) = \dfrac{1}{n!}\sum_{k=-1}^{n}(-1)^{n-k} \left( \begin{matrix} n+1\\ k+1 \end{matrix} \right) (k+i-x)_+^n \tag{3.69} \]\(Proof.\) 由 Theorem 3.32 有
\[\begin{aligned} B_{i,\mathbb{Z}}^n(x) &= (n+1)[i-1,\cdots,i+n](t-x)_+^n\\ &= \dfrac{n+1}{(n+1)!}\Delta^{n+1}(i-1-x)_+^n\\ &= \dfrac{1}{n!}\sum_{k=0}^{n+1}(-1)^{n-k} \left( \begin{matrix} n+1\\ k \end{matrix} \right) (i-1+k-x)_+^n \end{aligned} \]中間兩步由 Theorem 2.29 和 Theorem 2.28 得到.
Corollary 3.56. 基數 B 樣條在整數 \(j\) 處的值為
\[B_{i,\mathbb{Z}}^n(j) = \dfrac{1}{n!}\sum_{k=j-i+1}^{n}(-1)^{n-k} \left( \begin{matrix} n+1\\ k+1 \end{matrix} \right) (k+i-j)_+^n \tag{3.70} \]\(Proof.\) 這是 Theorem 3.55 的直接推論,注意下標是從截斷冪函式不為 \(0\) 的位置開始的.
Theorem 3.57 (Unique interpolation by complete cubic cardinal B-splines). 存在唯一的 B 樣條 \(S(x)\in\mathbb{S}_3^2\) 在 \(1,2,\cdots,N\) 處對 \(f\) 插值,且有 \(S^{\prime}(1) = f^{\prime}(1),\ S^{\prime}(N) = f^{\prime}(N)\) ,進一步有
\[S(x) = \sum_{i=-1}^Na_iB_{i,\mathbb{Z}}^3(x) \tag{3.71} \]其中 \(a_{-1} = a_1-2^{\prime}(1),\ a_N = a_{N-2}+2f^{\prime}(N)\) ,並且 \(\mathbf{a}^T = [a_0,\cdots,a_{N-1}]\) 是線性方程組 \(M\mathbf{a} = \mathbf{b}\) 的解,有
\[\mathbf{b}^T = [3f(1)+f^{\prime}(1),6f(2),\cdots,6f(N-1),3f(N)-f^{\prime}(N)] \]\[M = \left( \begin{matrix} 2 & 1\\ 1 & 4 & 1\\ & \ddots & \ddots & \ddots\\ & & 1 & 4 & 1\\ & & & 1 & 2 \end{matrix} \right) \]Theorem 3.58. 存在唯一的 B 樣條 \(S(x)\in\mathbb{S}_2^1\) 在 \(t_i = i + \frac{1}{2},\ i=1,2,\cdots,N-1\) 處對 \(f\) 插值,且有 \(S(1) = f(1),\ S(N) = f(N)\) ,進一步有
\[S(x) = \sum_{i=0}^Na_iB_{i,\mathbb{Z}}^2(x) \tag{3.72} \]其中 \(a_{0} = 2f(1)-a_1,\ a_N = 2f(N)-a_{N-1}\) ,並且 \(\mathbf{a}^T = [a_1,\cdots,a_{N-1}]\) 是線性方程組 \(M\mathbf{a} = \mathbf{b}\) 的解,有
\[\mathbf{b}^T = \left[8f\left(\frac{3}{2}\right)-2f(1),8f\left(\frac{5}{2}\right),\cdots,8f\left(N-\frac{3}{2}\right),8f\left(N-\frac{1}{2}\right)-2f(N)\right] \]\[M = \left( \begin{matrix} 5 & 1\\ 1 & 6 & 1\\ & \ddots & \ddots & \ddots\\ & & 1 & 6 & 1\\ & & & 1 & 5 \end{matrix} \right) \]Curve fitting via splines
Definition 3.59. 開曲線 curve 是連續對映 \(\gamma :(\alpha,\beta)\to\mathbb{R}^n,\ -\infty\le\alpha<\beta\le+\infty\) ,若 \(\gamma\) 是單射,則稱它是簡單的 simple .
Definition 3.60. 曲線 \(\gamma\) 的正切向量 tangent vector 是它的一階導數
\[\gamma^{\prime} = \dfrac{d\gamma}{d s} \tag{3.73} \]正切向量標準化得到的單位正切向量 unit tangent vector 記為 \(\mathbf{t}\) .
Definition 3.61. 單位速度曲線 unit-speed curve 是在每一點的正切向量為單位長度的曲線.
Definition 3.62. 點 \(\gamma(t_0)\) 稱為是 \(\gamma\) 的正規點 regular point 如果 \(\mathbf{t}(t_0)\) 存在且不為 \(0\) ;如果曲線的所有點都是正規點,則稱曲線是正規的.
Definition 3.63. 從點 \(\gamma(t_0)\) 開始的曲線引數長度 arc-length 定義為
\[s_{\gamma}(t) = \int_{t_0}^t\left\Vert\gamma^{\prime}(u)\right\Vert_2du \tag{3.74} \]Definition 3.64. 若對映 \(X\mapsto Y\) 是連續雙射,且它的逆也是連續的,則稱為是同態 homomorphism ,兩個集 \(X,\ Y\) 稱為是同態的.
Definition 3.65. 曲線 \(\tilde{\gamma}(\tilde{\alpha},\tilde{\beta})\to\mathbb{R}^n\) 是另一條曲線 \(\gamma(\alpha,\beta)\to\mathbb{R}^n\) 的重參量化 reparameterization ,如果存在同態 \(\phi:(\tilde{\alpha},\tilde{\beta})\to(\alpha,\beta)\) 使得 \(\tilde{\gamma}(\tilde{t}) = \gamma(\phi(\tilde{t})),\ \tilde{t}\in(\tilde{\alpha},\tilde{\beta})\) .
Lemma 3.66. 正規曲線的重參量化是單位速度的當且僅當它是基於引數長度的.
Definition 3.68. 閉曲線 closed curve 是連續對映 \(\gamma:[0,1]\to\mathbb{R}^2\) 滿足 \(\gamma(0) = \gamma(1)\) 。若嚴格限制 \(\gamma\) 在 \([0,1)\) 上,它是單射,則閉曲線稱為是一個簡單閉曲線 simple closed curve 或若當曲線 Jordan curve .
Definition 3.69. 曲線的單位符號方向 signed unit normal 記為 \(\mathbf{n}_s\) ,是將單位正切向量逆時針旋轉 \(\frac{\pi}{2}\) 得到的單位向量.
Note. 這裡進行逆時針旋轉使得單位正規方向和單位正切向量恰好構成平面上的標準直角座標系.
Definition 3.70. 對單位速度曲線 \(\gamma\) ,它的曲線符號 signed curvature 定義為
\[\kappa_s = \gamma^{\prime\prime}\cdot \mathbf{n}_s \tag{3.75} \]Definition 3.71. 累積弦長 accumulative chordal lengths 由一列點得到
\[\{\mathbf{x}_i\in\mathbb{R}^D:i=1,2,\cdots,n\} \tag{3.76} \]它是 \(n\) 個實數
\[t_i = \left\{ \begin{aligned} &0,\ &i=1\\ &t_{i-1}+\Vert\mathbf{x}_i-\mathbf{x}_{i-1}\Vert_2,\ &i>1 \end{aligned} \right. \tag{3.77} \]其中 \(\Vert\cdot\Vert_2\) 表示歐幾里得 \(2\) 範數.
Algorithm 3.72. 曲線 \(\gamma:(0,1)\to\mathbb{R}^D\) 可以通過累積弦長被 D 樣條逼近.
Problem
\(\mathrm{VII}.\) 利用 B 樣條的導數公式證明 B 樣條 \(B_i^n(x)\) 在支集區間上的積分與 \(i\) 無關.
\(Proof.\) 由 Theorem 4.35 可得
\[\dfrac{d}{dx}B_i^{n+1}(x) = \dfrac{(n+1)B_i^{n}(x)}{t_{i+n}-t_{i-1}}-\dfrac{(n+1)B_{i+1}^{n}(x)}{t_{i+n+1}-t_i} \]兩邊同時在 $ [t_{i-1},t_{i+n+1}] $ 上積分可得
\[\begin{aligned} \int_{t_{i-1}}^{t_{i+n+1}}\dfrac{d}{dx}B_i^{n+1}(x)dx &= \int_{t_{i-1}}^{t_{i+n+1}}\left[\dfrac{(n+1)B_i^{n}(x)}{t_{i+n}-t_{i-1}}-\dfrac{(n+1)B_{i+1}^{n}(x)}{t_{i+n+1}-t_i}\right]dx\\ &= (n+1)\left[\dfrac{1}{{t_{i+n}-t_{i-1}}}\int_{t_{i-1}}^{t_{i+n}}B_i^{n}(x)dx-\dfrac{1}{t_{i+n+1}-t_i}\int_{t_{i}}^{t_{i+n+1}}B_{i+1}^{n}(x)dx\right] \end{aligned} \]由於積分性質
\[\int_{t_{i-1}}^{t_{i+n+1}}\frac{d}{dx}B_i^{n+1}(x)dx = B_i^{n+1}(t_{i+n+1})-B_i^{n+1}(t_{i-1}) = 0 \]代入有
\[\dfrac{1}{{t_{i+n}-t_{i-1}}}\int_{t_{i-1}}^{t_{i+n}}B_i^{n}(x)dx = \dfrac{1}{t_{i+n+1}-t_i}\int_{t_{i}}^{t_{i+n+1}}B_{i+1}^{n}(x)dx \]從而在支集區間上的積分與 $ i $ 無關.