I'm interested in adding another calligraphy tool.
The old calligraphy tool is not only inconvenient to use, it's bad because it produces shapes with fill instead of strokes, which are very difficult to edit afterwards. We've been contemplating introducing a new Inkscape object type which would store the midline of the path you draw (as a sequence of beziers) and a function that gives the stroke width for each point along the path. That way, you'll be able to tweak the path (midline) and it will still keep the shape (widths). The width function may be just an array of width values for all points at some step distance from each other along the path, with the stroke shape approximated as a polygon based on these values.
I think a calligraphy pen implemented via this object will not only be much more convenient to use, but also much easier to implement. The only problem is that the "shaped stroke" object is not implemented yet, it needs to be coded. Depending on your programming experience, you could participate in working on that object so you can later use it for a new calligraphy tool.
I'm Cc:ing Nathan Hurst with whom we've discussed the shaped stroke idea.
_________________________________________________________________ MSN Premium: Up to 11 personalized e-mail addresses and 2 months FREE* http://join.msn.com/?pgmarket=en-ca&page=byoa/prem&xAPID=1994&DI...
I am a scientific programmer with the physics department here at the University of Iowa. Although most of my coding experience is in non-OO Perl and Fortran, I would really like to step up to working on the pen object.
You could implement the width as another bezier 'stroke' in 'thickness space' - that way there would be continuous change in the width of the stroke, and it could be magnified and rerendered without loss. I will work on this and present a formula for a broad edge calligraphy pen, since the relationship between thickness and other factors is so simple. After I get a look at the code you guys are using now, I can figure something out for that, too.
--~:~\ Jason Dusek \~:~://|||//|||| ---~:~\ The Hydra Project \~:~://|||//||| ----~:~\ The University of Iowa \~:~://|||//|| ----
bulia byak wrote:
I'm interested in adding another calligraphy tool.
The old calligraphy tool is not only inconvenient to use, it's bad because it produces shapes with fill instead of strokes, which are very difficult to edit afterwards. We've been contemplating introducing a new Inkscape object type which would store the midline of the path you draw (as a sequence of beziers) and a function that gives the stroke width for each point along the path. That way, you'll be able to tweak the path (midline) and it will still keep the shape (widths). The width function may be just an array of width values for all points at some step distance from each other along the path, with the stroke shape approximated as a polygon based on these values.
I think a calligraphy pen implemented via this object will not only be much more convenient to use, but also much easier to implement. The only problem is that the "shaped stroke" object is not implemented yet, it needs to be coded. Depending on your programming experience, you could participate in working on that object so you can later use it for a new calligraphy tool.
I'm Cc:ing Nathan Hurst with whom we've discussed the shaped stroke idea.
MSN Premium: Up to 11 personalized e-mail addresses and 2 months FREE* http://join.msn.com/?pgmarket=en-ca&page=byoa/prem&xAPID=1994&DI...
Hi Bulia,
Can you tell me more about how the calligraphy tool turns the path you draw into a sequence of beziers?
--~:~\ Jason Dusek \~:~://|||//|||| ---~:~\ The Hydra Project \~:~://|||//||| ----~:~\ The University of Iowa \~:~://|||//|| ----
bulia byak wrote:
I'm interested in adding another calligraphy tool.
The old calligraphy tool is not only inconvenient to use, it's bad because it produces shapes with fill instead of strokes, which are very difficult to edit afterwards. We've been contemplating introducing a new Inkscape object type which would store the midline of the path you draw (as a sequence of beziers) and a function that gives the stroke width for each point along the path. That way, you'll be able to tweak the path (midline) and it will still keep the shape (widths). The width function may be just an array of width values for all points at some step distance from each other along the path, with the stroke shape approximated as a polygon based on these values.
I think a calligraphy pen implemented via this object will not only be much more convenient to use, but also much easier to implement. The only problem is that the "shaped stroke" object is not implemented yet, it needs to be coded. Depending on your programming experience, you could participate in working on that object so you can later use it for a new calligraphy tool.
I'm Cc:ing Nathan Hurst with whom we've discussed the shaped stroke idea.
MSN Premium: Up to 11 personalized e-mail addresses and 2 months FREE* http://join.msn.com/?pgmarket=en-ca&page=byoa/prem&xAPID=1994&DI...
participants (2)
-
bulia byak
-
Jason Dusek