Spiro (0.47) Bezier Tool - No Smoothing factor? Bugs?

Post questions on how to use or achieve an effect in Inkscape.
User avatar
Kjohrf
Posts: 170
Joined: Tue Oct 27, 2009 11:42 am
Location: US
Contact:

Spiro (0.47) Bezier Tool - No Smoothing factor? Bugs?

Postby Kjohrf » Wed Nov 11, 2009 10:11 am

I understand the basic concept of the Spiro tool, and have watched heathenx's wonderful (as always) screencast on the subject. But Spiro (as currently in 0.47pre4) seemed more useable with the Pencil, than with the Bezier tool. Maybe someone can straighten me out.

When I select it with the Pencil, I get nice smooth lines. They roughly follow the line I drew (pre-smoothed). I can adjust the Smoothing factor.

With Bezier, I can't adjust the smoothing factor. Why not? What factor does it use?

When I change all the nodes to auto-smooth, is the same as making it Spirotic in the first place?

If I change a node from auto-smooth to something else, the node symbol changes, but it still seems to act Spirotechnic. Is this a bug? It shows handles but moving them does nothing. Seems wrong.

If all nodes are auto-smooth, and I delete one node, the other nodes change from auto-smooth to something else. Another bug?

Are there any other good adjective forms of Spiro? :) Spironomous?

~suv
Posts: 2272
Joined: Sun May 10, 2009 2:07 am

Re: Spiro (0.47) Bezier Tool - No Smoothing factor? Bugs?

Postby ~suv » Wed Nov 11, 2009 11:01 am

The release notes for 0.47 (New Live Path Effects) have a very detailed paragraph about the new spiro mode:
Kjohrf wrote:With Bezier, I can't adjust the smoothing factor. Why not? What factor does it use?
I don't understand your question. Why would the pen need a smoothness factor when you have to explicitly click every node you add? If you want to draw freely and let Inkscape calculate an approximation use the Pencil tool. «…the Smoothing parameter, changeable in the range from 1 to 100, which controls how much smoothing is applied to the freehand lines you draw. Small Smoothing values produce rough lines with many nodes; large values give smooth lines with few nodes.»
Kjohrf wrote:When I change all the nodes to auto-smooth, is the same as making it Spirotic in the first place?
«Smooth nodes (those with two collinear Bezier handles; use Shift+S to make a node smooth) become smooth curve points of the Spiro path. Note that the length or direction of the Bezier handles of the source path is ignored; the only thing that matters is their collinearity. »
Kjohrf wrote:If I change a node from auto-smooth to something else, the node symbol changes, but it still seems to act Spirotechnic. Is this a bug?
Not a bug. «Note that what matters is the actual collinearity of a node's handles, regardless of the node type that the node has in the Node tool; for example, if a node designated as cusp (diamond-shaped) has collinear handles, it will become a smooth curve point of the Spiro path»
Kjohrf wrote:It shows handles but moving them does nothing. Seems wrong.
Why? «A Spiro path is defined by a sequence of points, but unlike a regular path with Bezier curves, all Spiro points lie on the path and there are no off-path handles. The curvature of the path is defined entirely by the positions of the points and their types. The path behaves very similar to a springy rod which is forced to pass through the given points and which uses the minimum possible curvature to satisfy the requirement.»
Kjohrf wrote:If all nodes are auto-smooth, and I delete one node, the other nodes change from auto-smooth to something else. Another bug?
Not a bug. Node Tool: «Auto smooth nodes: this is a new node type (…). Whenever you manually adjust the handles of an auto node or drag the adjacent curve, the node loses its auto state and becomes simply smooth; for this reason, it is recommended to edit smooth nodes with the node handles hidden via a toggle button on the Node tool controls bar. Auto nodes are represented by little circles, as opposed to smooth/symmetric nodes (squares) and cusp nodes (diamonds).»

User avatar
Kjohrf
Posts: 170
Joined: Tue Oct 27, 2009 11:42 am
Location: US
Contact:

Re: Spiro (0.47) Bezier Tool - No Smoothing factor? Bugs?

Postby Kjohrf » Wed Nov 11, 2009 11:28 am

~suv wrote:The release notes for 0.47 (New Live Path Effects) have a very detailed paragraph about the new spiro mode:
Kjohrf wrote:With Bezier, I can't adjust the smoothing factor. Why not? What factor does it use?
I don't understand your question. Why would the pen need a smoothness factor when you have to explicitly click every node you add? If you want to draw freely and let Inkscape calculate an approximation use the Pencil tool. «…the Smoothing parameter, changeable in the range from 1 to 100, which controls how much smoothing is applied to the freehand lines you draw. Small Smoothing values produce rough lines with many nodes; large values give smooth lines with few nodes.»

Thanks for the reminders on the release notes. I guess that one makes sense. I'm a consistency nut, so this still bugs me at some levels, even if irrationally.
~suv wrote:
Kjohrf wrote:When I change all the nodes to auto-smooth, is the same as making it Spirotic in the first place?
«Smooth nodes (those with two collinear Bezier handles; use Shift+S to make a node smooth) become smooth curve points of the Spiro path. Note that the length or direction of the Bezier handles of the source path is ignored; the only thing that matters is their collinearity. »

OK. Not fond of things that are visible being ignored.
~suv wrote:
Kjohrf wrote:If I change a node from auto-smooth to something else, the node symbol changes, but it still seems to act Spirotechnic. Is this a bug?
Not a bug. «Note that what matters is the actual collinearity of a node's handles, regardless of the node type that the node has in the Node tool; for example, if a node designated as cusp (diamond-shaped) has collinear handles, it will become a smooth curve point of the Spiro path»

Ditto. This seems even more confusing to me. I'd expect occasional bug reports on this. Just my opinion, of course.
~suv wrote:
Kjohrf wrote:It shows handles but moving them does nothing. Seems wrong.
Why? «A Spiro path is defined by a sequence of points, but unlike a regular path with Bezier curves, all Spiro points lie on the path and there are no off-path handles. The curvature of the path is defined entirely by the positions of the points and their types. The path behaves very similar to a springy rod which is forced to pass through the given points and which uses the minimum possible curvature to satisfy the requirement.»

Ditto.
~suv wrote:
Kjohrf wrote:If all nodes are auto-smooth, and I delete one node, the other nodes change from auto-smooth to something else. Another bug?
Not a bug. Node Tool: «Auto smooth nodes: this is a new node type (…). Whenever you manually adjust the handles of an auto node or drag the adjacent curve, the node loses its auto state and becomes simply smooth; for this reason, it is recommended to edit smooth nodes with the node handles hidden via a toggle button on the Node tool controls bar. Auto nodes are represented by little circles, as opposed to smooth/symmetric nodes (squares) and cusp nodes (diamonds).»

Not sure I follow here. I don't see how this explains the behavior I noted.

Thanks again for the info and reply.

~suv
Posts: 2272
Joined: Sun May 10, 2009 2:07 am

Re: Spiro (0.47) Bezier Tool - No Smoothing factor? Bugs?

Postby ~suv » Wed Nov 11, 2009 12:24 pm

I can't comment on the implementation of the Spiro effect for the freehand & bézier tool except guessing that it would be difficult to design a better UI bare from adding an additional separate tool (which I assume - the answer might be in the mailing list archives - was a conscious decision not to do).
Kjohrf wrote:If all nodes are auto-smooth, and I delete one node, the other nodes change from auto-smooth to something else. Another bug?
Still not a bug IMHO, but yes, I inserted an unrelated quote in my previous anser, sorry.

Reproducing this in 0.47pre shows: removing nodes turns the adjacent 'auto-smooth' nodes into cusp nodes, whereas dragging or otherwise editing the adjacent curve turns the 'auto-smooth' nodes into 'smooth' nodes.

This is part of the much earlier implemented 'New deletion behavior' (to preserve, as much as possible, the current shape of the path). Use 'Ctrl+Del' to keep the adjacent nodes smooth and with unchanged handles while the new curve segment changes to fit in ('the old deletion behavior').

Please note: I am only stating how it is intended to work according to available documentation - not debating whether this needs to be improved or changed (UI design is way above my skills ;-)

User avatar
Kjohrf
Posts: 170
Joined: Tue Oct 27, 2009 11:42 am
Location: US
Contact:

Re: Spiro (0.47) Bezier Tool - No Smoothing factor? Bugs?

Postby Kjohrf » Wed Nov 11, 2009 1:21 pm

Thanks. Ooh - the Ctrl+Delete is very helpful!

Appreciate the civil discussion and the clarification.


Return to “Help with using Inkscape”