问题标签 [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.
python - 数据存储以简化 Python 中的数据插值
我有 20 多个类似于表 1 的表。所有字母都代表实际值。
例如,用户输入可以是 (2.4, 24594),它是 f、g、j 和 k 之间的值。我的 Python 函数定义和计算这个双线性插值的伪代码如下。
我应该如何存储表 1 中的数据(文件、字典、元组的元组或列表的字典),以便我可以最有效和正确地执行双线性插值?
echo - 在 tcsh 中回显嵌套引号
我有一个生成文本文件的 tcsh 脚本。文本文件中的一行是:
请注意嵌套的'
and"
以及必须存在的:
and 。;
:
and要求整个;
字符串用引号引起来。但是,如果我这样做,我将无法转义引号。
命令是:
我怎样才能避开引号,bar bar bar
以便正确打印它们?
opengl - OpenGL GLSL 插值
我尝试使用 GLSL 在 OpenGL 中实现点光源。我将所有需要的数据发送到着色器。为简单起见,我在这里只使用漫反射光。
我的示例显示了一个巨大的三角形,我想用一个光源照亮它。光源显示为一个蓝色的小三角形。
对于漫射光,我需要知道光与表面之间的角度。因此,我计算法线和光线的方向。然后点积会给我一个介于 -1 和 1 之间的数字,而 0 和 1 之间的所有内容都会被照亮。
但是,在这里我被卡住了,因为在我的示例中这个角度计算不正确。由于很难调试着色器,我使用了几个输出作为我的表面颜色。我使用法线作为三角形的颜色,无论光线在哪里,表面总是绿色。也就是说,法线指向 y 轴,因此它们被正确计算。也就是说,光的方向一定是错误的。但是,我找不到错误的原因。光的位置和顶点的位置在世界空间中传递给顶点着色器,然后将它们转换到眼睛空间,计算光的方向并将其传递给片段着色器:
顶点着色器:
片段着色器:
我已经附上了这个例子的一些图片,这些图片肯定表明插值真的很奇怪。我知道想知道我粘贴的代码是否正确,或者您是否需要了解更多代码。此外,这种插值行为是正常的还是我的代码中的错误?
http://img41.imageshack.us/img41/3566/interpolation.png http://img189.imageshack.us/img189/3566/interpolation.png
特别是第一张图片显示,灯的中心点不是直接在灯下,而是稍微移动到三角形的中心。
如果我将“pos”传递给片段着色器(即,它被插值)然后在片段着色器中计算“lightDir”,一切正常。
apache-flex - 用于不可微函数的样条?
我有一个有时在某一点上不可微分的函数。当我现在使用样条曲线(degrafa 中的 Bezierspline)进行插值时,此时的插值不能按预期工作(此时我的函数有扭结)。现在,当用样条插值时,它会围绕该点绘制某种循环。我认为发生这种情况是因为样条曲线需要函数的导数,这在这一点上不是唯一的。
是对的吗?在这种情况下,你会建议我怎么做?
提前致谢
塞巴斯蒂安
python - SciPy 中的插值:找到产生 Y 的 X
有没有更好的方法来找到哪个X给了我我在 SciPy 中寻找的Y ?我刚开始使用 SciPy,对每个功能都不太熟悉。
opengl - 在 OpenGL 中绘制 Hermite 曲线
如何使用 OpenGL 绘制 Hermite 曲线,有内置函数吗?我在网上看到了一些示例,这些示例展示了如何使用评估器绘制贝塞尔曲线,但找不到任何有关 Hermite 曲线的信息。
fortran - 我想知道以下 FORTRAN 77 代码的作用
在 .f 文件中有执行此操作的代码:
Bob 看起来是一个函数,但它在文件的开头被声明为一个实数。
然后是一个引用 Bob 的 .d 文件。我也知道 avar 持有一个看起来是插值的值,问题是插值并不总是正确的。
这都是遗留代码。我没有写。我正在尝试修复它。我的问题包括以下内容:
这是在做什么以及如何做的?什么是 .d 文件?
我认为它正在尝试进行插值,但我认为您不能(以这种方式)用 FORTRAN 77 做到这一点。
excel - 在 Excel 中插入数据点
我敢肯定这是其他人以前解决过很多次的问题。
一组人将进行测量(准确地说是家庭能源使用情况)。他们都将在不同的时间和不同的时间间隔这样做。
所以我将从每个人那里得到一组 {date, value} 对,其中缺少日期。
我需要的是一套完整的 {date, value} 对,其中对于范围内的每个日期,一个值是已知的(测量的或计算的)。我希望这个项目一个简单的线性插值就足够了。
如果我假设它必须在 Excel 中完成。在这样的数据集中进行插值的最佳方法是什么(所以我每天都有一个值)?
谢谢。
注意:当这些数据集完成后,我将确定斜率(即每天的使用量),然后我们可以开始进行家庭到家庭的比较。
附加信息 在最初的几个建议之后:我不想手动找出我的测量集中的孔在哪里(太多不完整的测量集!!)。我正在寻找一些(现有的)自动为我做的事情。所以如果我的输入是
然后我希望自动得到
是的,我可以编写执行此操作的软件。我只是希望有人已经为这个(相当通用的)问题提供了“准备运行”的软件(Excel)功能。
algorithm - 有谁知道如何进行“逆”三线性插值?
三线性插值使用立方体顶点处的值来近似立方体内点 (x, y, z) 的值。我正在尝试做一个“逆”三线性插值。知道立方体顶点的值和附加到点的值如何找到(x,y,z)?任何帮助将不胜感激。谢谢!
audio - How do you do bicubic (or other non-linear) interpolation of re-sampled audio data?
I'm writing some code that plays back WAV files at different speeds, so that the wave is either slower and lower-pitched, or faster and higher-pitched. I'm currently using simple linear interpolation, like so:
This works fine, but it tends to sound OK only when I lower the frequency of the playback (i.e. slow it down). If I raise the pitch on playback, this method tends to produce high-frequency artifacts, presumably because of the loss of sample information.
I know that bicubic and other interpolation methods resample using more than just the two nearest sample values as in my code example, but I can't find any good code samples (C# preferably) that I could plug in to replace my linear interpolation method here.
Does anyone know of any good examples, or can anyone write a simple bicubic interpolation method? I'll bounty this if I have to. :)
Update: here are a couple of C# implementations of interpolation methods (thanks to Donnie DeBoer for the first one and nosredna for the second):
In these functions, x1 is the sample value ahead of the point you're trying to estimate and x2 is the sample value after your point. x0 is left of x1, and x3 is right of x2. t goes from 0 to 1 and is the distance between the point you're estimating and the x1 point.
The Hermite method seems to work pretty well, and appears to reduce the noise somewhat. More importantly it seems to sound better when the wave is sped up.