2个版本
0.1.2 | 2020年10月28日 |
---|---|
0.1.1 | 2020年10月27日 |
0.1.0 |
|
#1261 in 数学
在makima_spline中使用
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);