2个版本

0.1.2 2020年10月28日
0.1.1 2020年10月27日
0.1.0 2020年10月27日

#1261 in 数学


makima_spline中使用

MIT许可证

11KB
200

bicubic

双三次插值的基础

此项目提供了双三次插值的基础。它旨在允许任何类型的插值。
如果您需要现成的工具,请查看makima_spline::n_dimensional

如何使用

use bicubic;

创建数据

// x coordinates
let x = vec![-2.5, 0.0, 1.5];
// y coordinates
let y = vec![-4.5, 3.2];
// the value at (x,y) or z if that's how you see it
let f = vec![12.4, 1.45, 1.33, 13.4, 13.2, 6.];

// for simplicity, the next values are zero (the values depend on the type of interpolation used)
// first derivative along x direction for each point
let fx = vec![0.0; f.len()];
// first derivative along y direction for each point
let fy = vec![0.0; f.len()];
// cross derivative (untested)
let fxy = vec![0.0; f.len()];

以下图片显示了数据的布局。fx, fy, & fxy与f的放置方式相同

注意:x & y需要按升序排序。确保在排序时f值也会交换索引

从数据构建双三次结构体

let bci = bicubic::from_vec(&x, &y, &f, &fx, &fy, &fxy);

为了采样,请这样做

let z = bci.sample(x, y);

无运行时依赖项