一个常见的请求是沿着空间中的某些曲线(二维或更多维)在固定距离处插入一组点。用户通常沿着曲线有一组点,其中一些间隔很近,另一些不太近,并且他们希望创建一个沿同一曲线均匀分布的新集合。
当假设插值是分段线性时,这很容易。 但是,如果曲线是样条曲线,也许作为点之间的弦弧长的函数进行插值,这会变得有点困难。 一个很好的技巧是根据描述沿曲线路径的微分方程来表述问题。 然后可以使用 ODE 求解器完成插值。
作为使用示例,我将在平面中的圆周围随机选取一组点,然后生成一组新的点,这些点沿曲线的弧长等距分布,因此围绕圆的周长。
theta = sort(rand(15,1))*2*pi; θ(结束+1)=θ(1); px = cos(theta); py = 罪(θ); 100 个等距点,使用样条插值。
pt = interparc(100,px,py,'spline');
% 绘制结果pl
2021-12-06 16:26:58
7KB
matlab
1