问题标签 [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 回答
325 浏览

c++ - 在保留点的插值的同时,制作一条具有 C2 连续性的插值 B 样条曲线

这篇文章是这个问题评论部分的延续。 我已经实现了ALGORITHM A9.1 GlobalCurveInterpThe NURBS Book中的算法(第 2 版)在给定一组点 Q 的情况下计算插值 B 样条曲线。我想让这个样条曲线在连接点处以 C2 连续性闭合,同时继续让曲线插值点。我查看了许多网站和书籍,它们都建议“控制点包装”或“结包装”,但没有详细说明或举例说明如何做。如果有人可以向我指出资源或详细描述如何执行此操作的算法,我将不胜感激。给定点 Q,插值算法返回控制点 P 以及 B 样条曲线的节点 U(使用弦长方法)。我需要在之前还是之后修改这些控制点和节点运行插值算法,以什么方式?谢谢你。如果重要的话,我正在使用 C++。

0 投票
2 回答
146 浏览

python - 最小sq麻烦传递参数Python

我正在尝试使用以下功能:将 SNR 降低在此处输入图像描述到我的数据中。C1、C2和h是我需要从leastsq的方法中获取的参数。C1 和 C2 很简单,但问题是我的 h(t) 实际上是:基于 B 样条的函数。我想要获得的是该函数内的系数 hj (在我的例子中,有 35 个不同的 hj's )。该函数是不同基 B-Spline 的总和,每个 B-Spline 的权重不同,系数的数量等于 B-Spline 的节点数。因为我想获得 C1、C2 和 h1..35,所以我执行以下操作:

tpl(0)=C1, tpl(1)=C2 和 tpl(2..35)=我的系数。bsplines_evalades 是一个矩阵 [35,86000],其中每一行是每个基本 b 样条的时间函数,所以我用其单独的系数对每一行进行加权,86000 是 eix_x 的长度。ydata(eix_x) 是我想要近似的函数。λ1= 0.1903 ; lambda_big = 2; k=2*pi/λ1。输出是相同的初始参数,不是逻辑。谁能帮我?我也尝试过curvefit,但它不起作用。数据在:http://www.filedropper.com/data_5>http://www.filedropper.com/download_button.png width=127 height=145 border=0/>
http://www.filedropper.com >在线备份存储

编辑 现在的代码是:

问题是输出参数不会相对于初始参数发生变化。数据(x_axis,ydata,bsplines_evaluates):gist.github.com/hect1995/dcd36a4237fe57791d996bd70e7a9fc7 gist.github.com/hect1995/39ae4768ebb32c27f1ddea97e24d96af gist.github.com/hect1995/bdddf02debfc716

0 投票
1 回答
271 浏览

spline - Boehm 的节点插入算法的参考资料?

我正在实现一个用于有理 b 样条运动的程序,并且正在寻找一些关于唱 Bohm 的结添加算法的参考资料。本质上,这用于将整个曲线分成多个段,以避免必须乘以 B 样条函数(点之间的运动)。我很难找到这方面的参考资料,并感谢任何信息!

0 投票
1 回答
2074 浏览

graphics - 如何正确格式化波前 .OBJ 文件格式的 NURBS 曲线?

我正在尝试编写一个包含 3D NURBS 曲线(不是曲面)的波前 .OBJ 文件。我发现以下链接描述了如何在 .OBJ 文件中正确格式化曲线和曲面:http: //www.martinreddy.net/gfx/3d/OBJ.spec

没有关于有理 b 样条曲线的示例,从文档中我不清楚节向量是如何在该parm u部分中格式化的。任何帮助,将不胜感激。

相关代码示例如下。在上面的链接中,有一个有理 b 样条曲面的描述:

还有一个贝塞尔曲线的例子:

0 投票
0 回答
477 浏览

c++ - 在 C++ 中使用不同程度的 B 样条进行插值

我正在尝试使用 Wagner 定义的分段运动对一组运动数据点进行插值,因此每个数据点包含 8 个数字。这些数字中的每一个都形成一个运动参数,因此我需要为每个参数生成 Bspline 函数(8 个总参数,8 个 Bpsline 函数)。其中 3 个数字与平移有关,4 个与旋转有关,1 个与平移权重有关。这三个组中的每一个都被定义为对其各自的曲线具有特定的度数,因此一般三次 B 样条插值不起作用。

三次 Bspline 的公式是明确定义的,但对于更高的曲线度数,情况并非如此,那么如何使用 4 度数对数据集进行插值?我知道可以使用 LU 分解,但我不确定如何在 C++ 中实现它,或者如何定义分解所需的值(我有节点向量和每个数据点的时间,但仅此而已)。

0 投票
3 回答
18475 浏览

python - python中的scipy BSpline拟合

这是我第一次使用 BSpline,我想将曲线拟合到我的数据点。我尝试过使用单变量样条并尝试使用 splev 和 splrep 但我真的很想学习如何使用 BSpline 来做到这一点。

看起来我的配件真的很不稳定,而且这条线甚至没有穿过这些点。

U_timeband 是我的 x 坐标,U_magband 只是我的 y。k=4 我认为表示三次拟合?我玩过这个值,但似乎并没有让它变得更好。

它产生这个:

这个

我怎样才能使它更好,一致?我想我可能必须定义断点,但我也不知道该怎么做。

0 投票
1 回答
1734 浏览

r - R中的单调样条

我正在尝试使用R 中的 spline2 包来构建单调样条曲线。

我在评估模型以获取自变量的新值时遇到了麻烦。一般来说,我很难掌握 R 对“预测”的处理及其与 spline2 的关系,以及如何使用生成的 bs 对象。

我尝试按照使用 spline1 的示例进行操作。我的数据位于名为 BRIyII 的数据框中,具有自变量 t 和因变量 P,因此:

产量: 在此处输入图像描述

所以我这样做:

现在,如果我们:

它产生: 在此处输入图像描述

所以我的问题是:

1-由于最右边的预测值(红点)低于其左边的值,我是否误解了 m 样条的“单调”性质?

2- 如何评估 BRIyII$t 中定义的值以外的样条曲线?我尝试了几种组合,但我缺乏 R 语法知识。理想情况下,我想做类似的事情:

0 投票
1 回答
671 浏览

python - 在 Python 中,如何拟合最小分位数 b 样条回归线?

您可以像这样找到最小分位数回归线拟合:

但是如果你想找到最小的 b 样条回归拟合线呢?

0 投票
0 回答
136 浏览

r - 在 R 中的 gbm 函数中使用样条变换

我正在尝试在 R 中的提升算法(gbm 函数)中使用样条变换(bs 函数)。但是,当我编写以下代码时,它会抛出一个错误:

data.matrix(x) 中的错误:要替换的项目数不是替换长度的倍数

有什么方法可以在 R 的 gbm 函数中使用样条变换?

0 投票
1 回答
91 浏览

python - 找到 3D 曲面 B-Splice Python scipy bisplrep 的最大值点。树根可以用吗?

我想找到使用 bisplrep 制作的 3D 曲面 B-Spline 的所有局部最大值的 x,y 坐标。

splder 和 sproot 与 splrep 一起用于查找单变量 B 样条。如何找到 bisplrep 最大值和最小值?

我的代码如下。