172得票14回答
如何使用JavaScript HTML5画布通过N个点绘制平滑曲线?

对于一个绘图应用程序,我将鼠标移动坐标保存到数组中,然后使用lineTo进行绘制。 产生的线条不够平滑。如何在所有收集到的点之间产生一个单一的曲线? 我搜索了谷歌,但只找到三种画线的函数:对于2个样本点,简单地使用lineTo;对于3个样本点,使用quadraticCurveTo;对于4个样...

53得票6回答
三次贝塞尔曲线上最接近的点是什么?

如何找到三次贝塞尔曲线上最接近平面上任意点P的点B(t)?

51得票5回答
Python自然平滑样条曲线

我正在寻找一个Python包,可以提供自定义平滑系数的选项来适应自然平滑样条。是否有相应的实现?如果没有,如何使用已有的工具自己实现? 所谓自然样条,是指拟合函数在端点处的二阶导数为0(线性)的条件。 所谓平滑样条,是指样条不必“插值”(穿过所有的数据点)。我希望自己决定正确的平滑系数λ(...

34得票8回答
如何在Python中执行三次样条插值?

我有两个列表来描述函数 y(x):x = [0,1,2,3,4,5] y = [12,14,22,39,58,77] 我希望能进行三次样条插值,以便在给定定义域x内的某些值u的情况下使用。u = 1.25 我可以找到y(u)。 我在SciPy中找到了这个,但是我不确定如何使用它。

31得票6回答
手绘曲线平滑化

我有一个允许用户绘制曲线的程序。但是这些曲线看起来不太好——它们看起来摇摆不定,像手绘的一样。 所以我想要一个算法来自动平滑处理它们。我知道在平滑处理过程中存在固有的歧义,因此它不会每次都完美无缺,但是类似的算法似乎存在于几个绘图软件包中,并且它们运行得相当不错。 有没有这方面的代码示例?...

31得票7回答
在平面上拟合无序点的曲线拟合

问题:如果平面上的点不是单值的,如何将曲线拟合到这些点上? 对于所示的例子,如何将曲线(如黑色曲线)拟合到嘈杂的蓝色数据上?这类似于样条平滑,但我不知道数据的阶数。 首选Matlab,但伪代码也可以。或者指出此问题的正确术语也可以。 谢谢

25得票8回答
如何在C++中实现Bézier曲线?

我想实现一个贝塞尔曲线。我以前在C#中做过这个,但是我完全不熟悉C++库。我该怎么创建二次曲线?void printQuadCurve(float delta, Vector2f p0, Vector2f p1, Vector2f p2); 显然,我们需要使用线性插值,但标准数学库中是否存在这...

23得票1回答
使用2D/3D样条曲线从嘈杂的数据点中找到曲率?(C++)

我尝试从脉冲曲线上提取其曲率(如下图所示)。该脉冲是在一个长度和高度为150x100单元格的网格上使用C++实现的有限差分计算得出的。 我提取了所有具有相同值(等高线/级别集)的点,并在下面的图中将它们标记为红色连续线。其他颜色可以忽略。 然后,我尝试通过以下方式从已经很嘈杂(由于...

22得票4回答
如何使用SVG中的贝塞尔曲线逼近半余弦曲线?

假设我想在SVG中使用贝塞尔路径来近似半余弦曲线。半余弦应该如下图: 并从[x0,y0](左控制点)运行到[x1,y1](右控制点)。 如何找到一组可接受的系数,以便良好地近似此函数? 奖励问题:例如,如何推广四分之一的余弦公式? 请注意,我不想用一系列相互连接的线段来近似余弦,而...

22得票4回答
有没有在C++中解决三次样条的好库?

我正在寻找一个好的C++库,可以为我提供解决大型三次样条函数(约1000个点)的功能,有人知道吗?