问题标签 [bspline]

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 投票
0 回答
42 浏览

plot - Mathematica Piecewise展开和绘图

当我使用 Mathematica 命令时:

“绘图[BSplineBasis[3, x], {x, 0, 1}]”

然后我得到一个很好的函数图。但是,当我使用:

“绘图[PiecewiseExpand[BSplineBasis[3, x]], {x, 0, 1}]”

那么该图有 2 个断点,一个在 x=0.26 附近较大,一个在 x=0.77 附近较小。据我所知,在两种情况下我都应该得到相同的图,因为曲线是相等的,只是它们的表示(计算方式)不同。谁能解释第二个情节的休息时间。谢谢你。

第一个情节 第二个情节

问候/米凯尔

0 投票
0 回答
237 浏览

r - 样条曲线拟合和平滑

我正在尝试使用样条曲线拟合曲线。

当我研究它时,结和控制点是制作曲线的重要因素。

然而,支持制作样条曲线的函数,没有关于控制点的参数。(包括关于结的论点......)

这是我想用于曲线拟合的函数。 bssmooth.spliner 中的函数。

你能解释一下控制点和节点之间的关系吗?

以及如何为我的数据集确定合适的结数?(坐标数据,三次样条,想用样条做轨迹)

这个问题可能很幼稚,请为幼稚的工程师回答。

谢谢。

0 投票
1 回答
26 浏览

arrays - 在Matlab中将字符串拆分为数组中的数字后存储

我正在使用此代码通过包含此类文本的文本字段获取输入的字符串( 1,1,1,3,4,7,9,9,9 ),然后我将其拆分取决于,以存储每个数组中的数字作为 Matlab 中的结果,但是当我使用 str2double 作为 temp 时出现问题我给出错误我认为我在错误的地方使用它

代码:

结果如下所示: 在此处输入图像描述

但我想让它像这样: 在此处输入图像描述

0 投票
0 回答
116 浏览

java - BSpline 导数At() 方法不返回正确的值

我在使用 BSpline 路径时遇到了导数At() 方法的问题,因为它没有返回正确的值,但是导数At() 方法适用于 CatmullRomSpline 路径,所以这是特定于 SPline 的东西。wiki 和 API 没有提到 SPline 需要与其他路径区别对待......我是否在 SPline 中缺少某些东西,或者这是 LibGDX 的错误?

我做了一个简单的程序来显示问题。它使用应该指向与路径相同方向的导数At() 方法绘制控制点(黄点)、路径本身(浅灰色线)和切线(绿线)。

这是它应该做的。CatmulRomSpline 工作正常,因为绿色切线指向与路径相同的方向: 在此处输入图像描述

这是 BSpline 的作用。切线指向不同的方向,这些方向不是路径的方向: 在此处输入图像描述

这是我的代码。任何帮助使其正常工作将不胜感激。

0 投票
1 回答
286 浏览

r - 使用约束 B 样条逼近形状轮廓

我正在寻找一种可能性来生成约束样条曲线以近似形状(在我的情况下,是足迹轮廓)。作为原始数据,我有一个包含数百个 xy 坐标对的表格,它们是从足迹边界收集的。样条应该只逼近数据点(样条不需要传递数据点)。我希望能够在一定程度上平滑样条曲线。此外,我需要能够约束样条:定义样条必须通过的几个关键数据点。

R 包“cob”(COnstrained B-Splines,https ://cran.r-project.org/web/packages/cobs/index.html )非常接近提供解决方案,提供参数以根据需要约束样条. 但是,此包不会通过有序的数据点序列进行样条曲线化,这在您希望样条曲线遵循形状边界时当然是至关重要的。我尝试分别对 x 和 y 坐标进行样条线,但是在将它们重新组合后,图中出现了两个不同的形状,所以这似乎不起作用(或者我有什么问题?)。有人知道解决方案吗?


更新:工作示例(恐龙足迹轮廓)

数据.txt:


结果图的图像

在此处输入图像描述

0 投票
1 回答
2529 浏览

r - 纵向序列数据的三次样条法?

我有一个格式如下的串行数据:

一般有300只动物在短期内不同时间点有产奶记录。但是,如果我们将它们的数据连接在一起并且不关心不同的animal_ID,我们会在milk~time之间有一条曲线,如下图所示: 在此处输入图像描述 另外,在上图中,我们有1个示例动物的数据,它们是短的和高度可变的。我的目的是平滑每个动物数据,但如果模型允许从整个数据中学习一般模式,那就可以了。我使用了具有以下格式的不同平滑模型(ns、bs、smooth.spline),但它不起作用:

我希望如果有人已经处理过这个问题会给我一个建议。谢谢完整的数据集可以从这里访问: https ://www.dropbox.com/s/z9b5teh3su87uu7/dat.txt?dl=0

0 投票
0 回答
144 浏览

matlab - 如何使用 MATLAB 在断点(不仅结束)处制作具有特定一阶导数值的 B 样条曲线?

csape在曲线拟合工具箱中使用了函数,它使用户可以选择两端的导数值。

有没有办法控制特定断点的导数值?

我想在一个断点处将导数的值之一设置为零,以使其成为最大值。

这是代码:

在评论之后,%% Spline generation using cubic spline. 我有两个向量,一个用于时间,一个用于另一个随时间变化的值,我想制作三阶 b 样条。

我使用csape它是因为它使用户能够确定端点的导数值。cs = csape(tt,zz,[1 0 0 0 1],[0 0 0 0 0])那些是告诉工具在端点处进行一阶导数 = 0。

我希望时间 = tmaxh 出现的点是样条曲线上的最大值。

我尝试通过在其中放置 1 来实现这一点,[1 0 0 0 1]因此[1 0 1 0 1]我知道一阶导数最多为 0,但这种方法对我不起作用。

谢谢你。

0 投票
2 回答
10538 浏览

r - 使用样条曲线的 bs() 函数时如何解释 lm() 系数估计

我正在使用一组点,它们从“对称 V 形”(-5,5)到“对称 V 形”。我正在拟合一个模型以及拟合“V 形”样条的函数:(0,0)(5,5)lm()bs()

predict()当我预测结果并绘制预测线时,我得到了“V形” 。但是当我查看模型估计coef()时,我看到了我不期望的估计。

我希望-1第一部分有一个+1系数,第二部分有一个系数。我必须以不同的方式解释估计吗?

lm()如果我手动填充函数中的结,则得到这些系数:

这还差不多。Z(结点)与 x 的相对变化为 ~ +1

我想了解如何解释bs()结果。我查过,手动和bs模型预测值是完全一样的。

0 投票
1 回答
52 浏览

python - B-splines with Scipy : can I add a datapoint without full recompute?

I have a bspline created with scipy.interpolate.splrep with points (x_0,y_0) to (x_n,y_n). Usual story. But I would like to add a data point (x_n+1,y_n+1) and appropriate knot without recomputing the entire spline. Can anyone think of a way of doing this elegantly?

I could always take the knot list returned by splrep, and add on the last knot of a smaller spline created with (x_n-2, y_n-2) to (x_n+1,y_n+1) but that seems less efficient than it could be.

0 投票
1 回答
731 浏览

javascript - 将线转换为“矩形蛇”。帆布。JavaScript

可能有人知道用于画布绘图的优秀JavaScript库或框架。

我有以下问题:

1)通过徒手画一些线(如Paint / Photoshop铅笔)

2)需要将线转换为“矩形蛇”(使用固定宽度的矩形构建一条线)

看截图 在此处输入图像描述

什么样的图书馆会更好地解决这个问题?可能是某种图书馆已经有这个功能?

我的意思是需要以下功能:

  • 线逼近

  • 样条分离

  • 将线转换为多边形/形状/对象

如果有人会帮助我,那就太好了。谢谢!