T Ingham wrote:
On Nov 24, 2003, at 3:38 PM, Bob Jamison wrote:
Ted Gould wrote:
On a different note, I am still working on some code for thinning nodes along a subpath, but it is not done yet.
Bob
Perhaps if not and or until we can see some sort of pressure sensitivity in Inkscape/X11 we could have a timer running on painting operations ( in ink/brush ) modes that defines the size of a node. Lingering longer in one place would create a node with a thick width, quickly moving away from that area would thin the path.
-t
What I have been considering has been to provide a tool or dialog that could thin out the number of nodes along an -existing- subpath, while keeping the rendered line as close an approximation as possible to the original.
For example, on a continuous chain of bezier segments, it is required that adjacent segments not only have a pair of co-located endpoints, but also that the control handles connected to those endpoints be parallel.
Here is what I mean: http://troi.lincom-asg.com/~rjamison/files/thin.png
For (A), we have a subpath with 3 nodes, consisting of two Bezier segments of degree 3 meeting continuously at the center point.
What I would like to do, is for each candidate pair, ignore the center point and consider the path to be a single 4th degree curve. This curve would then be reduced in degree to make the 3rd degree approximation at (B).
This page has an excellent description of degree reduction which I would like to use: http://anziamj.austms.org.au/V36/part4/Park.html
The tool or dialog would only allow this replacement to occur if it is possible within the bounds of a specified error level. (least square, maybe?)
For non-continuous joints between segments, and for straight line segments, this can be ignored. (Or maybe approximated with new bezier segments?)
Such a tool would be good for reducing the number of points resulting from freehanding, or maybe the results of some autotrace tool. Imagine reducing a drawing cluttered with 128 points to 64 with a single click.
Anyway, this is just what I have been looking at.
Bob