我有一个空间中至少有两个点的向量,例如:
A = np.array([-1452.18133319 3285.44737438 -7075.49516676])
B = np.array([-1452.20175668 3285.29632734 -7075.49110863])
我想在曲线的离散点处找到向量的切线,gg 曲线的起点和终点。我知道如何在 Matlab 中做到这一点,但我想在 Python 中做到这一点。这是 Matlab 中的代码:
A = [-1452.18133319 3285.44737438 -7075.49516676];
B = [-1452.20175668 3285.29632734 -7075.49110863];
points = [A; B];
distance = [0.; 0.1667];
pp = interp1(distance, points,'pchip','pp');
[breaks,coefs,l,k,d] = unmkpp(pp);
dpp = mkpp(breaks,repmat(k-1:-1:1,d*l,1).*coefs(:,1:k-1),d);
ntangent=zeros(length(distance),3);
for j=1:length(distance)
ntangent(j,:) = ppval(dpp, distance(j));
end
%The solution would be at beginning and end:
%ntangent =
% -0.1225 -0.9061 0.0243
% -0.1225 -0.9061 0.0243
有任何想法吗?我尝试使用多种方法使用 numpy 和 scipy 找到解决方案,例如
tck, u= scipy.interpolate.splprep(data)
但没有一种方法似乎满足我想要的。