You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As was demonstrated in #7, curve interpolation can use some work. The current solution sets the control points to have the same values as the x,y position of the point which results in a slightly jagged appearance:
To get over this, we would need to split the bezier curve intelligently. Since we're using d3's interpolateString to do our actual interpolation, this would require a significant amount of work. Ideas on how to split bezier curves are here: http://www.iscriptdesign.com/?sketch=tutorial/splitbezier. Interestingly, switching to doing numeric interpolation on the already derived command objects might actually end up being faster than using d3's interpolateString anyway and could be investigated for its own merits.
The text was updated successfully, but these errors were encountered:
As an update to my last comment - it turns out interpolating position is not sufficient for solving this problem. You actually need to split the bezier curves (i.e. also interpolate where the new control points should be given the new start and end points). I ended up using de Casteljau's algorithm for it.
As was demonstrated in #7, curve interpolation can use some work. The current solution sets the control points to have the same values as the x,y position of the point which results in a slightly jagged appearance:
To get over this, we would need to split the bezier curve intelligently. Since we're using d3's interpolateString to do our actual interpolation, this would require a significant amount of work. Ideas on how to split bezier curves are here: http://www.iscriptdesign.com/?sketch=tutorial/splitbezier. Interestingly, switching to doing numeric interpolation on the already derived command objects might actually end up being faster than using d3's interpolateString anyway and could be investigated for its own merits.
The text was updated successfully, but these errors were encountered: