adaptive-quadratic-curve
v1.0.2
Published
adaptive and scalable 2D quadratic curves
Downloads
46,035
Maintainers
Readme
adaptive-quadratic-curve
Builds a quadratic curve that is adaptive; that is to say, it has more points along curved corners, and less points along straight lines. This can be used to produce scalable curves that are consistently smooth, while using a small number of steps. Based on AntiGrain.
Also see adaptive-bezier-curve.
var quadratic = require('adaptive-quadratic-curve')
var start = [20, 20],
c1 = [100, 159],
end = [200, 20],
scale = 2
var points = quadratic(start, c1, end, scale)
//returns a list of 2d points: [ [x,y], [x,y], [x,y] ... ]
See demo/index.js for an example with HTML5 canvas.
Usage
quadratic(start, c1, end[, scale, points])
Returns an adaptive quadratic curve for the given three control points. You can specify a scale
to produce better smoothing for scaled contexts, otherwise it defaults to 1.0.
If you specify a points
array, the new points will be pushed onto that array (useful for building paths). If you don't specify points
, a new array will be used.
License
The AntiGrain 2.4 code is licensed under BSD-3-Clause, see LICENSE.md for details.