dbordv.m
来自「采用MATLAB编写B样条绘制程序」· M 代码 · 共 30 行
M
30 行
function linePoint=Dbordv(b,k,style)
nb=length(b);
[T,R]=Shiliang(b,k,style)
np=1;ni=1;
d=zeros(nb,2,k+1);
d(:,:,1)=b;
u=0.0;
denom=0.0;alpha=0.0;
linePoint=zeros(nb*np,2);
% for ui=0:(nb*np-1)
% u=(ui)/(nb*np-1);
u=0.5
i=Knot_i(u,k,T,R,style);
if(~(i>0))
else
for nl=2:k+1
for j=(i-k):(i-nl+1)
du=Knot_var(j+k+1,T,R)-Knot_var(j+nl-1,T,R);
if(abs(du)==0.0) alpha=0.0;
else
alpha=abs((u-Knot_var(j+nl-1,T,R))/du)
end %endif
d(j,:,nl)=(1.0-alpha)*d(j,:,nl-1)+alpha*d(j+1,:,nl-1)
end %endfor
end %endfor
% linePoint(ui+1,:)=d(i-k,:,k+1);
end %endif
% end %endfor
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?