Multilinear interplation for ndarrays
npm install ndarray-linear-interpolatendarray-linear-interpolate
==========================
Multilinear (ie bilinear/trilinear) interpolation for ndarrays.
Example
=======
``javascript
var ndarray = require("ndarray")
var interp = require("ndarray-linear-interpolate")
var x = ndarray(new Float32Array(9), [3, 3])
x.set(1, 1, 1.0)
for(var u=0.0, u<=3.0; u+=0.25) {
var row = []
for(var v=0.0; v<=3.0; v+=0.25) {
row.push(interp(x, u, v))
}
console.log(row.join(" "))
}
//Prints out:
//
// 0 0 0 0 0 0 0 0 0 0 0 0 0
// 0 0.0625 0.125 0.1875 0.25 0.1875 0.125 0.0625 0 0 0 0 0
// 0 0.125 0.25 0.375 0.5 0.375 0.25 0.125 0 0 0 0 0
// 0 0.1875 0.375 0.5625 0.75 0.5625 0.375 0.1875 0 0 0 0 0
// 0 0.25 0.5 0.75 1 0.75 0.5 0.25 0 0 0 0 0
// 0 0.1875 0.375 0.5625 0.75 0.5625 0.375 0.1875 0 0 0 0 0
// 0 0.125 0.25 0.375 0.5 0.375 0.25 0.125 0 0 0 0 0
// 0 0.0625 0.125 0.1875 0.25 0.1875 0.125 0.0625 0 0 0 0 0
// 0 0 0 0 0 0 0 0 0 0 0 0 0
// 0 0 0 0 0 0 0 0 0 0 0 0 0
// 0 0 0 0 0 0 0 0 0 0 0 0 0
// 0 0 0 0 0 0 0 0 0 0 0 0 0
// 0 0 0 0 0 0 0 0 0 0 0 0 0
//
`
npm install ndarray-linear-interpolate
* array the array to interpolate fromx, y, z...
* the coordinate to evaluate the interpolated grid at
Returns The multilinearly interpolated value
Note To avoid the overhead of variable arguments, special interfaces are available for 1, 2 and 3 dimensions. You can access these using:
* require("ndarray-linear-interpolate").d1require("ndarray-linear-interpolate").d2
* require("ndarray-linear-interpolate").d3`
*