Interpolation Functions

In this section:

 

vxCubicInterp()

vxLinearInterp()

vxInterp2D()

vxInterp3D()

vxInterp3DRBF()

vxOutDist2D()

vxOutDist3D()

vxXYZtoUniformMesh()

 

 

DESCRIPTION

ViXL3D.DLL

ViXL3D.XLL

Cubic Interpolation of 2D Data

Cubic interpolation of a 2D data table. Given equal size vectors KnownX and KnownY, and a separate vector DesiredX of arbitrary size, returns the unknown Y values for each of the desired X values. Populates the vector ResultsY of equal size to DesiredX.

ViXL_DLL_API int _vxCubicInterp(

   const vector<double> &KnownX,

   const vector<double> &KnownY,

   const vector<double> &DesiredX,

   vector<double> &ResultsY

);

 

Populates the vector ResultsY, of equal size to DesiredX, with the unknown Y values.

vxCubicInterp(const Matrix &_KnownX,

              const Matrix &_KnownY,

              const Matrix &_DesiredX

);

 

KnownX = n rows x 1 column

KnownY = n rows x 1 column

DesiredX = j rows x 1 column

 

Returns unknown Y values for DesiredX values as j rows x 1 column.

 

Linear Interpolation of 2D Data

Linear interpolation of a 2D data table. Given equal size vectors KnownX and KnownY, and a separate vector DesiredX of arbitrary size, returns the unknown Y values for each of the desired X values. Populates the vector ResultsY of equal size to DesiredX.

ViXL_DLL_API int _vxLinearInterp(

   const vector<double> &KnownX,

   const vector<double> &KnownY,

   const vector<double> &DesiredX,

   vector<double> &ResultsY

);

 

Populates the vector ResultsY, of equal size to DesiredX, with the unknown Y values.

vxLinearInterp(const Matrix &_KnownX,

               const Matrix &_KnownY,

               const Matrix &_DesiredX

);

 

KnownX = n rows x 1 column

KnownY = n rows x 1 column

DesiredX = j rows x 1 column

 

Returns unknown Y values for DesiredX values as j rows x 1 column.

 

Interpolate 2D Points with Values

Interpolate 2D points with arbitrary values. Given a non-uniform distribution of 2D points KnownPoints, each representing a unique set of one or more values KnownValues, return the unknown values for each desired point as vector DesiredPoints. Populates the array Results, of rows equal to KnownValues and length equal to DesiredPoints. Points lying outside boundary are mapped to nearest in-boundary neighbor if Remap is true.

 

ViXL_DLL_API int _vxInterp2D(

   const vector<C2DPoint> &KnownPoints,

   const vector<C2DPoint> &KnownValues,

   const vector<C2DPoint> &DesiredPoints,

   vector<bool> &RemapPoints,

   vector<vector<double>> &Results

);

 

Populates the array Results, of rows equal to KnownValues and length equal to DesiredPoints. Points lying outside the boundary are mapped to nearest in-boundary neighbor if RemapPoints is true.

 

vxInterp2D(const Matrix &_KnownPoints,

           const Matrix &_KnownValues,

           const Matrix &_DesiredPoints,

           XlfOper &_RemapPoints

);

 

KnownPoints = n rows x 2 columns

KnownValues = n rows x j >= 1 columns

DesiredPoints = k rows x 2 columns

RemapPoints = k rows x 1 column (Boolean)

 

Returns an array of k rows x j columns, values associated with desired 2D points.

 

Interpolate 3D Points with Values

Interpolate 3D points with arbitrary values. Given a non-uniform distribution of 3D points KnownPoints, each representing a unique set of one or more values KnownValues, return the unknown values for each desired point as vector DesiredPoints. Populates the array Results, of rows equal to KnownValues and length equal to DesiredPoints. Points lying outside boundary are mapped to nearest in-boundary neighbor if Remap is true.

 

ViXL_DLL_API int _vxInterp3D(

   const vector<C3DPoint> &KnownPoints,

   const vector<C3DPoint> &KnownValues,

   const vector<C3DPoint> &DesiredPoints,

   vector<bool> &RemapPoints,

   vector<vector<double>> &Results

);

 

Populates the array Results, of rows equal to KnownValues and length equal to DesiredPoints. Points lying outside the boundary are mapped to nearest in-boundary neighbor if RemapPoints is true.

 

vxInterp3D(const Matrix &_KnownPoints,

           const Matrix &_KnownValues,

           const Matrix &_DesiredPoints,

           XlfOper &_RemapPoints

);

 

KnownPoints = n rows x 3 columns

KnownValues = n rows x j >= 1 columns

DesiredPoints = k rows x 3 columns

RemapPoints = k rows x 1 column (Boolean)

 

Returns an array of k rows x j columns, values associated with desired 3D points.

 

Interpolate 3D Points Using RBF

Interpolate 3D points with arbitrary values using Radial Basis Function. Given a non-uniform distribution of 3D points KnownPoints, each representing a unique set of one or more values KnownValues, return the unknown values for each desired point as vector DesiredPoints. Populates the array Results, of rows equal to KnownValues and length equal to DesiredPoints. Points lying outside boundary are mapped to nearest in-boundary neighbor if Remap is true.

 

ViXL_DLL_API int _vxInterp3D(

   const vector<C3DPoint> &KnownPoints,

   const vector<C3DPoint> &KnownValues,

   const vector<C3DPoint> &DesiredPoints,

   vector<bool> &RemapPoints,

   vector<vector<double>> &Results

);

 

Populates the array Results, of rows equal to KnownValues and length equal to DesiredPoints. Points lying outside the boundary are mapped to nearest in-boundary neighbor if RemapPoints is true.

 

vxInterp3DRBF(const Matrix &_KnownPoints,

              const Matrix &_KnownValues,

              const Matrix &_DesiredPoints,

              XlfOper &_RemapPoints

);

 

KnownPoints = n rows x 3 columns

KnownValues = n rows x j >= 1 columns

DesiredPoints = k rows x 3 columns

RemapPoints = k rows x 1 column (Boolean)

 

Returns an array of k rows x j columns, values associated with desired 3D points.

 

Find Distance Beyond 2D Boundary

Determines the relative distance of a vector of points TestPoints, that fall out-side the convex hull boundary surrounding a distribution of 2D points KnownPoints. Populates the vector Results, equal in size to TestPoints, where 0 = in-boundary and values > 0 represent the relative distance beyond the boundary.

 

ViXL_DLL_API int _vxOutDist2D(

   const vector<C2DPoint> &KnownPoints,

   const vector<C2DPoint> &TestPoints,

   vector<vector<double>> &Results

);

 

Populates the vector Results, equal in size to TestPoints, where 0 = in-boundary and values > 0 represent the relative distance beyond the boundary.

 

vxOutDist2D(const Matrix &_KnownPoints,

            const Matrix &_TestPoints

);

 

KnownPoints = n rows x 2 columns

TestPoints = j rows x 2 columns

 

Returns a vector of j rows x 1 column where 0 = in-boundary, and > 0 represents the relative distance beyond the hull boundary.

 

Find Distance Beyond 3D Boundary

Determines the relative distance of a vector of points TestPoints, that fall out-side the convex hull boundary surrounding a distribution of 3D points KnownPoints. Populates the vector Results, equal in size to TestPoints, where 0 = in-boundary and values > 0 represent the relative distance beyond the boundary.

 

ViXL_DLL_API int _vxOutDist3D(

   const vector<C3DPoint> &KnownPoints,

   const vector<C3DPoint> &TestPoints,

   vector<vector<double>> &Results

);

 

Populates the vector Results, equal in size to TestPoints, where 0 = in-boundary and values > 0 represent the relative distance beyond the boundary.

 

vxOutDist3D(const Matrix &_KnownPoints,

            const Matrix &_TestPoints

);

 

KnownPoints = n rows x 3 columns

TestPoints = j rows x 3 columns

 

Returns a vector of j rows x 1 column where 0 = in-boundary, and > 0 represents the relative distance beyond the hull boundary.

Convert XYZ Points to 3D Height Map

Convert table of XYZ points KnownPoints, to a 3D height map where Z = height; parameters Xn and Yn define the size of the height map. Populates the vector PointsXY, a height map produced from the table of XYZ points, KnownPoints.

ViXL_DLL_API int _vxXYZtoUniformMesh(

   const vector<C3DPoint> & KnownPoints,

   int Xn,

   int Yn,

   double Zscale,

   vector<vector<double>> &PointsXY

);

 

Populates the vector PointsXY, a height map produced from the table of XYZ points, KnownPoints.

 

vxXYZtoUniformMesh(

   const Matrix &_ PointsXY,

   int _Xn,

   int _Yn,

   double _Zscale,

);

 

KnownPoints = n rows x 3 columns

Xn, Yn = 1 cell (float)

 

Returns the height map produced from the table of XYZ points.

 

 

 

Return to Function Reference

 

Return to Viewer Controls Overview