Power Stroke discussion
Hi all,
This summer, Zhenfeng will work on a new "variable stroke width" LivePathEffect, called "Power Stroke". Now that Zhenfeng has started his GSoC, I'd like all who are interested to join the discussion on this page: http://wiki.inkscape.org/wiki/index.php/PowerStroke#Discussion_at_LGM_20 10. Already I got some great input at the Libre Graphics Meeting in Brussels last week. More input is always welcome.
Thanks a lot!
Johan
Johan, thank you for a great BOF. It was my first time being in a meeting of this kind, and i was humbled to have the chance to try and help come up with a good interface solution. Having seen the excellent blueprints you posted, i totally cannot wait for this awesome new tool :-)
On 06/01/2010 09:45 PM, J.B.C.Engelen@...1578... wrote:
Hi all,
This summer, Zhenfeng will work on a new "variable stroke width" LivePathEffect, called "Power Stroke". Now that Zhenfeng has started his GSoC, I'd like all who are interested to join the discussion on this page: http://wiki.inkscape.org/wiki/index.php/PowerStroke#Discussion_at_LGM_20 10. Already I got some great input at the Libre Graphics Meeting in Brussels last week. More input is always welcome.
Thanks a lot!
Johan
Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Hi! Power stroke will make all of us over excited!! One hard issue with power stroke is the user interface and the blue print looks pretty good. On the developpement side however, I have some doubts about the suggested solution. Users (like me at least!) will tend to use large (power-)stroke width, and using the same bezier handles as the path itself will look ugly in this case.
I'm sure Zhenfeng and you already thought about it a lot. One easy improvement would be to compute the curvature at the control point and move the bezier handle by rescaling it from the curvature center instead of translating it. (of course the curvature is not a priori the same on the two sides of a control point, but you do the computations for each).
I tried several other and more computation expensive solutions long ago. The main idea was to have a width function w(t) controlling the width all along the path (or a function w(s) where s is the % of the total length of the path). It gives more accurate results but is slower and less stable when cusps come into the scene.
One point I find important as a user is that the width controls should not necessarily be stuck to the curve control points: shape and width are two things you (may want to) edit separately. Consider a smoothly thickning line with 3 control points. You want to be able to move the middle one sideways without the width to follow your move. This is needed if you d'ont want to re-setup all the width controls each time you change the shape of a curve. You may also want to be able to insert width control points where there is no curve control point. This is required when you use a fancy wavy stroke width along a simple smooth line: editing the line should remain easy even if the width is complex (that's the point about power stroke, isn't it?). Independance from curve control points would also allow copy/paste(/clone?) width data from one path to another, allowing definition of default stroke styles, etc...
Ok, I know we want to keep things simple to get them done! And width/shape independance requires more UI to create/kill or lock/free control points... So I'm just trying to push you as much as I can in that direction, but of course I'll be XXL happy to see any version of power stroke implemented! ;-)
JF.
participants (3)
-
unknown@example.com
-
jf barraud
-
ricardo lafuente