算法得到3次(2次、3次、4次、5次、n次)B样条曲线公式( Matlab)

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次

F0:-(t - 1)^5/120 
F1:t^2/6 - (5*t)/12 + t^3/6 - t^4/6 + t^5/24 + 13/60 
F2:t^4/4 - t^2/2 - t^5/12 + 11/20 
F3:(t + 2)^5/120 - (t + 1)^5/20 + t^5/8 
F4:(t + 1)^5/120 - t^5/20 
F5:t^5/120 

使用得到的F(0)*P(0)+F(1)*P(1)+…F(N)*P(N).
其中P是点坐标,如P(0)-{32.3,34.1,23.2}

算法得到3次(2次、3次、4次、5次、n次)B样条曲线公式( Matlab)_第1张图片

通过修改K值可以得到不同次的B样条
【关注微信公众号一起来交流】

你可能感兴趣的:(matlab学习笔记,matlab,算法,开发语言)