gpt4 book ai didi

curve-fitting - 具有已知端点的贝塞尔曲线拟合

转载 作者:行者123 更新时间:2023-12-04 19:33:40 27 4
gpt4 key购买 nike

我想将具有已知端点(p0 和 p3)的贝塞尔曲线拟合到嘈杂的二维数据。这似乎比传统的 4 点贝塞尔曲线拟合更简单,但我仍然难以弄清楚。

有人可以指出我现有的代码或算法来找到控制点 p1 和 p2 的最佳值吗?

Bezier curve fitting

编辑 :我试图用贝塞尔曲线拟合的点来自用鼠标绘制的曲线(想象一下在 Paint 中用画笔画一些东西,一次长笔画可能有数百个记录点)。 anchor p0 和 p3 是预先创建的,但应计算控制点 p1 和 p2,以便贝塞尔曲线适合用鼠标绘制的曲线的形状。

最佳答案

我偶然发现了一篇名为 "Approximation of data using cubic Bezier curve least square fitting" 的论文由“M.Khan”撰写,它描述了一种算法来计算我正在寻找的确切事物。

在 javascript 中的实现很容易。它工作得很好,速度也很快,但产生的贝塞尔曲线并不完美。可能是我的代码中的一个错误,但我怀疑可以通过迭代调整贝塞尔曲线上的匹配点以更好地拟合数据来获得更好的曲线 bezier curve creation .

编辑:事实证明,您可以使用 newton-raphson 来优化贝塞尔曲线的每个单独的 t 值。这样做之后,曲线拟合得很好,至少对于只有少数不自相交的点的曲线,但我必须做更多的测试。
Newton step optimization of bezier t-values

关于curve-fitting - 具有已知端点的贝塞尔曲线拟合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42315048/

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