Hi Alexander,
I could help you if you want. By the way, can you tell me abot similar overlaping on Powerstroke, Bend, and Pattern Along Path. If they can be improved in similar way there is a important advance step.
I start using your code in my offset branch now to start trying.
Cheers, Jabier.
On Tue, 2016-11-22 at 04:06 -0500, Martin Owens wrote:
Hi Alexander,
We've not moved to github yet, so if you need to do a merge request, you'll either have to make a bzr branch or get the help of another developer (hopefully on the mailing list) to do the merge for you.
Best Regards, Martin Owens
On Tue, 2016-11-22 at 01:30 +0100, Alexander Brock wrote:
On 11/21/2016 05:53 PM, Jabier Arraiza wrote:
Is cool you improve it! Im working in a offset LPE currently and hope can use this new code soon.
I improved it further the new code is in the *_stable-functions here: https://github.com/abrock/lib2geom/blob/master/src/toys/geom-pathst ro ke.cpp
The old method for offset_cubic:
- move the control points
- checked if the error at t=.5 was below some threshold
- a) if yes return
- b) otherwise subdivide path and repeat (up to some recursion
depth limit).
The new method:
- move the control points
- Find the point on the curve where the distance differs the most
from the desired distance 3. Adjust control point (only lengthes, preserve direction and smoothness) to minimize this maximum error 4. checked if the error at t=.5 was below some threshold 4. a) if yes return 4. b) otherwise subdivide path and repeat (up to some recursion depth limit).
This method seems to prevent degradation where the number of nodes increases exponentially due to numerical instability. Attached are examples of the old and new method used to repeatedly offset an initial red curve. The old code produces 4625 segments in the last step, the new code 3.
Should I prepare a merge request? I'd like to run some tests, any suggestions which kind? I think the most important thing is to test for a wide variety of paths if the created offset path has constant distance from the original path.
Best Regards, Alexander
Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel