1 矩阵表达
对于均匀B样条曲线,其曲线方程的矩阵表达为:
c ( t ) = [ 1 t ⋯ t k ] M k [ P i − k P i − k + 1 ⋮ P i ] t ∈ [ 0 , 1 ] (1) c(t) = [1\ t\ \cdots\ t^k] M_k \begin{bmatrix} P_{i-k}\\ P_{i-k+1}\\ \vdots\\ P_i \end{bmatrix} \ t\in[0,1] \tag{1} c(t)=[1 t ⋯ tk]Mk⎣
⎡Pi−kPi−k+1⋮Pi⎦
⎤ t∈[0,1](1)
其中 t t t为参数, P i − k , P i − k + 1 , ⋯ , P i P_{i-k},P_{i-k+1},\cdots,P_i Pi−k,Pi−k+1,⋯,Pi为 k + 1 k+1 k+1个控制点,而 M k M_k Mk由下式给出:
M k = [ m 0 , 0 m 0 , 1 ⋯ m 0 , k ⋮ ⋮ ⋯ ⋮ m k , 0 m k , 1 ⋯ m k , k ] (2) M_k = \begin{bmatrix} m_{0,0} & m_{0,1} & \cdots & m_{0,k} \\ \vdots & \vdots & \cdots & \vdots\\ m_{k,0} & m_{k,1} & \cdots & m_{k,k} \end{bmatrix} \tag{2} Mk=⎣
⎡m0,0⋮mk,0m0,1⋮mk,1⋯⋯⋯m0,k⋮mk,k⎦
⎤(2)
而矩阵 M k M_k Mk中的每个元素 m i , j m_{i,j} mi,j可以由下式直接给出,
m i , j = 1 ( k − 1 ) ! C k k − i ∑ s = j k ( − 1 ) s − j C k + 1 s − j ( k − s ) k − i (3) m_{i,j} = \frac{1}{(k-1)!} C_{k}^{k-i} \sum_{s=j}^{k}(-1)^{s-j}C_{k+1}^{s-j}(k-s)^{k-i} \tag{3} mi,j=(k−1)!1Ckk−is=j∑k(−1)s−jCk+1s−j(k−s)k−i(3)
由上式,很容易得出,
M 1 = [ 1 0 − 1 1 ] M_1 = \begin{bmatrix} 1 & 0 \\ -1 & 1 \end{bmatrix} M1=[1−101]
M 2 = [ 1 1 0 − 2 2 0 1 − 2 1 ] M_2=\begin{bmatrix} 1 & 1 & 0\\ -2 & 2 & 0\\ 1 & -2 & 1 \end{bmatrix} M2=⎣
⎡

最低0.47元/天 解锁文章
1371

被折叠的 条评论
为什么被折叠?



