c#中的三线性插值
Trilinear Interpolation in C#
我需要在c#中制作三线性插值,我一直在搜索,我在c++中找到了一个例子。
示例在这里:http://www.siafoo.net/snippet/33,但它是在c++中。
我需要在c#或Someboy谁可以翻译代码到c#的例子,因为我已经尝试过,我不知道。
这是一个很接近的音译,所以你可以理解,但它显然不是好的c#代码。
public static class Interpolator
{
public static double Linear(double target, params double[] values)
{
return target * values[0] + (1.0 - target) * values[1];
}
public static double Bilinear(double[] target, params double[] values)
{
var prime = new[]
{
Linear(target[1], values),
Linear(target[1], values.Skip(2).Take(2).ToArray())
};
return Linear(target[0], prime);
}
public static double Trilinear(double[] target, params double[] values)
{
var prime = new[]
{
Bilinear(target, values),
Bilinear(target.Skip(1).ToArray(), values.Skip(4).ToArray())
};
return Linear(target[2], prime);
}
}
注意:由于c#有泛型而没有模板,因此不可能将此代码泛化为类型T。c++编译器可以在运行时检查类型T是否实现了所需的操作符,但没有c#类型约束允许您仅将数字类型替换为T。由于编译器无法解析操作符,因此此处不可能使用泛型。相关文章:
- 如何线性插值到不恒定的目的地
- 双线性插值实现的错误
- 如何避免线性插值"trap"?
- 是否有机会更快地使双线性插值
- 更快的双线性插值方法
- 如何加快图像的双线性插值
- 极慢的双线性插值(与OpenCV相比)
- 通过访问二维数组实现双线性插值的概念类似于一维数组
- C++,双线性插值以修补放大的位图图像上的孔
- 使用c/awk/shell对二维数据进行双线性插值
- 图像失真与正弦双线性插值c++
- 比如果其他更好的方式..用于线性插值
- 使用 lerp 在两个图像之间执行线性插值
- 音频从 44100 上采样到 96000 Hz 和线性插值
- 鱼眼滤波器上的双线性插值
- 3D 空间中三个 3D 点的线性插值
- 如何在线性插值中找到坏点
- 如何从一个变形的立方体得到比率为三线性插值
- 线性插值更线性
- c#中的三线性插值