Skip to content

Commit

Permalink
Update README.md (#3)
Browse files Browse the repository at this point in the history
  • Loading branch information
Sphinxxxx authored Jul 15, 2016
1 parent fbd64e2 commit df5d7cd
Showing 1 changed file with 15 additions and 9 deletions.
24 changes: 15 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,30 @@
CoffeeScript/JavaScript implementation of Philip J. Schneider's "Algorithm for Automatically Fitting Digitized Curves" from the book "Graphics Gems".
Converted from Python implementation.

Fit one or more cubic Bezier curves to a polyline.
JavaScript implementation of Philip J. Schneider's "Algorithm for Automatically Fitting Digitized Curves" from the book "Graphics Gems".

This is a CS/JS implementation of Philip J. Schneider's C code. The original C code is available on http://graphicsgems.org/ as well as in https://github.com/erich666/GraphicsGems
Ported from C via Python:
* Original (C):
* https://github.com/erich666/GraphicsGems/blob/master/gems/FitCurves.c
* Python:
* https://github.com/volkerp/fitCurves
* CoffeeScript/JavaScript + math.js/lodash:
* https://github.com/soswow/fit-curves

This implementation uses [mathjs](https://github.com/josdejong/mathjs)
**No dependencies.**

Usage:
Usage
-----

```javascript
var fitCurve = require('fitCurve');
var points = [[0, 0], [10, 10], [10, 0], [20, 0]];
var error = 50; // The smaller the number - the much closer spline should be
var error = 50; //Lower numbers give more accurate curves.

var bezierCurves = fitCurve(points, error);
// bezierCurves[0] === [[0, 0], [20.27317402, 20.27317402], [-1.24665147, 0], [20, 0]]
// where each element is [x, y] and elements are [first-point, control-point-1, control-point-2, second-point]
```

You can play around with that in this [demo](https://soswow.github.io/fit-curves/demo).
Demo
----

![demo](https://github.com/soswow/fit-curves/raw/master/demo-screenshot.png "Demo")
http://codepen.io/Sphinxxxx/pen/jALxvQ?editors=1011

0 comments on commit df5d7cd

Please sign in to comment.