设zarr在网格点(i,j)处为z。
int kml_float_spline2d_set(const kml_float_spline2d *spline, float zarr[], const size_t i, const size_t j, const float z)
int kml_double_spline2d_set(const kml_double_spline2d *spline, double zarr[], const size_t i, const size_t j,
const double z);
参数名 |
类型 |
描述 |
输入/输出 |
---|---|---|---|
spline |
kml_float_spline2d*, kml_double_spline2d* |
插值对象指针。 |
输入 |
zarr |
float, double |
存有z值的数组。 |
输出 |
i |
size_t |
x方向的index。 |
输入 |
j |
size_t |
y方向的index。 |
输入 |
z |
float |
要改变的z值。 |
输入 |
#include "kipl.h"
const size_t xSize = 4; const size_t ySize = 4; float xArr[4] = {1,1.33,1.67,2}; float yArr[4] = {1,1.33,1.67,2}; float* zArr = (float*)malloc(xSize * ySize * sizeof(float)); float x = 1; float y = 1; float z = 0; kml_float_spline2d *spline = kml_float_spline2d_alloc(kml_float_interp2d_bicubic, xSize, ySize); kml_float_spline2d_init(spline, xArr, yArr, zArr, xSize, ySize); kml_float_spline2d_eval(interp, xArr, yArr, zArr, x, y, xacc, yacc, &z); kml_float_spline2d_set(interp, zArr, x, y, z);