bspline相关内容

使用 numpy/scipy 的快速 b 样条算法

我需要在 python 中计算 bspline 曲线.我查看了 scipy.interpolate.splprep 和其他一些 scipy 模块,但找不到任何可以轻松满足我需要的东西.所以我在下面写了我自己的模块.代码工作正常,但速度很慢(测试函数在 0.03 秒内运行,考虑到我只要求 100 个具有 6 个控制顶点的样本,这似乎很多). 有没有办法通过一些 scipy 模块调用来简化下面的 ..
发布时间:2021-12-31 11:58:00 Python

Bezier Patches 如何在犹他州茶壶中工作?

我过早地发布了一个代码高尔夫挑战,使用 犹他茶壶"ftp://ftp.funet.fi/pub/sci/graphics/packages/objects/teaset.tar.Z" rel="nofollow noreferrer">这个数据集 (只是茶壶).(修订和发布的茶壶挑战)但是当我更深入地查看数据以便举一个小例子,我意识到我不知道这些数据发生了什么.我对 2D 中的贝塞尔曲线有很好的理 ..
发布时间:2021-11-25 00:49:42 C#

从节点和系数创建 BSpline

如果只知道点和系数,如何创建样条?我在这里使用 scipy.interpolate.BSpline,但我也对其他标准包开放.所以基本上我希望能够为某人提供那些简短的系数数组,以便他们能够重新创建对数据的拟合.请参阅下面的失败红虚线. 将 numpy 导入为 np导入 matplotlib.pyplot 作为 plt从 scipy.interpolate 导入 BSpline,LSQUnivari ..
发布时间:2021-07-16 21:07:32 Python

在 SciPy 中生成 B-Spline 基础,就像 R 中的 bs()

对于 N 个一维数据 X,我想评估 K 个三次 B 样条上的每个点.在 R 中,有一个带有直观 API 的简单函数,称为 bs.实际上有一个 python 包 patsy 它复制了这个,但我不能使用那个包——只有 scipy 之类的. 查看了有关样条相关函数的 scipy.interpolate 文档,我能找到的最接近的是 BSpline 或 BSpline.basis_element,但是 ..
发布时间:2021-07-16 20:54:09 Python

scipy.interpolate输入值的问题

当前尝试使用scipy的插值实现创建均匀的三次B样条曲线(钳位).当使用interpolate.splev()时,我传入的目标(x)值发生了变化,并且该函数向我返回了一个接近但与目标值不相同的点的x值(以及错误的x值的正确y值).有人对我如何解决此问题有任何建议吗?下面提供的代码可以重新创建问题.预先非常感谢:) 将numpy导入为np随机输入为rd从scipy导入插值导入matplotlib. ..
发布时间:2021-05-16 19:47:44 Python

在scipy(python)中执行B样条拟合时,如何更改基本函数的数量?

我有一组离散点(x_n,y_n),我想将它们近似/表示为B样条曲线基函数的线性组合.我需要能够手动更改该方法使用的B样条基函数的数量,并且我正在尝试使用scipy在python中实现此功能.具体来说,以下是我正在使用的一些代码: import scipyspl = scipy.interpolate.splrep(x,y) 但是,除非我误解或错过了文档中的某些内容,否则看来我无法更改sci ..
发布时间:2021-05-16 19:47:39 Python

如何从scipy.interpolate.splprep()中提取函数模型(多项式)?

我现在有一些离散点,我使用scipy.interpolate.splprep()函数(B样条插值)对其进行了插值,以获得令人满意的平滑曲线.这是代码(借鉴另一个问题的答案)和得到的结果. 将numpy导入为np从scipy导入插值从matplotlib导入pyplot作为plt#x和y是随机采样的点x =采样的xy =样本#附加起始的x,y坐标x = np.r_ [x,x [0]]y = np. ..
发布时间:2021-05-16 19:47:29 Python

将B样条曲线转换为贝塞尔曲线

我有一条B样条曲线.我有所有的结,以及控制点的x,y坐标. 我需要将B样条曲线转换为贝塞尔曲线. 我的最终目标是能够在html5 canvas元素上绘制形状.B样条来自不支持Beziers的dxf文件,而画布仅支持Beziers. 我找到了几篇文章试图解释这一过程,但是它们对我来说有点过头,而且似乎在理论上非常密集.我确实需要一个示例或逐步的帮助. 这是我发现的东西:(解释 ..
发布时间:2021-05-15 18:32:22 前端开发

解释scipy.interpolate样条拟合的结果

我有一些数据点,我想用三次b样条拟合进行近似。在另一个程序中,我喜欢仅使用拟合的结和系数对一些点进行插值。这意味着我需要自己编写代码以评估给定结点和系数的点。使用此Wiki页面,我已经能够使用 结,coeff,n = scipy.interpolate.splrep(x,y) 奇怪的是,我需要删除数组中的前3个条目以使代码正常工作(注意:前4个结和最后4个结)相同,因此将产生 ..
发布时间:2020-06-07 18:44:00 其他开发

使用受约束的B样条曲线近似形状轮廓

我正在寻找一种生成受约束的样条曲线以逼近形状(在我的情况下为轮廓轮廓)的可能性。作为原始数据,我有一张包含数百个xy坐标对的表,这些对是从覆盖区边界收集的。样条线仅应近似于数据点(样条线不需要通过数据点)。我希望能够将花键平滑到一定程度。另外,我必须能够约束样条曲线:定义样条曲线必须通过的几个关键数据点。 R包“ cobs”(COnstrained B样条曲线) , https://cran ..
发布时间:2020-06-07 18:43:57 其他开发

使用Python进行B样条插值

我正在尝试使用Python再现B样条的Mathematica示例。 mathematica示例的代码为 pts = {{0,0},{0,2},{2,3},{4,0},{6,3},{8 ,2},{8,0}}; Graphics [{BSplineCurve [pts,SplineKnots-> {0,0,0,0,2,3,4,6,6,6,6}],绿色,线[点],红色,点[点]}] ..
发布时间:2020-06-07 18:43:51 Python

如何将B样条曲面的4边重建为4条B样条曲线?

如何将B样条曲面的4个边重建为4条B样条曲线? ps:应该相似Autodesk Alias的“重复曲线工具”,您可以在其中选择曲面上的任何U / V并重建3度B样条曲线。我不知道背后的算法是什么。 解决方案 通过使用控制点的第一行/最后一行或最后一列以及相应的度和结向量,可以轻松地将B样条曲面的4条边界曲线构造为B样条曲线。例如,在v = 0.0时在u方向上的边界曲线是B样条曲线,它 ..
发布时间:2020-06-03 21:37:24 其他开发

具有numpy/scipy的快速b样条算法

我需要在python中计算bspline曲线.我研究了scipy.interpolate.splprep和其他一些scipy模块,但找不到任何能满足我需求的东西.所以我在下面写了我自己的模块.代码可以正常工作,但是速度很慢(测试函数运行时间为0.03s,考虑到我只要求100个带有6个控制顶点的样本,这似乎很多.) 是否有一种方法可以通过一些scipy模块调用来简化下面的代码,这大概可以加快速 ..
发布时间:2020-05-18 18:55:08 Python

R函数bs()的输出的解释(B样条基矩阵)

我经常使用B样条进行回归.到现在为止,我还不需要详细了解bs的输出:我只需选择我感兴趣的模型,然后将其与lm配合即可.但是,我现在需要在外部(非R)代码中重现b样条模型.那么,bs生成的矩阵的含义是什么?示例: x ..
发布时间:2020-05-07 18:59:56 其他开发

在MATLAB中将数据拟合到B样条曲线

我正在尝试估计时序数据中矩阵形式的缺失值.列代表时间点,即现在,我想将矩阵的每一行拟合为B样条曲线,并使用它来估计缺失值.我可以使用MATLAB将数据拟合为普通样条曲线,但是我完全陷入尝试找出如何拟合数据以创建B样条曲线的问题.使用``曲线拟合工具箱''中的默认bspline函数,可以将结矢量设置为时间点的矢量,但是无法设置控制点(即行的元素). 任何帮助将非常感激. 编辑:添加示例 ..
发布时间:2020-05-06 13:49:32 其他开发

对样条线使用bs()函数时如何解释lm()系数估计

我正在使用一组点,这些点以对称的V形从(-5,5)到(0,0)和(5,5).我正在使用lm()和bs()函数拟合模型以拟合"V形"样条线: lm(formula = y ~ bs(x, degree = 1, knots = c(0))) 当我通过predict()预测结果并绘制预测线时,我得到"V形".但是,当我查看模型估计值coef()时,会看到我没有想到的估计值. Coeff ..
发布时间:2020-05-02 11:09:08 其他开发