JavaScript Beziers

Author:Oliver Steele
Copyright:Copyright 2006 Oliver Steele. All rights reserved.
License:MIT License (Open Source)
Homepage:http://osteele.com/sources/javascript/
Docs:http://osteele.com/sources/javascript/docs/bezier
Download:http://osteele.com/sources/javascript/bezier.js
Example:http://osteele.com/sources/javascript/bezier-demo.html
Created:2006-02-20
Modified:2006-03-21

bezier.js is a library for measuring and subdividing arbitrary-order Bezier curves.

Points are represented as {x: x, y: y}.

Usage

  var bezier = new Bezier[({x:0,y:0}, {x:50,y:50}, {x:100,y:25}]);
  bezier.draw(context);
  var order = bezier.order;
  var left = bezier.split()[0];
  var right = bezier.split()[1];
  var length = bezier.measureLength(bezier);
  var midpoint = bezier.atT(0.5);

Notes

Bezier aliases its argument and caches its metrics. It won’t work to modify a point within a Bezier; create a new Bezier instead.

Related

Also see path.js.