算法6.3
for ( i=k; i<n; i++ )
在t(i)后插入重节点;
for ( j=0; i<s; j++ )
{
for ( i=k-1; i<n; i++ )
计算矩阵Mk(i);
按照(6-4-25)式计算系数矩阵P;
按照(6-4-25)式计算向量Q;
解方程PX=Q;
for ( i=0; i<n; i++ )
退化后的控制点V'(i)=V(i)+X(i);
按照(6-4-26)式计算曲线段c(0)的降阶转换矩阵A(0); //A(0)为类三角阵
按照(6-4-27)式计算前k-1个降阶后的控制点newV(0)~newV(k-2);
//只解前k-1个方程
for ( i=2; i<=n-k; i+=2 )
{
按照(6-4-26)式计算曲线段c(i)的降阶转换矩阵A(i);
//只需要计算第k-3和第k-2列
按照(6-4-27)式,解第k-3和第k-2个方程,得降阶后的控制
点newV(k+i-3)和newV(k+i-2)
}
k--;
n--;
t++;
}
|