问题标签 [spline]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1145 浏览

function - 样条方法的问题 = 'monoH.FC''

我对使用单调样条很感兴趣,但是当 R 尝试使用它时出现错误。我正在使用 R 2.12.0,并且方法“monoH.FC”表示自 2.8.0 起就支持它

可重现的示例(更复杂的 (x,y) 关系的结果相同)

我试过的

?spline返回:

spline函数本身表明不支持“monoH.FC”方法:

问题

如何将 method = 'monoH.FC' 与样条曲线一起使用?

0 投票
1 回答
7852 浏览

matlab - matlab中的三次样条

我无法让 matlab 代码正常工作!我在 matlab 中找到了一个三次样条代码来给我插值多项式。我只是举一个例子来工作:

Xi = [0 0.05 0.1]

Fi = [1 1.105171 1.221403]

Fi' = [2 _ 2.442806]

但它给了我这个错误:

这是非结条件的完整代码

同样对于夹紧条件,它给了我这个错误:

钳位模式的完整代码:

对于这个,它只给了我前 2 列!

所以有人知道我怎样才能使这两个工作吗?

0 投票
1 回答
986 浏览

java - Swing:检测鼠标在一般路径上的移动

我正在使用 GeneralPath 绘制一些样条曲线,如下所示:

基本上,这会在点 (x0;y0) 和点 (x1;y1) 之间绘制一条看起来像电缆或电线的样条线。

绘图没问题,但现在我想检测鼠标何时移动并悬停在这条样条曲线上。问题是该contains(Point)方法似乎没有做我想要的。true如果Point位于样条线与 (x0;y0) 和 (x1;y1) 之间的直线之间的区域内,则返回。

在上面的示例中,它将为整个“星星”区域返回 true:

但只想检测点何时恰好位于样条曲线上。

有什么方法可以实现我想要的吗?

任何想法都非常感谢!

编辑:我在文档中找到了我的问题的解释,但这并不能帮助我找到解决方案:

contains 和 intersects 方法将 Shape 的内部视为它包围的区域,就好像它被填充一样。这意味着这些方法将未闭合的形状视为隐式闭合,以确定形状是否包含或与矩形相交,或者形状是否包含点。

0 投票
0 回答
8214 浏览

c - C中的样条平滑算法

我在一家工厂的工程部门工作,对于我们的一些在线建模,我们查看来自热电偶、传感器等的高频输出数据,这些数据本质上会受到“噪声”影响,这使得对此类时间序列数据的实时分析变得困难.

我们使用 SAS 统计包进行离线分析,其中包括自己的平滑例程。SAS 的平滑例程基于 Christian Reinsch 1967 年的论文,可在此处获得:http ://www.cise.ufl.edu/class/cap5416fa10/resources/Reinsch_1967.pdf

作为概念证明,我能够用 C 重写 Reinsch 的 Algol 60 代码(C 是我最熟悉的编程语言,也是我们的工厂控制软件所用的语言),并且对我正在测试的输出感到满意我的带有示例数据集的代码。

我希望看到这个功能添加到我们的控制室,我们有自定义编写的趋势包等,这个功能是非常需要的。我担心算法的性能,尤其是在大型数据集上,我已经在 C 中搜索了现有的样条平滑算法,但似乎没有大量的选择。

我拥有相当流行的教科书“C 中的数值配方”,它有自己的三次样条插值实现,但由于使用自定义标题和重新映射数组索引、使用自定义“向量”等,发现这不合适, GNU 科学库 (GSL) 也有类似的做法。

理想情况下,我希望尽可能少地依赖外部库,因为人们对我们生产环境中的额外依赖项感到不舒服。“普通”C中是否有任何现有算法可用?我应该补充一点,我的背景是工程而不是计算机科学,所以我自己编写的任何代码都可能不如现有实现高效。

0 投票
1 回答
753 浏览

c++ - 如何应用样条基矩阵?

1)我有一堆从 P0 到 PN 的样条控制点。
2)我有一个样条基矩阵。

在给定 2 个控制点索引和值的情况下,我如何应用基础矩阵来获得插值位置?

现在我不断看到以下表格:

所以我假设 p0 等是我的控制点。我还假设这是每个组件(即 x、y、z)。但是,我完全不确定我到底在用 t 值做什么。

谁能为我解释一下?我很可能只是一个白痴:)

我正在使用 C++,并且有很多数学课,所以我宁愿不扩展数学。了解正在发生的事情会更有用。

0 投票
2 回答
3391 浏览

r - 如何将 spline() 应用于大型数据框

我是 R 的新手,我正在尝试应用于smooth.spline()大型数据框。我查看了相关线程(“将 n 个函数的列表应用于数据帧的每一行”,“如何应用样条基矩阵”,...)。这是我的数据框以及到目前为止我尝试过的内容:

我可以smooth.spline独立申请每一行,到目前为止看起来不错spline()(我想要 48 分。我稍后会弄清楚如何使用smoooth.spline spar):

我的问题是我认为是基本的,但是如何应用smooth.spline()spline()应用于整个数据帧,并返回一个矩阵 4565 * 49,其中我有平滑样条曲线的每个结的坐标?我真的不在乎绘制这些数据。

我试过:

现在,不知道该怎么办。这是制作循环的问题吗?

先感谢您

0 投票
6 回答
26167 浏览

c# - 平滑手绘曲线

我有一个允许用户绘制曲线的程序。但这些曲线看起来并不好看——它们看起来摇摇晃晃,而且是手绘的。

所以我想要一个自动平滑它们的算法。我知道平滑过程中存在固有的歧义,因此它不会每次都完美,但这样的算法似乎确实存在于几个绘图包中并且它们工作得很好。

有这样的代码示例吗?C# 会很完美,但我可以翻译其他语言。

0 投票
2 回答
2773 浏览

algorithm - 一种绘制等距曲线的方法

我在 mathoverflow 上发布了这个问题,但我也想知道你对此的看法。我想要做的是绘制一条曲线,该曲线始终与给定曲线的法线表面保持一定距离。我知道给定曲线的公式(分段三次样条)。问题似乎是当偏差距离大于曲线半径时 - 点会被打乱。有没有人遇到过这样的问题。有没有很好的解决方案?

感谢您的任何想法,

尤利安

稍后:向导先生在下面完美地描述了这个问题。

0 投票
0 回答
3733 浏览

java - 适用于 Android 的 catmull-rom 样条曲线

我正在尝试找到一种在 android 平台上实现 catmull-rom 样条的方法,目的是通过 n 点平滑地绘制一条线。理想情况下,我可以通过 Path 和它的cubicTo 方法来调整三次贝塞尔曲线,正如这个线程中提到的那样:How do I draw a curve through tree points in Android?

不幸的是,我无法跟踪那里的实现,所以我希望那里有人已经这样做了,并且可以分享几行示例代码。

谢谢!

0 投票
1 回答
567 浏览

embedded - 计算样条曲面上的点

我正在研究一种在嵌入式系统上运行的控制算法。我的编程语言是 C,系统在内存和处理能力方面将受到非常严格的限制。

我在三维空间中有几个(大约 10 个)参考点。这些通常是静态的,但会偶尔更改。我想拟合一个样条曲面,使其通过所有这些点,然后有一个函数,对于给定的输入向量(x, z)返回距离y到平面y = 0的距离。

我认为这是一个需要分两部分解决的问题:1) 每当参考点发生变化时,都会计算一些新的系数,以及 2) 将系数插入一个函数,该函数返回给定(x, z)的y。(只有 2 个需要“实时”发生。)

我在网上对此进行了一些研究,但在数学上遇到了困难,而且很多材料都是针对计算机图形学的。我什至不确定我需要什么类型的样条;NURBS 和 Catmull-Rom 似乎都是相关的。最后,关于我的样条边缘的形状:由于我的输入向量来自有界的传感器读数,我并不真正关心样条在该边界之外做什么。

我将非常感谢一些帮助或相关材料的指针,任何伪代码片段将不胜感激。