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

apache-flex - 用于不可微函数的样条?

我有一个有时在某一点上不可微分的函数。当我现在使用样条曲线(degrafa 中的 Bezierspline)进行插值时,此时的插值不能按预期工作(此时我的函数有扭结)。现在,当用样条插值时,它会围绕该点绘制某种循环。我认为发生这种情况是因为样条曲线需要函数的导数,这在这一点上不是唯一的。

是对的吗?在这种情况下,你会建议我怎么做?

提前致谢

塞巴斯蒂安

0 投票
2 回答
2211 浏览

.net - 在 .NET 中可视化 B 样条

我可能需要在 .NET中可视化 B-Spline ( http://en.wikipedia.org/wiki/B-spline )。我不知道从哪里开始。有没有简单的方法或图书馆来做到这一点?我更喜欢在 Silverlight 中执行此操作,但 WPF 和 Win Forms 也可以。我将软件想象成一个坐标系,其中包含一些控制点,您可以添加、删除或移动这些控制点,从而重新绘制样条线。请注意,我缺乏数学背景。我在 GDI+ 中发现了一些似乎用于绘制样条线的方法,但我不确定这些是否是 B 样条线。

任何意见,将不胜感激。欢迎使用库、代码、指南链接或一般性建议。

0 投票
2 回答
38835 浏览

c++ - 向心 Catmull-Rom 样条如何工作?

这个站点,它似乎有关于 Catmull-Rom 样条的最详细信息,似乎需要四个点来创建样条。但是,它没有提到点 p0 和 p3 如何影响 p1 和 p2 之间的值。

我的另一个问题是如何创建连续样条曲线?通过使 p4 = p2 定义点 p1, p2 与 p4, p5 连续(即假设我们有 p0, p1, p2, p3, p4, p5, p6, ..., pN )。

一个更普遍的问题是如何计算 Catmull-Rom 样条上的切线?考虑到这些输入值给出的位置坐标,它是否必须涉及在样条曲线上取两个点(比如 0.01、0.011)并根据毕达哥拉斯得到切线?

0 投票
2 回答
4473 浏览

c++ - 将 Catmull-Rom 样条连接在一起并计算其长度?

我正在尝试创建一个接收任意数量的点(位置和控制)的类,并根据给定的信息创建一个 catmull-rom 样条曲线。

我正在做的 - 我真的不确定这是否是正确的方法 - 将每个单独的点存储在一个类中,如下所示:

class Point { public: Vector3 position; Vector3 control; }

其中显然 position 是点的位置,而 control 是控制点。

我的问题是连接样条线 - 显然,鉴于上述类在样条线数组中持有一个点,表明任何给定位置只能有一个控制点。因此,当 catmull rom 样条中有三个或更多点时,正在连接的各种单独的 catmull-rom 样条共享一个位置,并且与另一个这样的样条共享一个控制。

现在需要相同的位置 - 因为我想创建它们之间连续的样条线。但是我真的很想知道,两条样条线之间的控制点是否也应该相同?稍微摆弄一下控制点,我可以让它看起来从一个样条曲线平滑过渡到另一个,但是我必须强调,我不确定它们的过渡方式是否与 catmull-rom 样条曲线形成它们的形状一致. 我宁愿正确地做它,也不愿坐在我的手上并合理化它已经足够好。

显然我的问题的第二部分是不言自明的:给定两个控制点和位置点,我如何计算 catmull-rom 样条的长度?

0 投票
4 回答
48539 浏览

c++ - 有没有什么好的库可以在 C++ 中求解三次样条曲线?

我正在寻找一个好的 C++ 库来为我提供解决大型三次样条曲线(大约 1000 点)的函数,有人知道吗?

0 投票
3 回答
8432 浏览

python - python中的Catmull-Rom样条

python中是否有库或函数可以从三个点计算Catmull-Rom样条?

我最终需要的是沿样条线的点的 x,y 坐标,前提是它们始终与沿样条线的给定量 t 等距(例如,样条曲线长 3 个单位,我想要 x,y 坐标在样条长度 0、1、2 和 3)

没有什么真正令人兴奋的。我是自己写的,但如果你发现一些不错的东西,它会非常适合测试(或节省时间)

0 投票
2 回答
8401 浏览

math - 如何创建贝塞尔曲线来表示平滑的折线?

我有一条近似曲线的折线,我想在 PostScript 中将其绘制为平滑曲线,它支持贝塞尔曲线绘制。为此,我需要在每对折线点之间生成两个控制点。(我不能从源头得到原始曲线,只能得到折线。)

我使用这个描述中的基数样条取得了一些成功,但是那里的参数与WikipediaGDIPlus.DrawCurve不同,两者都涉及张力。MS 没有细节,维基百科有不完整的细节(基数样条忽略 x 值?)。

基于张力的控制点的公式是什么?

0 投票
2 回答
1877 浏览

drawing - 从平板电脑输入绘制平滑线

当用户在平板电脑上拖动手写笔时,您会收到一系列坐标。你想用一条平滑的线来近似画笔的路径,只在它后面拖几个样本点。你会怎么做?

换句话说,当用户使用平板电脑绘制时,您将如何呈现出流畅的响应线?简单地用直线连接点是不够的。真正的绘图程序在弯曲线方面做得更好,无论样本点有多近或多远。有些甚至让你给他们一个数字来表示要完成的平滑量,考虑到笔和手的抖动。我在哪里可以学习做这些东西?

0 投票
3 回答
5904 浏览

c++ - 在一定距离后获得catmull rom样条的点?

如果我有一定长度的Catmull-Rom 样条,我如何计算它在一定距离处的位置?通常要计算 catmull rom 样条曲线中的点,您输入一个介于 0 和 1 之间的值以通过比例获取其位置,我该如何计算距离?例如,如果我的样条线长 30 个单位,我如何才能在距离 8 处获得它的位置?

我问的原因是因为似乎在 [0,1] 域中给出点的 catmull rom 样条曲线并不能保证它会给你在样条线的那个距离处的点,例如,如果我将 0.5 输入到 catmull romspline 中长度 30 这并不意味着我会在样条线 15 的距离处获得位置,除非样条线本身实际上是一条直线..

0 投票
4 回答
23549 浏览

python - python中有没有简单的方法可以将数据点推断到未来?

我有一个简单的 numpy 数组,每个日期都有一个数据点。像这样的东西:

有没有简单的方法可以将数据点推断到未来:date(2008,5,1), date(2008, 5, 20) 等?我知道它可以用数学算法来完成。但在这里,我正在寻找一些低悬的果实。实际上我喜欢 numpy.linalg.solve 所做的,但它看起来不适用于外推。也许我完全错了。

实际上,更具体地说,我正在构建一个燃尽图(xp 术语):'x=date 和 y=要完成的工作量',所以我已经完成了 sprint,我想可视化未来的 sprint如果目前的情况持续下去,就会去。最后我想预测发布日期。所以“要完成的工作量”的本质是它总是在燃尽图上下降。我还想获得推断的发布日期:音量变为零的日期。

这一切都是为了向开发团队展示事情的进展。在这里,精确性并不是那么重要:) 开发团队的动力是主要因素。这意味着我对非常近似的外推技术非常满意。