Elsevier

Computers & Graphics

Volume 37, Issue 6, October 2013, Pages 764-773
Computers & Graphics

SMI 2013
Curvature-controlled curve editing using piecewise clothoid curves

https://doi.org/10.1016/j.cag.2013.05.017Get rights and content

Highlights

  • We propose piecewise clothoid curves (PCCs) as an alternative to polynomial splines for high-quality curve design.

  • We claim that PCCs are superior to splines from a design point of view since they are “class-A by default”.

  • PCCs provide excellent curvature control since the curvature profile can be directly edited.

  • We give a physical interpretation of PCCs and we devise practical placement rules for control points.

  • We propose schemes for efficient evaluation, for iterative refinement, and for automatic curve conversion.

Abstract

Two-dimensional curves are conventionally designed using splines or Bézier curves. Although formally they are C2 or higher, the variation of the curvature of (piecewise) polynomial curves is difficult to control; in some cases it is practically impossible to obtain the desired curvature. As an alternative we propose piecewise clothoid curves (PCCs). We show that from the design point of view they have many advantages: control points are interpolated, curvature extrema lie in the control points, and adding control points does not change the curve. We present a fast localized clothoid interpolation algorithm that can also be used for curvature smoothing, for curve fitting, for curvature blending, and even for directly editing the curvature. We give a physical interpretation of variational curvature minimization, from which we derive our scheme. Finally, we demonstrate the achievable quality with a range of examples.

Graphical abstract

Design curves of a car captured with PCCs.

  1. Download : Download high-res image (295KB)
  2. Download : Download full-size image

Introduction

The creation of good-looking curves is a fundamental task in 2D (and 3D) shape design. Through a recent collaboration with the surfacing department of a car manufacturer we realized how difficult it is in practice to convert a given design curve into a high-quality parametric curve that is suitable for further processing in a high-end CAD system (CATIA). Observing the work of the surface engineers we developed three hypotheses about their requirements:

Hypothesis 1

The control polygon alone must unambiguously, and in a predictable way, define the shape.

Hypothesis 2

The control polygon must be as sparse as possible (a) to offer control and (b) to avoid artifacts.

Hypothesis 3

Controlling curvature is essential; much time is spent on removing curvature artifacts.

Curvature control is so important in high-quality (“class-A”) shape design because curves are the basis for creating surfaces, and curvature artifacts lead to bad light reflections. State of the art in industrial design is the use of (piecewise) polynomial curves such as Bézier curves, B-splines, and their numerous variations. They are efficient to compute, their properties are well understood, and many algorithms exist for knot insertion, degree elevation, etc. The first hypothesis, however, precludes curve representations with invisible extra parameters such as NURBS, β-, τ-, or ν-splines; even varying the knot spacing is usually avoided. The use of any such non-graphical parameters has the crucial disadvantage that the curve shape cannot be judged only by looking at the control polygon; but this is exactly the expertise of surface engineers. This is why professional class-A surfacing software like IcemSurf still uses exclusively the oldest and most direct surface technique, tensor product Bézier surfaces of degree three up to nine.

The curvature of spline curves is difficult to control. In some cases it is even impossible to obtain the desired curvature practically, i.e., using a sparse control polygon (see Section 8). The reason is that, informally speaking, spline control points exert an ‘extra pull’ on the curve. A B-Spline with a regular n-gon as control polygon still deviates noticeably from a circle; without an extra weight parameter (rational splines) it is impossible to obtain a perfect circle. The real problem, however, is the lack of clear rules for the placement of control points. Surface engineers need years of experience to master the control point placement intuitively.

The work presented in this paper is the result of the quest for a curve representation that has no hidden parameters and offers exactly the degrees of freedom that designers need in order to control both the shape and the curvature of a 2D curve. We propose replacing splines by piecewise clothoid curves (PCCs). The heart of the framework is a fast algorithm to compute a PCC from a given (open or closed) sequence of input points. The problem can be stated formally as follows:

Given 2D points p1,,pn, compute clothoid segments c1(t),,cn1(t) with arc lengths d1,,dn1 so that c1(0)=p1, ci(0)=ci1(di1)=pi for i>1, and cn1(dn1)=pn.

There is no suitable closed-form representation of clothoid curves; they are defined via Fresnel integrals and computing them is impractical [1]. Therefore we use an iterative discrete scheme (see Section 3).

Our contribution is a unified framework for curvature-controlled curve design with PCCs:

  • Fast adaptive clothoid interpolation algorithm.

  • Curvature simplification by dynamic programming.

  • Clothoid blending by nonlinear subdivision.

  • Direct editing of the curvature plot.

  • Physical interpretation of curvature smoothing.

  • Different control modes for points: free, constrained tangents, and constrained curvature.

Clothoid curves are well known for their aesthetic quality. However, they have never been widely used in shape design, maybe for efficiency reasons, but certainly also because of the lack of suitable design tools. We argue that with PCCs, designers can reach their goal much faster and with an excellent level of control, for example to meet max/min curvature constraints, to limit the curvature variation, and to obtain aesthetically pleasing results. PCCs are much more ’relaxed’ than splines; the infamous 'spikes’ with unbounded curvature are avoided. Tension can still be added to the curve intentionally by explicitly inserting short segments as it is demonstrated, e.g., in Figs. 1 and 14.

In summary, we show that PCCs are superior to splines in practice: any spline curve can be approximated by a PCC with a sparse control polygon, but the converse is not true (see Section 8).

Section snippets

Related work

A variational approach for computing discrete approximations of piecewise clothoid curves was presented in a fairing context in [2]. Like in our algorithm, they refine a given polygon by inserting new points and moving them such that the curvature distribution becomes piecewise linear (direct approach). They also propose an indirect approach, iteratively alternating between curvature estimation at the control points and curvature interpolation at intermediate points. Our method is similar to

Definition

A piecewise clothoid curve (PCC) consists of various clothoid segments, which may also comprise line segments and circle segments. The segments are joined together such that they are both tangent and curvature continuous in the joints (G2 continuous).

Discrete PCC curves

We use a method where a sequence of control points is either specified interactively by the user, or chosen appropriately from a given input curve; then our algorithm constructs clothoid segments joining these points. Clothoids are defined by

Constraints on tangents and curvature

To speed up the design process, tangent or curvature constraints can be defined for each control point:

  • A tangent constraint defines the tangent of an adjacent clothoid segment.

  • A curvature constraint defines the curvature of an adjacent clothoid segment.

The constraints can be the same or different on both sides, e.g., different tangents produce a corner (G0). It is also possible to define a tangent constraint on one side and a curvature constraint on the other, to maintain G1. Note, however,

Eliminating curvature spikes

The curvature of a PCC is piecewise linear but not bounded; there can be arbitrarily steep spikes. One possibility to get rid of a curvature spike in a control point P is to first insert two new control points close to P on either side, which changes neither the curve nor its curvature. Then removing P does change the curve, but only slightly; and the curvature-spike is cut off.

Clothoid splines: approaching the limit

Our method for iterating this scheme is inspired by Chaikin's corner cutting method for obtaining quadratic B-Spline

A physical interpretation of clothoids

A vast number of different curve representations has been proposed in CAGD over the last 60 years. With any new representation the question must be answered how suitable it is for the targeted purpose. For high-end curve design, it should make designing aesthetic curves as simple as possible. Capturing the notion of aesthetics is difficult, however, which is witnessed by the lack of a common mathematical definition of class A quality.

We have approached the problem from a different side. The

Interactive shape design with PCCs

An important property for a curve representation is how effective and accurate designers can work with them. The proposed PCCs have some nice properties for the design process:

  • Reasonable approximations can be computed quite fast also for larger numbers of control points.

  • Insertion of new control points neither changes the curve nor does it affect other control points.

  • Redundant control points (with the same curvature slope on both sides) can be removed without affecting the curve.

  • Tangents or

Comparison with B-spline curves

As mentioned in the Introduction, a fair comparison from the design point of view can take into account only spline types without non-visual parameters (knots, weights). Comparing, for example, PCCs to uniform cubic B-splines, PCCs have the obvious advantages that control points are interpolated instead of approximated, that point insertion does not change the curve, and that circular arcs can be reproduced.

A more serious issue, though, is that despite the variation diminishing property and

Conclusion and future work

We have presented in this paper a framework for the design of high-quality curves. To summarize, piecewise clothoid curves (PCCs) have the following key advantages over splines:

  • Direct editing: the control polygon is interpolated rather than just approximated.

  • Insertion invariance: inserting control points does not change the curve.

  • Curvature extrema: the curvature is (locally) maximal or minimal only in the control points.

  • Predictability: control points are needed only in order to deviate from

Acknowledgments

The authors gratefully acknowledge the generous funding and support from the Joint PhD programme of TU Graz and NTU Singapore (Prof. Alexei Sourin). We would also like to thank Volkswagen AG, especially our collaborators Dr. Karin Spors and Dr. Gerd Podehl, for the great opportunity to gain so much insight into the practice of high-quality surfacing, and also for all the inspiring challenges – and for the VW Scirocco picture.

References (17)

There are more references available in the full text version of this article.

Cited by (19)

  • A new safe lane-change trajectory model and collision avoidance control method for automatic driving vehicles

    2020, Expert Systems with Applications
    Citation Excerpt :

    You et al. introduced a tracking control for reference trajectories based on polynomials for lane change maneuver (You, Zhang, Guo, Wang, Wen, & Xu, 2015). Choi et al. presented a path planner-based Bézier curve that enabled anti-collision behaviors (Choi, Curry & Elkaim, 2010; Havemann, Edelsbrunner, Wagner & Fellner, 2013; Kawabata, Ma, Xue, Zhu & Zheng, 2015). The geometric algorithms could easily calculate the parameters of curves according to side constraints, (e.g., start and end values of the trajectory, velocity, and acceleration) but not process constraints.

  • Circle reproduction with interpolatory curves at local maximal curvature points

    2019, Computer Aided Geometric Design
    Citation Excerpt :

    This requirement is satisfied by many interpolatory curves, but not all. Clothoid splines (Havemann et al., 2013), for example, may suddenly change shape as their control points are dragged, introducing a loop where there was none before (Yan et al., 2017). In this paper, we introduce a piece-wise rational curve that interpolates a series of input points on a 2D plane.

  • Total curvature variation fairing for medial axis regularization

    2014, Graphical Models
    Citation Excerpt :

    An example of a global fairing strategy is explained in [21], where the so-called minimum variation curves are constructed by minimizing the integral of the squared first derivative of the curvature of the B-spline curve. A recent alternative approach for fairing a given (spline) curve is explained in [28], where the curve is approximated by piecewise clothoid curves. The existing fairing methods, however, are not well suited for the regularization of the medial axis, since the number of remaining curvature maxima of the boundary curve remains still too high after modifying the given spline curve.

View all citing articles on Scopus
View full text