| 
    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 |