shiliang.m

来自「采用MATLAB编写B样条绘制程序」· M 代码 · 共 31 行

M
31
字号
function [T,R]=Shiliang(b,k,style)
n=length(b);T=[];R=[];
if(n-k>0)
  switch style 
    case 0   %均匀B样条的节点矢量
        nr=n+k+1; u=1;
        for i=0:nr-1
            T(u)=(1.0/(nr-1))*(i);
            u=u+1;
        end
        R=ones(1,nr);
    case 1   %准均匀B样条的节点矢量
        T(1)=0;R(1)=k+1;
        for i=2:n-k
            T(i)=(i-1)*1.0/(n-k);
            R(i)=1;
        end
        T(n-k+1)=1;R(n-k+1)=k+1;
    case 2   %分段贝齐尔曲线的节点矢量
        nr=2+(n-k-1)/k;
        T(1)=0;R(1)=k+1;
        for i=2:nr-1
            T(i)=(i-1)*(1.0/(nr-1));
            R(i)=k;
        end
        T(nr)=1;R(nr)=k+1;
    case 3  %非均匀的情况  
    case 4
  end
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?