mirror of
https://github.com/scratchfoundation/paper.js.git
synced 2025-01-05 20:32:00 -05:00
Remove Douglas–Peucker algorithm again since it produced ackward results.
This commit is contained in:
parent
42f5b5e26e
commit
ca18b20785
1 changed files with 0 additions and 23 deletions
|
@ -31,7 +31,6 @@ var PathFitter = Base.extend({
|
|||
prev = point;
|
||||
}
|
||||
}
|
||||
this.points = this.reducePoints(this.points, 1);
|
||||
this.error = error;
|
||||
this.iterationError = error * error;
|
||||
},
|
||||
|
@ -47,28 +46,6 @@ var PathFitter = Base.extend({
|
|||
return this.segments;
|
||||
},
|
||||
|
||||
// Douglas–Peucker algorithm
|
||||
reducePoints: function(points, tolerance) {
|
||||
var line = new Line(points[0], points[points.length - 1], false);
|
||||
var maxDistance = 0,
|
||||
maxIndex = 0;
|
||||
for (var i = 1; i < points.length - 1; i++) {
|
||||
var distance = line.getDistance(points[i]);
|
||||
if(distance > maxDistance) {
|
||||
maxDistance = distance;
|
||||
maxIndex = i;
|
||||
}
|
||||
}
|
||||
if (maxDistance >= tolerance) {
|
||||
var pts = this.reducePoints(
|
||||
points.slice(0, maxIndex + 1), tolerance);
|
||||
pts.pop();
|
||||
return pts.concat(this.reducePoints(
|
||||
points.slice(maxIndex, points.length), tolerance));
|
||||
}
|
||||
return [points[0], points[points.length - 1]];
|
||||
},
|
||||
|
||||
// Fit a Bezier curve to a (sub)set of digitized points
|
||||
fitCubic: function(first, last, tHat1, tHat2) {
|
||||
// Use heuristic if region only has two points in it
|
||||
|
|
Loading…
Reference in a new issue