常见的请求是插入一组点固定距离沿着一些曲线在空间(2或更多维度。)用户通常有一组点沿着曲线,其中一些是密集,其他人不这么近,他们希望创建一组新的均匀间隔的沿着相同的曲线。
假定为分段线性插值时,这是很容易的。然而,如果曲线样条,也许插值函数之间的弦齿arclength点,这就更加困难。一个好的技巧是制定问题的微分方程,描述沿着曲线的路径。然后插值可以使用ODE求解器完成。
使用作为一个例子,我将选择一个随机的点集在一个圆平面,然后生成一个新的等距的点集,沿着曲线的弧长,所以圆的周长。
θ=排序(兰德(15日1))* 2 *π;
θ(终端+ 1)=θ(1);
px = cos(θ);
py =罪(θ);
100等距的点,使用样条interpolant。
pt = interparc (100 px, py,样条);
%绘制结果
情节(px, py, r *, pt (: 1), pt(:, 2),“这”)
轴([-1.1 - 1.1 -1.1 - 1.1])
轴平等
网格
包含X
ylabel Y
标题“点蓝制服arclength在圆的
你现在也可以返回一个函数处理评价曲线本身在任何时候。,CSAPE周期(关闭)曲线的选择,只要是在matlab安装中可用。
[~,~,foft] = interparc ([], px, py,样条);
foft (0:0.25:1)
ans =
0.98319 - 0.18257
-0.19064 - 0.98151
-0.98493 - -0.17486
0.18634 - -0.98406
0.98319 - 0.18257
引用作为
约翰D 'Errico (2023)。interparc(//www.tatmou.com/matlabcentral/fileexchange/34874-interparc), MATLAB中央文件交换。检索。