interp.h
- Author
Zhu Dengda (zhudengda@mail.iggcas.ac.cn)
- Date
2023-03
Functions
-
MYREAL trilinear_one_ravel(const double *x, MYINT nx, const double *y, MYINT ny, const double *z, MYINT nz, MYINT nyz, const MYREAL *values, double xi, double yi, double zi, double *pdiffx, double *pdiffy, double *pdiffz, MYINT IXYZ[6], double WGHT[2][2][2])
将三维数据展平进行三次线性插值
- 参数:
x – (in)x方向坐标数组
nx – (in)x长度
y – (in)y方向坐标
ny – (in)y长度
z – (in)z方向坐标
nz – (in)z长度
nyz – (in)ny*nz
values – (in)展平的三维数据数组
xi – (in)待插值的x坐标
yi – (in)待插值的y坐标
zi – (in)待插值的z坐标
pdiffx – (out)非NULL时,插值x方向梯度
pdiffy – (out)非NULL时,插值y方向梯度
pdiffz – (out)非NULL时,插值z方向梯度
IXYZ – (out)非NULL时,(xi,yi,zi)所在的索引坐标(i,i+1,j,j+1,k,k+1)
WGHT – (out)非NULL时,8个插值权重
- 返回:
插值结果
-
void trilinear_one_fac(const double *x, MYINT nx, const double *y, MYINT ny, const double *z, MYINT nz, double xi, double yi, double zi, MYINT IXYZ[6], double WGHT[2][2][2])
计算三次线性插值的索引和权重
- 参数:
x – (in)x方向坐标数组
nx – (in)x长度
y – (in)y方向坐标
ny – (in)y长度
z – (in)z方向坐标
nz – (in)z长度
xi – (in)待插值的x坐标
yi – (in)待插值的y坐标
zi – (in)待插值的z坐标
IXYZ – (out)非NULL时,(xi,yi,zi)所在的索引坐标(i,i+1,j,j+1,k,k+1)
WGHT – (out)非NULL时,8个插值权重
-
MYREAL trilinear_one_Idx_ravel(const MYINT IXYZ[6], const double WGHT[2][2][2], const MYREAL *values, MYINT nx, MYINT ny, MYINT nz, MYINT nyz, double *pdiffx, double *pdiffy, double *pdiffz)
在已知索引和权重的情况下做三次线性插值
- 参数:
IXYZ – (in)(xi,yi,zi)所在的索引坐标(i,i+1,j,j+1,k,k+1)
WGHT – (in)8个插值权重
values – (in)展平的三维数据数组
nx – (in)x长度
ny – (in)y长度
nz – (in)z长度
nyz – (in)ny*nz
pdiffx – (out)非NULL时,插值x方向梯度
pdiffy – (out)非NULL时,插值y方向梯度
pdiffz – (out)非NULL时,插值z方向梯度
- 返回:
插值结果