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

javascript - 如何使用javascript HTML5画布通过N个点绘制平滑曲线?

对于绘图应用程序,我将鼠标移动坐标保存到数组中,然后使用 lineTo 绘制它们。结果线不平滑。如何在所有收集的点之间生成一条曲线?

我用谷歌搜索了,但我只找到了 3 个用于绘制线条的函数:对于 2 个样本点,只需使用lineTo. 对于 3 个采样点quadraticCurveTo,对于 4 个采样点,bezierCurveTo

(我尝试为数组中的每 4 个点绘制一个bezierCurveTo,但这会导致每 4 个采样点出现扭结,而不是连续平滑曲线。)

如何编写一个函数来绘制具有 5 个及以上样本点的平滑曲线?

0 投票
2 回答
1674 浏览

math - 确定对象追随者的轨迹 - 追求曲线

我已经开始为游戏服务器开发单位轨迹,现在我正试图在给定时间检索单位的位置。当轨迹只是一条直线时很容易,但当一个单位追逐另一个单位时,情况就复杂得多了。

我已经完成了Flash 应用程序来说明问题。黑色轨迹适用于单向行进的单元。蓝色追逐黑色,红色追逐蓝色。我想要的是预先计算蓝色和红色的整个轨迹,以便能够在恒定时间内检索它们的位置。

是否可以?谢谢你的帮助!!

在此处输入图像描述

0 投票
1 回答
1676 浏览

matlab - 使用 Spline 方法时,Spline 函数与 Interp1 函数有何不同?

有谁知道为什么我会从 Spline 函数与使用 Spline 方法的 Interp1 函数得到不同的结果?我试图查找其他人是否有此问题,但我唯一能找到的是函数期望输入以不同的顺序(即列与行)。我正在运行的代码是...

如果您查看结果图,就会发现差异很大,我不确定为什么会这样。任何帮助,将不胜感激!

0 投票
3 回答
5628 浏览

r - 是否有估计多元自然三次样条(或类似)函数的 R 库?

注意:最初于 2011 年 7 月 26 日发布在Cross Validated (stats SE)上,迄今为止没有正确答案。

背景

我有一个模型f,其中Y=f( X )

X来自m个参数的样本的nxm 矩阵, Y是模型输出的nx 1向量。

f是计算密集型的,所以我想使用通过( X , Y)点的多元三次样条来近似f,这样我就可以在更多的点上评估Y

问题

是否有一个 R 函数可以计算XY之间的任意关系?

具体来说,我正在寻找该splinefun函数的多变量版本,它为单变量情况生成样条函数。

例如,这就是splinefun单变量案例的工作方式

函数通过点精确插值的测试是成功的:

我试过的

我已经查看了mda包,似乎以下内容应该有效:

然而,该函数并没有通过设计点完全插值:

我也找不到在 、 或 包中实现三次样条gammarss方法earth

0 投票
1 回答
169 浏览

python - 将计算函数存储到磁盘以便在 python 中快速访问

我的问题有两个部分。一:我要在网格上做双重积分

现在,我读到贝塞尔函数可以预先计算并保存到磁盘以便快速访问。我该怎么做呢?现在,我正在根据需要评估来自 scipy.special 的 besselfunction。

第二个问题:我已经对一个微分方程进行了数值积分,并使用样条解来求解其他微分方程。然而,花键解决方案很慢。有没有办法让它更快?

0 投票
0 回答
2103 浏览

math - 样条插值:具有 C2 连续性的三次与分段 Hermite

我在 math.stackexchange.com 上没有得到太多帮助,所以我会在这里尝试...

最近,我一直在寻找我拥有的一些数据的插值三次样条。我想我对它的工作原理有一个很好的理解:获取 x,y 数据,插入一个三对角矩阵,求解 y(i) 的二阶导数,并根据二阶导数计算系数。

但是,我遇到了 Game Programming Gems 5 中的一篇文章,该文章使用具有C2连续性的三次Hermite样条。本文使用三对角矩阵来求解线性方程组,但它实际上是求解一阶导数而不是二阶导数。经过进一步调查,我注意到 Scilab 还使用具有 C2 连续性的 Hermite 样条。他们的 splin() 函数返回输入数据的斜率。

在插值数据方面,使用 C2 Hermite 样条比普通的旧三次样条有什么优势吗?如果两者都具有 C2 连续性,我不太明白您为什么要使用其中一个。

谢谢!

0 投票
2 回答
35007 浏览

matlab - 三次样条程序

我正在尝试编写三次样条插值程序。我已经编写了程序,但是图表没有正确显示。样条曲线使用自然边界条件(开始/结束节点的第二个导数为 0)。代码在 Matlab 中,如下所示,

当我运行代码时,插值函数不是对称的,并且不能正确收敛。任何人都可以就我的代码中的问题提供任何建议吗?谢谢。

0 投票
3 回答
6669 浏览

spline - 张力与三次样条插值有何关系?

张力与三次样条插值有何关系?我指的是这篇文章的三次样条插值。张力系数 t=0 用于第一个结点,t=1 用于最后一个结点。但是我们可以在哪里替代三次样条中的其他张力值,例如 0.1、0.2 等?任何人都可以指导我找到任何有用的参考资料吗?

0 投票
1 回答
813 浏览

computational-geometry - 三次样条插值:如何计算第二个样条 S2

我在 Pascal 中有一个任务来计算三次样条。我已经完成了大部分程序,还有一个问题。我的任务是,对于函数 y = f(x),找到样条 S1 和 S2,同时找到
delta1 = max|f(x)-S(x)|, delta2 = max|f'(x)-S1'( x)|, delta3 = max|f(x)-S2(x)|, delta4 = max|f'(x)-S2'(x)|

哪个公式对 S2 有用?

到目前为止,这是我的代码:

0 投票
1 回答
3216 浏览

matlab - MATLAB中的三次样条插值

我正在使用interp1MATLAB 中的函数在信号中插入一些丢失的数据,它就像一个魅力。但是,我想知道该功能是如何工作的。

我检查了函数的代码interp1,它使用了这个函数spline。该函数的代码spline对我来说非常难以理解,所以我用谷歌搜索并在维基百科上搜索过它,并且我(通常)知道它是如何工作的,具有自由度,以及该函数如何使用多项式(通常是三阶)来生成曲线的缺失部分。

如果我有一个包含 20 个数字的数组,并且 8 - 12 将丢失(零):

4 5 2 3 5 4 3 0 0 0 0 0 4 5 2 4 3 5 4 3

该函数如何确定哪些数字适合其中?它是在数据上移动的特定宽度的窗口,如处理 [1-5]、[2-6]、[3-7] 等?还是它使用缺失数据左右的 2 或 3 个数字?

我不是在寻找数学解释,我只是想知道它是如何发挥作用的 :)