JSPM

cubic-hermite-spline

1.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 40207
  • Score
    100M100P100Q273944F
  • License MIT

Cubic Hermite spline interpolation

Package Exports

  • cubic-hermite-spline

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (cubic-hermite-spline) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

cubic-hermite-spline

Cubic Hermite spline interpolation

Cubic Hermite spline interpolation of points / tangeants in any dimension with optional derivative computation. The interpolator can also take a knot-like vector as an optional parameter, which may be useful to enforce time at control points when used for position / velocity interpolation.

Install

$ npm install cubic-hermite-spline

Example

Basic usage

var hermite = require('cubic-hermite-spline');

var points = [
  [-1, 0],
  [ 0, 0],
  [ 1, 0]
];

var tangents = [
  [1, 1],
  [0, 1],
  [1, 1]
];

for(var t=0; t<1; t+=0.01) {
  var point = hermite(t, points, tangents);
  var tangent = hermite(t, points, tangents, null, true);
}

With a knot vector

var hermite = require('cubic-hermite-spline');

var points = [
  [-1, 0],
  [ 0, 0],
  [ 1, 0]
];

var tangents = [
  [1, 1],
  [0, 1],
  [1, 1]
];

var knots = [
  0, 1.5, 2
];

for(var t=0; t<1; t+=0.01) {
  var point = hermite(t, points, tangents);
  var tangent = hermite(t, points, tangents, knots, true);
}

Usage

hermite(t, points, tangents[, knots, derivative, result])

Computes the interpolation at t for the provided set of points and tangents, and optional knots.

  • t position along the curve: in the [0, 1] range for regular use, and [0, last-knot-value] when using knots
  • points vectors to interpolate
  • tangents tangents at provided points
  • knots enforced values of t at provided points
  • derivative if true return the tangeant at t instead of the position
  • result preallocated array in which the result will be stored (avoid GC)

Returns the interpolated vector