问题标签 [linear-interpolation]

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 投票
5 回答
2751 浏览

c - 直接数字合成中的线性插值

我正在使用 C 语言开发一个微控制器 DDS 项目,并且在弄清楚如何计算线性插值以平滑输出值时遇到了一些麻烦。现在的程序
使用 24 位累加器的前 8 位作为 8 位输出值数组的索引。我需要想出一个函数,它将获取累加器的中字节和低字节,并在数组中的“上一个”和“下一个”值之间生成一个值。这在快速硬件上已经足够简单了,但是由于我使用的是微控制器,所以我真的需要避免进行任何浮点运算或除法!

有了这些限制,我不确定从我的两个 8 位输入数字和累加器的低 2 个字节中获取 8 位内插值的方法,它代表两个输入值之间的“距离”。提前感谢您的任何建议!

澄清

DDS = 直接数字合成

在 DDS 中,波形是使用相位累加器从查找表中生成的。相位累加器通常包含一个整数分量和一个小数分量。整数部分用作查找表的索引。在简单的 DDS 实现中,小数部分被忽略,但为了获得更高质量的输出,小数部分用于在相邻查找表值之间进行插值(通常只是线性插值)。对于上述问题,我们正在研究如何有效地在给定分数 f 的两个查找表值之间执行这种线性插值,其中0 <= f < 1

0 投票
5 回答
9389 浏览

colors - RGB 24 到 16 位颜色转换 - 颜色变暗

我注意到我在 RGB888 24 位到 16 位 RGB565 之间转换的例程导致每次转换时颜色逐渐变暗......公式使用线性插值......

从 16 位到 24 位的转换是相似的,但使用反向插值......我不明白每次颜色在等式中循环时,如果它们是相反的,值是如何越来越低的......原来有没有加倍,但我想如果我把它做成一个浮点除法,它就不会有衰减......但它仍然......

0 投票
1 回答
973 浏览

interpolation - 如何在 Visual Basic 数组中进行值插值?

你好

如果存在具有特定粗糙度(知道轮廓间隔)的均匀地形,如果特定点周围的网格已知,如何执行插值?

例如,如果起始标高为 105m,等高线间距为 0.2m。此外,如果 7x7 的网格可用(这是 VB 中的数组,TERR(6,6))。如果 105 的位置在 TERR(4,3) 中,那么它周围的其他值应该减少 0.2 的值,它看起来像这样:

104.2 104.2 104.2 104.2 104.2 104.2 104.2

104.4 104.4 104.4 104.4 104.4 104.4 104.4

104.4 104.6 104.6 104.6 104.6 104.6 104.4

104.4 104.6 104.8 104.8 104.8 104.6 104.4

104.4 104.6 104.8 105 104.8 104.6 104.4

104.4 104.6 104.8 104.8 104.8 104.6 104.4

104.4 104.6 104.6 104.6 104.6 104.6 104.4

数组中数字的分布会因改变起始标高的位置和数组(网格)的大小而变化。

我发现了很多文章和插值方法(邻域法、三次法、双线性法……等),但没有人足够接近这个问题。

谢谢!

0 投票
7 回答
70085 浏览

c - 浮点线性插值

要在两个变量之间进行线性插值ab给定一个分数f,我目前正在使用以下代码:

我认为可能有一种更有效的方法。我使用的是没有 FPU 的微控制器,所以浮点运算是在软件中完成的。它们相当快,但它仍然需要 100 个周期才能相加或相乘。

有什么建议么?

nb 为了清楚上面代码中的等式,我们可以省略指定1.0为显式浮点文字。

0 投票
2 回答
10119 浏览

javascript - 在 2d 环境中以百分比增量将对象从向量 A 移动到 B

我知道向量 A 和 B 的坐标。如何计算这两个向量之间的第一个点?第一个向量 X 是向量 A 和 B 之间距离的 1%。所以首先我将向量 A 中的对象移动到向量 B 1%。所以我需要计算向量 X,它是对象的新向量,直到它到达向量 B .

0 投票
0 回答
9975 浏览

image-manipulation - 使用双线性插值的图像下采样和上采样

我试图了解如何使用双线性插值对我拥有的 2D 图像进行上采样和下采样。现在我知道双线性插值是如何使用 2x2 邻域值来使用权重对这个 2x2 区域内的数据点进行插值的。但我不知道的是,下面会问。我的目标和具体查询是 -

1.首先,我有一个值的 2D 图像(大小 MxN)。此图像的宽度(M)和高度(N)不是固定的,但会因情况而异。这个 2D 图像需要使用双线性插值下采样到大小为 PxQ 的网格(P 和 Q 将被配置为输入参数),例如让 PxQ 为 8x8。并假设输入二维数组图像的大小为 200x100。即 200 列,100 行。

现在,在使用此 200x100 图像的双线性插值执行下采样时,我应该首先获得大小为 100x50 的下采样图像(使用双线性插值在两个维度上下采样 2);然后是 50x25 图像(再次通过在两个维度上进行 2 下采样),然后是 25x12 图像,然后是 12x12(这次通过线性(不是双线性!)仅沿行插值进行下采样,最后删除一些像素以获得 8x8 . 任何指向精确算法或实现此目的的不同方法的指针,都值得赞赏。

2.上述问题提出了另一个问题 - 如何使用双线性插值通过非整数比例因子进行下采样,例如如何从 8x8 图像阵列变为 6x2 图像,其中两个维度的重采样/缩放因子都不是整数。

3.然后,当我得到一个 8x8 大小的图像时,我需要通过双线性插值将其上采样到与我开始使用的原始大小相同的原始大小 - MxN。如果我需要从 8x8 变为 20x20。它如何在一行中的点之间进行插值,并通过某种方式插入一整行。同样,在非整数比例因子的情况下,如何进行双线性插值进行上采样。确切的步骤。

最后我需要在 C 中实现它。

我尝试通过采用不同的示例来可视化这些特定问题,但没有清楚地了解这种双线性插值在下采样和上采样时是如何发生的。我所拥有的只是在我的办公桌上有大量带有“点和交叉”图片的纸张,但仍然没有明确的解决方案!

任何详细的阅读材料,书籍赞赏。

0 投票
3 回答
25422 浏览

sql - Best way to interpolate values in SQL

I have a table with rate at certain date :

I want to get the output rate base on a simple linear interpolation.

So if I enter 17/06/2011:

the linear interpolation is (5 + 2,4) / 2 = 3,7

Is there a way to do a simple query (SQL Server 2005), or this kind of stuff need to be done in a programmatic way (C#...) ?

0 投票
1 回答
223 浏览

math - 线性插值雾(正确算法)?

因此,我将线性插值应用于雾的粗略想法源于 Wikipedia 文章并启发了这一点:

不幸的是,公式不正确。这个公式的修正版本是什么?

0 投票
3 回答
18873 浏览

c - How to build a lookup table in C (SDCC compiler) with linear interpolation

For a LPC922 microcontroller (with SDCC) I want to create a lookup table with linear interpolation. Lets assume I got x and y values like

How can the code for a lookup table with linear interpolation look like, so I get for example for x=850 the right value for y ((171,453+126,452)/2)?

0 投票
2 回答
5208 浏览

android - 旋转动画速度

我希望我的动画只旋转一圈。每次我调整持续时间时,它都会以相同的速度旋转更长/更慢。我哪里错了?