背景
给定一些列无序的2D轮廓数据点,我们想要用一条 3 3 3次B样条拟合它们。使用逼近技术而不是插值,因为数据点偏多。
开发
基于matlab平台,开发了基于无序杂乱数据点的闭合三次B样条曲线的逼近算法。
功能演示+样例代码
%% 发动机叶片
Q = load('./blade.dat');
% 参数设置
controlNum = 35;
eps = 0.001;
maxIter = 30;
% mex函数如何并存 --> mex二进制文件保存于private文件夹下
tic
[P, U] = scattered_points_approximate(Q, controlNum, eps, maxIter);
toc
%
figure(1)
plot_spline_curve(P, U, Q)
figure(2)
plot(Q(1, :), Q(2, :), '--', Q(1, :), Q(2, :), '.r')
axis equal
演示视频
基于matlab的二维散乱点3次闭合B样条拟合
关键词
B样条曲线、逼近、二维散乱点、容差、无序数据点