三次B样条曲率与导数算法Matlab代码
function result = BspCurv( C,U,t,k)%
%CURVATURE B样条曲线在t点曲率
%C控制点,U节点序列,U(k)<=t<U(k+1)
%
%see also
%
dev1=0;
dev2=0;
%%计算一阶导数
for i=k-2:k
dev1=dev1+DeBoorDv(C,U,t,i,1)*Bbase(i,2,U,t);
end
%计算二阶导数
for i=k-1:k
dev2=dev2+DeBoorDv(C,U,t,i,2)*Bbase(i,1,U,t);
end
%计算曲率
temp=norm(dev1)^3;
if temp==0
result=NaN;
else
result=det( cat(1,dev1,dev2))/temp;
end
复制代码
**** Hidden Message *****
这里面包含基函数构造的部分吗?
感谢楼主好好好
base函数求指教
感谢,感谢
页:
[1]