%四个控制点B样条曲线的生成
%四个控制点
c=[0 1 2 3;0 1 1 0];
s=0:0.01:1; %归一化路程0=<s<=1
%四个样条函数
f1s=(1-s).^3/6;
f2s=(3*s.^3-6*s.^2+4)/6;
f3s=(-3*s.^3+3*s.^2+3*s+1)/6;
f4s=s.^3/6;
ps=c(:,1)*f1s+c(:,2)*f2s+c(:,3)*f3s+c(:,4)*f4s;
figure(1)
plot(c(1,:),c(2,:),'r*',ps(1,:),ps(2,:),'b','LineWidth',2);
legend('控制点','B样条曲线')
title('四个控制点及其B样条曲线')
grid on
%五个控制点B样条曲线的生成
%五个控制点
c=[0 1 2 3 4;0 1 0 1 0];
s=0:0.01:1;
%四个样条函数
f1s=(1-s).^3/6;
f2s=(3*s.^3-6*s.^2