我会使用interparc,这是我专门设计的工具。它可将样条曲线拟合为二维或更大尺寸的一般空间曲线,然后选择沿该曲线的距离相等的点。在三次样条曲线的情况下,该解决方案使用odesolver进行必须是数值积分的操作,因此速度稍慢一些,但仍然相当快。在许多情况下,一个简单的线性插值(如我在这里使用的)就足够了,而且速度非常快。
曲线可能会完全笼统,甚至跨越自身。我将给出一个3维空间曲线的简单示例:
t = linspace(0,1,500).^3;
x = sin(2*pi*t);
y = sin(pi*t);
z = cos(3*x + y);
plot3(x,y,z,'o')
grid on
@R_311_2419@ on
view(-9,12)
xyzi = interparc(100,x,y,z,'lin');
plot3(xyzi(:,1),xyzi(:,2),xyzi(:,3),'o')
@R_311_2419@ on
grid on
view(-9,12)