问题标签 [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 投票
2 回答
242 浏览

r - 将波形拟合到一组点并从中选择离散间隔

我有一个 data.frame 的值,其中的样本间隔不准确。样本形成未知幅度和周期的振荡波。我想在每个确切的时间估计值。

RI 中有没有一种方法可以将曲线拟合到该数据集,然后在我的给定点(63、64、65、66 ...)对其进行采样?我知道spline()但不知道如何让它给我精确的“小时”整数值。

编辑:为了澄清,这是我希望拥有的结果数据框(带有“值”的虚拟条目)

重新创建数据的代码:

0 投票
2 回答
492 浏览

graphics - 减少脂肪中风

我想画这个: 在此处输入图像描述 两条线沿着一条等距的贝泽路径。粗线是我想要的,小虚线是引导路径。

上图是先用宽度 30 抚摸路径,然后用与背景颜色相同的宽度 25 来完成。有时这可以正常工作,但如果背景不是纯色则不行。

我想要像“剪辑”这样的形状。而且我更愿意使用标准图形库来做到这一点。大多数 2d 图形画布中的工具更好。

笔记:

  • 我正在使用 HTML 画布,但我认为这对问题并不重要。
  • 我可以上下平移路径,但这不会让我到各处的中心距离相同。
  • 也许它可以用渐变笔画来完成,但我不确定它们是如何工作的。
0 投票
1 回答
3215 浏览

javascript - 将动态数据系列添加到高图表

×212414 ×123754

我在 codebehind.aspx.cs 文件中调用一个 PageMethod ,它在 aspx 页面的 javascript 代码中返回一个字符串数组 [] 手头的问题是字符串数组返回 Time(X axis-Value),Data/Name(Y轴值),类型(定义图表的类型(样条线或柱形))来自 WEB SERVICE。我正在使用该数据将系列动态添加到图表中。使用功能 chart.AddSeries() 但我无法这样做。

任何人都可以指导我如何做到这一点,并且在这样做时我想为特定系列添加积分。

请注意,我将在同一个图表上显示类型{Spline and Column}。

0 投票
0 回答
620 浏览

math - Coons B 样条和贝塞尔样条有什么区别?

  1. Coons B样条和贝塞尔样条有什么区别?
  2. 我应该说“Bezier Spline”还是“Bezier B-spline”?什么是正确的术语?

我读过一些关于它的文章,但他们通常一起讨论这两种类型的样条,所以我有点搞砸了,不知道什么信息属于什么类型的曲线。

0 投票
1 回答
429 浏览

algorithm - 在给定角的值、一阶和二阶导数的情况下,在正方形的中点插入值的方法?

所有空间插值的实际例子我都能够通过采样额外的周围点来估计导数来找到工作。但是,如果导数已知,并且您只需要已知点中心的单个点的值(和导数),是否有更简单的方法?

举例说明:假设对于每个点(1, 1)(-1, 1)(-1, -1),并且(1, -1)您知道f(x, y)f'(x)f''(x)f'(y)和- 并且您想要在for 、、、和处的f''(y)插值。(0, 0)f(x, y)f'(x)f''(x)f'(y)f''(y)

0 投票
3 回答
2956 浏览

python - 求闭合二维均匀三次 B 样条的面积

我有一个二维点列表,它们是闭合均匀三次 B 样条的控制顶点 (Dx)。我假设一条简单的曲线(非自相交,所有控制点都是不同的)。

我试图找到曲线包围的区域:

在此处输入图像描述

如果我计算结点(Px),我可以将曲线视为多边形;然后我“只”需要在实际曲线和连接结点的直线之间找到每个段的剩余增量区域。

我知道 Bspline 的形状(以及因此面积)在旋转和平移下是不变的 - 所以对于每个段,我可以找到一个平移来将 t=0 结放在原点,并找到一个旋转来放置 t=1 结在 +x 轴上:

在此处输入图像描述

我可以通过插入点并重新分组来找到曲线的方程:

但我正在努力整合它——我能做到

但这并没有给我空间。我我需要的是

但在我走得更远之前,我真的很想知道:

  1. 这是正确的面积计算吗?理想情况下,分析解决方案会让我开心!

  2. 一旦我找到这个区域,我如何判断我是否需要从基础多边形中添加或减去它(第一个图中的红色与绿色区域)?

  3. 是否有任何 Python 模块可以为我进行此计算?Numpy 有一些评估三次 Bsplines 的方法,但似乎都没有处理面积。

  4. 有没有更简单的方法来做到这一点?我正在考虑可能在一堆点上评估 P(t) - 比如t = numpy.arange(0.0, 1.0, 0.05)- 并将整个事物视为一个多边形。知道需要多少细分来保证给定的准确度(我希望误差 < 1%)吗?

0 投票
2 回答
1023 浏览

postscript - 如何为 postscripts curveto 运算符生成控制点?

我正在寻找一种将一堆连接线渲染为后记中漂亮的连续曲线的方法。渲染曲线穿过我的所有点很重要。

curveto似乎是绘制曲线的唯一可用方法,但该功能需要贝塞尔控制点,而我没有。

那么,有没有办法为我的点计算控制点以便curveto可以使用?最好在后记中。

作为参考,我之前在 .NET 中使用过GraphicsPath.addCurve(float[]),它在渲染之前在内部转换为三次贝塞尔控制点。我正在后记中寻找类似的东西。

(我可以使用样条函数对点进行插值,然后使用大量单独的线对其进行渲染。看起来不错,但并不是一个很好的解决方案)

0 投票
1 回答
194 浏览

iphone - 如何“抛出”一组点并从中绘制连续样条?

需要从drawRect中的多个点绘制样条线。是否可以“抛出”一组点并从中绘制连续样条曲线。另一种选择是在点之间循环并绘制多条样条线,一次从 2 个点绘制一条样条线。我想这样的连续样条被称为B样条?

0 投票
2 回答
1552 浏览

c++ - 轨迹插值和导数

我正在分析粒子在 2D 平面中的轨迹。该轨迹通常由 5 到 50 个(在极少数情况下更多)点(离散整数坐标)组成。我已经匹配了我的数据集的点以形成轨迹(因此我有时间分辨率)。
我想对这条轨迹的曲率进行一些分析,不幸的是我使用的分析框架不支持拟合轨迹。据我所知,可以使用样条曲线/贝塞尔曲线来完成这项工作,但我希望得到您的意见和/或建议使用什么。
由于这只是我工作的一个可选部分,我无法投入大量时间自行实施解决方案或理解复杂的框架。解决方案必须尽可能简单。

让我从一个可能的库中指定我需要的特征:
- 从不同数量的点创建轨迹
- 由于点是离散的,它应该插入它们的位置;只要轨迹和点之间的最终距离小于阈值,就不需要对所有点进行精确匹配
- 库必须为任何给定点生成轨迹的导数
- 如果库可以报告插值的质量水平(如拟合的 chiSquare)

编辑:阅读评论后,我想补充一些:
轨迹不必与点完全匹配。这些点是从像素矩阵的值创建的,因此它们形成一个离散的坐标矩阵,其空间分辨率受每个给定距离的像素数限制。因此,这些点(位于发射像素的中心)不(完全)匹配粒子的实际轨迹。只要解决方案可以处理可能/很可能既不是双射也不是单射的轨迹,插值或拟合对我来说都很好。
因此,大多数传统的拟合方法(例如使用最小二乘拟合拟合多项式或指数函数)无法满足我的标准。
另外,我尝试过的所有传统拟合方法都产生了一个似乎很好地描述轨迹的函数,但是当查看它们的一阶导数(或更高分辨率)时,可以发现许多“微振荡”(根据我的解释)是结果将非直线函数拟合到轨迹的(几乎)直线部分。

Edit2:评论中有一些讨论,这些轨迹可能是什么样子。本质上,它们可能具有任何形状、长度和“卷曲度”,尽管我试图排除在前面的步骤中重叠或交叉的轨迹。我在下面包含了两个示例;忽略彩色框,它们只是原始像素矩阵值的表示。黑色圆点是我想与轨迹匹配的点,如您所见,它们始终以像素为中心,因此可能只有离散(整数)值。

前一
ex2

提前感谢您的任何帮助和贡献!

0 投票
1 回答
593 浏览

python - 替换 csaps() 和 Python 中的 `p` 参数

有没有人遇到过 Python 替代MATLAB 的曲线拟合工具箱中的csaps()函数?

我知道 Scipy 的产品,interpolatesignal我找不到任何实现的csaps()平滑参数参数,p(尽管我可能错过了它)。

我感兴趣的函数和参数在 p211上详细描述(和 FORTRAN)。

以为我会在潜入自己之前问一下。