| Bsoft 2.0.5 Bernard's software package

Functions
spline.h File Reference

Header file for spline interpolation. More...

`#include "Vector3.h"`

Go to the source code of this file.

## Functions
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...

## Detailed Description

Header file for spline interpolation.

Author
  Bernard Heymann

Date
  Created: 20020808
  Modified: 20151023

Definition in file spline.h.

## Function Documentation

## ◆ vector3_catmull_rom_spline()

Vector3<double>* vector3_catmull_rom_spline | ( | long | ncoord,
|  | Vector3< double > * | coords,
|  | long & | nspline
| ) |  |

Calculates a 2D/3D spline curve using the Catmull-Rom algorithm.

Parameters

  ncoord | number of coordinates.
  *coords | node or point coordinates.
  &nspline | pointer to number of values in spline curve.

Returns
  Vector3<double>* 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.

Definition at line 33 of file spline.cpp.