Spiro Spline

This effect turns a series of nodes into a silky-smooth path defined entirely by the position of the nodes. The method was devised by Raph Levien for use in designing fonts. Spiro curves have splines that are joined together smoothly.

The Spiro Spline LPE can be enabled two different ways. The first is to use the Path Effect Editor dialog like for any other LPE. The second is to enable the Spiro path option in the Pencil Tool or Bezier Tool Tool Controls by selecting the icon icon. Note that the Spiro path will not be shown until the skeleton path is completed. Using the Spiro Spline LPE is probably not so useful with the Pencil Tool unless Smoothing is set to a moderate value.

The Spiro Spline LPE uses the following node types:

Spiro Spline effect.
A path composed of a line and two Spiro splines (separated by a Corner node).

Visualization of the skeleton path is probably not very useful. It can be toggled off by clicking on the icon icon in the Tool Controls. It is sometimes useful to see the node handles. They can be toggled on by clicking on the icon icon. They are only shown for selected nodes and nodes adjacent to selected nodes. Bug: If the handles are not visible when they should be, toggle off, then back on the node handles.

Spiro Spline effect 2.
The same path as in the previous figure, but showing the skeleton path with node handles. Note that what is important for a Spiro spline is the collinearity of the handles with each other (smooth vs. corner node) or with a line segment (corner vs. tangent node). The actual directions of the handles for a smooth or corner node are irrelevant.

The algorithm for generating Spiro splines is not particularly robust and sometimes yields wild curves. You can always return to a sane point by undoing the edit that caused the curves to go berserk.

For the technically inclined, in a Spiro curve, splines are joined such that the curve is smooth and the curvature is continuous. Although the Spiro package allows for G4 nodes (continuous to the fourth derivative), Inkscape uses only G2 nodes (continuous to the second derivative).

Spiro Spline paths are also implemented in the font editing program FontForge. Unfortunately, there is currently no way to share Spiro Spline paths between the two without first converting to Bezier splines.