/to-smooth

Chaikin's smoothing algorithm extended to a multidimensional library

Primary LanguageTypeScriptMIT LicenseMIT

To Smooth

Make your lines to curves

undefined

Chaikin's smoothing algorithm for polylines of any dimensions. Impressed by chaikin-smooth but, to-smooth is dimension generalized version of chaikin-smooth with iteration option.

You can use to-smooth instead of chaikin-smooth

From

To


Usage

import smooth from 'to-curve'
import geojson from 'geojson.json'


if (geojson.geometry.type === 'LineString')
  geojson.geometry.coordinates = smooth(geojson.geometry.coordinates)
else if (geojson.geometry.type === 'MultiLineString')
  geojson.geometry.coordinates = geojson.geometry.coordinates.map(points => smooth(points))

Docs

export default function smooth(points, options: {iteration, factor} = {iteration: 1, factor: 0.75})

points

same dimension point array like LineString Coordinates

  • type - Array<Array<number>>

options

  • iteration
    • default - 1
    • description - if this increase, more smoother line return
    • iteration how many algorithm applied
  • factor
    • default - 0.75
    • range - 0.5 - 1
    • do not have to change or assign

License

MIT