gpt4 book ai didi

python - 如何在曲线上均匀地重新分布点

转载 作者:太空宇宙 更新时间:2023-11-03 12:21:25 25 4
gpt4 key购买 nike

我有一些 3 维的任意曲线,由 XYZ 笛卡尔点列表组成。这些点分布不均匀(有时间因素)。我怎样才能用给定数量的点来“重建”曲线,这些点应该构成曲线。我看到这是在 3D 建模程序中完成的,所以我很确定这是可能的,我只是不知道如何实现。

enter image description here

根据答案,我需要在 python 中使用它,所以我开始着手将 interparc 转换为 python。我得到了线性插值。它可能效率低下并且有冗余,但也许对某人有用http://pastebin.com/L9NFvJyA

最佳答案

我会使用 interparc ,我的一个工具就是为了做到这一点而设计的。它通过 2 维或更多维的一般空间曲线拟合样条,然后选择沿该曲线的距离相等的点。在三次样条的情况下,解决方案使用 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
box on
view(-9,12)

enter image description here

xyzi = interparc(100,x,y,z,'lin');
plot3(xyzi(:,1),xyzi(:,2),xyzi(:,3),'o')
box on
grid on
view(-9,12)

enter image description here

关于python - 如何在曲线上均匀地重新分布点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18244305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com