chaikin-smooth

Chaikin's smoothing algorithm for 2D polylines

Showing:

Popularity

Downloads/wk

299

GitHub Stars

75

Maintenance

Last Commit

7yrs ago

Contributors

0

Package

Dependencies

1

Size (min+gzip)

0.3KB

License

MIT

Type Definitions

Tree-Shakeable

No?

Categories

Readme

chaikin-smooth

stable

Chaikin's smoothing algorithm for 2D polylines.

var smooth = require('chaikin-smooth')

var path = [ [0, 0], [25, 25], [13, 13] ]
var smoothedPath = smooth(path)

The result will be:

[ [ 0, 0 ],
  [ 6.25, 6.25 ],
  [ 18.75, 18.75 ],
  [ 22, 22 ],
  [ 16, 16 ],
  [ 13, 13 ] ]

Usage

NPM

smooth(path[, output])

Performs the smoothing algorithm on the specified path, returning a list populated with the additional smoothed points. If the input path has a length of <= 2, the result will be a new array with the same points as the input.

If output is provided, it will push the points onto the specified path instead of creating a new one. This is useful to build a smooth polyline out of several inputs, or to re-use arrays to avoid GC thrashing. If reusing, you should clear the path first to zero-length.

Note: This uses a strict array test, so it is safe to use map and other array functions on it:

var smoothedPaths = paths.map(smooth)

License

MIT, see LICENSE.md for details.

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100