deboor.m
来自「de Boor 求值算法求作二次和三次B-样条曲线非插值」· M 代码 · 共 27 行
M
27 行
function x1=deBoor(n,k,x,u)
%deBoor算法
%n d0…dn个控制点
%k k次B样条曲线
%x 控制点各坐标轴的数值数组
%
DT=zeros(n,k+1);
syms t ALPHA DT;
for i=1:n
DT(i,1)=x(i);
end
for j=2:k+1
for i=j:n
ALPHA=(t-u(i))/(u(i+k+2-j)-u(i));
DT(i,j)=(1- ALPHA)*DT(i-1,j-1)+ ALPHA*DT(i,j-1);
end
end
%
j=1;
for i=k+1:n
x0=subs(DT(i,k+1),t,u(i):0.001:u(i+1));
len=length(x0);
for p=1:len
x1(j)=x0(p);
j=j+1;
end
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?