| Bsoft 2.0.5 Bernard's software package

Functions | Variables
spline.cpp File Reference

Functions to calculate spline curves. More...

`#include "Vector3.h"`
`#include "utilities.h"`

Go to the source code of this file.

## 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 | catmull_rom_interpolate (double *pnt, double t)

## Variables
int | verbose

## Detailed Description

Functions to calculate spline curves.

Author
  Bernard Heymann

Date
  Created: 20020808
  Modified: 20151023

Definition in file spline.cpp.

## Function Documentation

## ◆ catmull_rom_interpolate()

double catmull_rom_interpolate | ( | double * | pnt,
|  | double | t
| ) |  |

Definition at line 73 of file spline.cpp.

## ◆ vector3_catmull_rom_interpolate()

Vector3< double > vector3_catmull_rom_interpolate | ( | Vector3< double > * | pnt,
|  | double | t
| ) |  |

Definition at line 86 of file spline.cpp.

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

## Variable Documentation

## ◆ verbose

int verbose