#9 Circular/elliptical segments in curves

Bernhard Herzog

Antoon Pardon on sketch-list:

Allow a circle segment in a curve. The way I see this
done is by giving a control point as with a bezier
curve. But the control point would only be used to
control the tangent in the point, together with the two
point of the segment this would specify the circle


  • Logged In: YES

    Antoon Pardon provided some more thoughts on sketch-list

    Well I have considered three approaches.

    The first and second try to specify an ellips by giving two
    nodes and one controlpoint. The controlpoint specifies the
    tangents in the nodes. Now one way to make this a complete
    specification of an elliptical arc is by interpreting the
    two nodes and the controlpoint as the result of a
    transformation applied to the points (1,0), (0,1) and (1,1).
    The elliptical arc specified would be the result of the
    first quarter of a circle applied to the same
    transformation. The disadvantage of this approach is that it
    only allows circular arcs of 90 degrees and similar
    limitations to elliptical arcs.

    A second approach would by starting from a circle segment.
    The start and endpoint are the nodes and the tangents in the
    start and endpoint cross in the controlpoint. Transforming
    this setup would transform the circle arc in an elliptical
    arc. However there is more than one cobination of circle arc
    + transformation that leads to the same result of Nodes and
    controlpoint. Unfortunatly they don't result in the same
    elliptical arcs. Of course we could specify a specific
    method and in this way come to a well specified result. The
    problem however is that whichever method you choose, you
    allways have the same problem. The curve specified by the
    transformed points is not the transformed curve specified by
    the points.

    The third approach I considerd was by introducing a second
    controlpoint. This second controlpoint would specify the
    middlepoint of the ellips. (One could consider the case of
    it specifying a focus). Now the idea is to combine the
    previous approach with the extra controlpoint we have. As
    far as I can see, this would work under affine
    transformations. The only drawback is that not all choices
    of nodes and controlpoints will lead to an elliptical arc.

    • assigned_to: bernhard --> nobody