Per-node interpolated line width

Bug #172158 reported by Three-san on 2007-10-13
This bug affects 1 person
Affects Status Importance Assigned to Milestone

Bug Description

The ability to specify the width of a line at each node. The line's width
would be interpolated between the nodes. The range of widths should include

It may be desirable to have quadratic or cubic (or some other option?)
beyond simple linear interpolation.

This scheme could be applied to colors, as well. In simple cases it may be
preferable to rendering the lines, transferring over to another app, and

If rasterizing such lines would be noticeably slower, the existing curve
rendering algorithm may be used between nodes with identical settings.
Additionally, an option to toggle the viewing of interpolated line widths
could be provided.

Three-san (three-san) wrote :

Originator: YES

Node settings (width,color,etc) could default to "unspecified", preserving
present behavior as well as allowing a beginning and an end node to
determine the interpolation of widths across a range of nodes. At least two
approaches to this. The less visually desirable but simpler scheme,
weighting an intermediate node's effective width based on its index (for
want of a better term). E.g. four nodes, {A,B,C,D}, with widths specified
at A,D and unspecified at B,C. B = 2/3*A +1/3*B. The more visually
appealing but (perhaps?) more complicated scheme, weighting based upon
distance traveled along the arc.

Three-san (three-san) wrote :

Originator: YES

A note on rounded path end caps (cf square and butt caps). If the current
round cap is thought of as a semicircle, with variable line width the
partial circle may end up being more or less than half of a circle, so that
a continuous first derivative of the edge may be achieved.

Ryan Lerch (ryanlerch) on 2008-01-21
Changed in inkscape:
importance: Undecided → Wishlist
status: New → Confirmed
Shaved Wookie (shavedwookie) wrote :


To me this is a *critical feature*. I totally assumed this would have been in Inkscape many versions ago, and well before many of the nifty tools we now have (eg 3D blocks). If you look at the wish lists and bug reports this feature features many, many times, even if the wording is often very different. Users are invariably told to just use the caligraphy tool, which removes almost all of the ease of editing the path later. A curve I drew in an experiment used 6 nodes. To trace over that same curve with the caligraphy tool used 73 *over 12 times the number of nodes*. I'm sure that adding interpolation between each node of a path would slow path rendering down somewhat, 20% maybe, 100%? I'm sure it wouldn't slow it down 12 times though (%1200).

Thanks though Inkscape team. Your work is massively appreciated and ripples out, improving the look of the whole open source world (I'm using it on Secret Maryo Chronicles the GPL side scrolling platform game).

Shaved Wookie

SVG doesn't support variable-width strokes at this time, so aside from the calligraphy tool, the best (only?) way to accomplish this would be a live path effect.

(The lack of SVG support is the reason it hasn't already been implemented; LPEs are new and more work might need to get done on that infrastructure before we can hook it directly to a drawing tool.)

Shaved Wookie (shavedwookie) wrote :

This exact feature has just been added to Synfig Studio and called "Advanced Outline". You can see a description at:

and an image at:

jazzynico (jazzynico) on 2014-02-16
tags: removed: objects-nodes
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers