b样条曲线生成程序.m

来自「B样条曲线生成程序,HHT插件等。rilling版本」· M 代码 · 共 20 行

M
20
字号
%B样条曲线生成程序
a=[10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90;20 16 26 26 26 26 24 24 24 22 22 16 28 26 26 26 24];    % 控制顶点数组;
plot(a(1,:),a(2,:),':');                 % 绘制控制多边形;
hold on;                   % 默认为hold off,此命令用来保留控制多边形的图形;                               
for i=1:38;          % 由于4个顶点可以确定一条B样条,共有8个控制顶点,可确定5条B样条曲线;
%for i=1:7;
for u=0:0.001:1;    % 参数u;   
    
    b0=1.0./6.*(1-u).^3;                     % 基函数b0;
    b1=1.0./6.*(3.*u.^3-6.*u.^2+4);          % 基函数b1;
    b2=1.0./6.*(-3.*u.^3+3.*u.^2+3.*u+1);    % 基函数b2;
    b3=1.0./6.*u.^3;                         % 基函数b3;
    
    x=b0.*a(1,i)+b1.*a(1,i+1)+b2.*a(1,i+2)+b3.*a(1,i+3);   % 确定曲线的横坐标x;
    y=b0.*a(2,i)+b1.*a(2,i+1)+b2.*a(2,i+2)+b3.*a(2,i+3);   % 确定曲线的纵坐标y;
    
    line(x,y);       % 绘制曲线坐标点;
end
end
hold off;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?