W3C home > Mailing lists > Public > www-svg@w3.org > July 2010

Re: Scheper's Catmull-Rom curves, and Spiro curves

From: Dave Crossland <dave@lab6.com>
Date: Thu, 15 Jul 2010 16:40:46 -0400
Message-ID: <AANLkTimW2BdgKImbSePxH8xGDAARqQ6sNGU5hgGxqFGw@mail.gmail.com>
To: www-svg@w3.org

On 15 July 2010 13:54, Doug Schepers <schepers@w3.org> wrote:
> Dave Crossland wrote (on 7/15/10 12:28 PM):
>> On 14 July 2010 18:26, Doug Schepers<schepers@w3.org>  wrote:
>>> using a combination of (simulated) Catmull-Rom curves
>>> combined with Linetos is rather similar to spiro.
>> Without a screencap on your blog, I'm not sure how you authored the
>> image there.
> Just view the source!

The source does not reveal the interaction that produces it. But I was
essentially asking for a screencap of
http://schepers.cc/svg/path/dotty.svg so don't worry about it :)

>> It strikes me that a mature authoring environment for CR curves looks
>> a lot like the "auto smooth node" Inkscape point type.

Upon consideration, it strikes me that a mature authoring environment
for CR curves looks exactly like the "auto smooth node" Inkscape point
type; that the "auto smooth" node type in Inkscape uses CR, in fact.
I'll ask on the inkscape-dev mailing list about this.

CR curves as per dotty.svg change the 4 segments around the point,
although since dotty.svg hasn't got moving points functionality yet,
only placing new points, then only the 2 segments before the newly
placed point are seen changing as a new point is laid down.

The Inkscape "auto smooth" node type interaction is the opposite,
where you can't lay down AS nodes but you can change points' type to
AS and then move them around, which effects the 4 segments around the

I'll submit a feature request for laying down AS nodes. as per dotty.svg :)

>> The questions to me are:
>> Are CR curves as smooth as Spiro curves for the same number of points? -
>> No.

You explain why this is the case nicely:

> c) adding each additional point will only change the curve for that segment
> and the segment before it, not segments 2 or more back.
> However, that may be enough for many authoring cases.  While the curves
> aren't as elegant as spiros, they are more predictable.

That is certainly enough for many authoring cases I have in mind for
Spiro points.

In fact, I must reveal that some font designers I have asked about
Spiros have said that the wide scope of effect of a Spiro point change
is a fundamental bug, which CR curves solve. Yet I agree with you when
you say,

> I think there are advantages and disadvantages to ease of authoring for
> Catmull-Roms vs spiros.  But both are relatively easy and intuitive,
> compared to Béziers.

and I would like to see both CR and Spiro points in SVG2.

>> Do CR curves interpolate as smoothly as Spiro curves? - I don't know.
> I suspect so, if we are talking about the point above on the interpolation
> masters.  But I don't know that for certain.

I'm now pretty sure they are.

Received on Thursday, 15 July 2010 20:41:34 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:54:27 UTC