Matlab得到2次B样条曲线公式
Matlab得到3次B样条曲线公式
Matlab得到4次B样条曲线公式
Matlab得到5次B样条曲线公式
Matlab得到6次B样条曲线公式
Matlab得到。。。。曲线公式
Matlab得到n次B样条曲线公式
B样条曲线公式 |
%%
%%%%%%%%%%%%%%%%%%%%%%%B样条曲线测试%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%sf9090%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%2022/10/3%%%%%%%%%%%%%%%%
%%
clear all
clc;
k=2;
t = sym('t');
%%
for i = 0:k
for m=0:k-i
zhi(m+1) = (-1)^m*nchoosek(k+1,m)*(t+k-m-i)^k;
end
F(i+1)= simplify(1/factorial(k)*sum(zhi));
clear zhi;
end
i = 1;
fprintf('F:%s \n',F)
%%
输出结果:
2次
F:(t - 1)^2/2
F:t - t^2 + 1/2
F:t^2/2
3次
F:-(t - 1)^3/6
F:t^3/2 - t^2 + 2/3
F:(t + 1)^3/6 - (2*t^3)/3
F:t^3/6
4次
F:(t - 1)^4/24
F:t^3/2 - t^2/4 - t/2 - t^4/6 + 11/24
F:(t + 2)^4/24 - (5*(t + 1)^4)/24 + (5*t^4)/12
F:(t + 1)^4/24 - (5*t^4)/24
F:t^4/24
5次
F(0):-(t - 1)^5/120
F(1):t^2/6 - (5*t)/12 + t^3/6 - t^4/6 + t^5/24 + 13/60
F(2):t^4/4 - t^2/2 - t^5/12 + 11/20
F(3):(t + 2)^5/120 - (t + 1)^5/20 + t^5/8
F(4):(t + 1)^5/120 - t^5/20
F(5):t^5/120
使用得到的F(0)*P(0)+F(1)*P(1)+…F(N)*P(N).
其中P是点坐标,如P(0)-{32.3,34.1,23.2}
通过修改K值可以得到不同次的B样条 |
【关注微信公众号一起来交流】 |