![]() |
Bsoft 2.1.4
Bernard's software package
|
Functions to calculate spline curves. More...
Functions | |
Vector3< double > | vector3_catmull_rom_interpolate (Vector3< double > *pnt, double t) |
Vector3< double > * | vector3_catmull_rom_spline (long ncoord, Vector3< double > *coords, long &nspline) |
Calculates a 2D/3D spline curve using the Catmull-Rom algorithm. More... | |
double | tps_base_func (double r) |
vector< double > | thin_plate_splines (vector< Vector3< double > > points, double lambda) |
double | tps_interpolate (Vector3< double > &loc, vector< Vector3< double > > points, vector< double > w) |
Variables | |
int | verbose |
Functions to calculate spline curves.
vector< double > thin_plate_splines | ( | vector< Vector3< double > > | points, |
double | lambda | ||
) |
double tps_base_func | ( | double | r | ) |
double tps_interpolate | ( | Vector3< double > & | loc, |
vector< Vector3< double > > | points, | ||
vector< double > | w | ||
) |
Vector3< double > * vector3_catmull_rom_spline | ( | long | ncoord, |
Vector3< double > * | coords, | ||
long & | nspline | ||
) |
Calculates a 2D/3D spline curve using the Catmull-Rom algorithm.
ncoord | number of coordinates. |
*coords | node or point coordinates. |
&nspline | pointer to number of values in spline curve. |
A Catmull-Rom spline curve is defined for 4 points {p0,p1,p2,p3} by: spline = 0.5*(-t*(1-t)^2)*p0 + (2-5*t^2+3*t^3)*p1 + t*(1+4*t-3*t^2)*p2 - t^2*(1-t)*p3 where 0 <= t <= 1 is the fractional distance between points p1 and p2. Each dimension is interpolated separately. The end segments of the spline are defined as straight lines.
|
extern |