Hello again.

> It would be great if anyone has any better ideas for how to go about this.
> To me it seems like the problem is that in the webrev I chop up the curve to 
> be
> interpolated at equal intervals of the parameter.

I implemented another version that detects where either dx/dt or dy/dt is 0, and
splits the curve there. This works pretty well for all the curves I've tested 
(except ones containing "cusps", or something close to a cusp, like 
p.moveTo(0,0);
p.curveTo(100,100,0,100,100,0);). Best of all, this:

> For example, the curve p.moveTo(0,0),p.curveTo(84.0, 62.0, 32.0, 34.0, 28.0, 
> 5.0)

is no longer a problem.

There is another problem with this method (other than the cusps, which can 
probably
be handled easily as a special case): it is axis-dependent. Ideally, it 
shouldn't be
because the optimal subdivisions of a curve are at values of t that do not 
change
under rotations and translations, but with this method, the t values at which I 
split
the curve do change.

A better way would take into account curve flatness instead of changes in x or y
direction.

Thanks,
Denis.

Reply via email to