Elsevier

Computer-Aided Design

Volume 32, Issue 4, 1 April 2000, Pages 253-260
Computer-Aided Design

Bisection algorithms for approximating quadratic Bézier curves by G1 arc splines

https://doi.org/10.1016/S0010-4485(99)00100-1Get rights and content

Abstract

To describe the tool path of a CNC machine, it is often necessary to approximate curves by G1 arc splines with the number of arc segments as small as possible. Ahn et al. have proposed an iterative algorithm for approximating quadratic Bézier curves by G1 arc splines with fewer arc segments than the biarc method. This paper gives the formula of the upper bound for arc segments used by their algorithm. Based on the formula, two kinds of bisection algorithms for approximating quadratic Bézier curves by G1 arc splines are presented. Results of some examples illustrate their efficiency.

Introduction

In CNC, tool paths are usually made of line segments and circular arcs [2], [3], [4], [6], [7], [8], [9]. Walton and Meek have shown some reasons why the G1 arc splines are better than polygonal curves or G0 arc splines as the tool paths [8]. Ahn et al.'s method [9] produces the G1 arc spline with fewer arcs than the biarc method [8], for it throws off the additional constraint imposed by the biarc method, that is the unit tangent vectors of the inner vertices of an arc spline should be coincident with the approximated curve at the associated positions. Firstly, they divided the quadratic Bézier with increasing curvature into N segments with their parameters uniformly distributed in its parameter domain. Secondly, the first (N−1) segments are approximated by the single arc method. Finally, the last segment is approximated by a biarc with Walton's method. They iterate the above procedure, for N=2,3,…, until the given error tolerance is satisfied. This method is simpler, and produces fewer arc segments than the biarc method.

In this paper, we introduce two kinds of bisection algorithms. At first, we provide the formula of the upper bound for arc segments in the approximate arc spline by Ahn et al.’s algorithm. Based on these formulae, we can apply the iterative bisection algorithm, searching numbers of the arc segments ranging from two to the upper bound, to get the same arc spline created by Ahn et al.’s algorithm. The other kind of bisection algorithm is based on the idea that to divide the Bézier curve with similar error tolerances between the given curve and the corresponding arcs may reduce arc segments. The curve can be divided in this way by repeatedly bisecting its parametric intervals. It is also proved that the second kind of bisection algorithm can produce the approximate G1 arc spline.

Section snippets

Upper bound of arc segments

A quadratic Bézier curve can be defined asq(t)=(1−t)2b0+2t(1−t)b1+t2b2,0≤t≤1,where b0, b1 and b2 are its control points. At first, we analyze some relationship between some angles.

Lemma 1

As shown in Fig. 1, assume that the quadratic Bézier curve q(t) with the control points b0, b1 and b2 has increasing curvature. Bisect q(t) with the equal parametric intervals and produce two new quadratic Bézier curves with control points b0, b4, b3 and b3, b5, b2, respectively. Let α1 and α2 be ∠b1b0b3 and ∠b5b3b2,

The first kind of bisection algorithm

To approximate a general quadratic Bézier curve is implemented by Algorithm 3 in the next section. In this section, we only deal with the quadratic Bézier curve with increasing curvature. According to Corollary 1, we obtain the upper bound of arc segments of the result arc spline. Therefore, the iterative bisection algorithm via bisecting searched intervals of arc segments can be applied to get the result arc spline. The algorithm is shown as follows.

Algorithm 1. The first kind of bisection

The second kind of bisection algorithm

The second kind of bisection algorithm is based on the following theorem.

Theorem 3

As shown in Fig. 4, assume that the quadratic Bézier curve q(t) with the control points b0, b1 and b2 has increasing curvature. At a given parameter t0∈(0,1), the curve is divided into two quadratic Bézier curves with the control points b0, b4, b3 and b3, b5, b2, respectively. The first curve segment is approximated by the arc which starts at b0 with the associated unit tangent vector T0 at b0 and terminates at b3, where T0

Examples and comparison

We use three examples to illustrate the efficiency of Ahn et al.'s algorithm [9] and our algorithms. The first example, coming from Ref. [9], is a quadratic Bézier curve with control points (1,1), (5,1) and (1,2.75). The second example is a quadratic Bézier curve with control points (0.54,3.40), (7.22,3.61) and (7.39,3.14). The third one is a quadratic Bézier curve with control points (0.54,3.38), (5.61,4.13) and (6.77,3.46). In the following, without confusion, Algorithm 1 refers to Algorithm

Acknowledgements

The authors acknowledge with thanks the comments and suggestions of the reviewers. The research was supported by the National Science Foundation of China.

Jun-Hai Yong is a PhD student in the Department of Computer Science and Technology, Tsinghua University, Beijing, People's Republic of China. He received his BS degree from the Department of Computer Science and Technology, Tsinghua University, Beijing, People's Republic of China, in 1996. His research interests are computer-aided design, computer graphics and the standardization of product data.

References (9)

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

Cited by (25)

  • Projecting points onto planar parametric curves by local biarc approximation

    2014, Computers and Graphics (Pergamon)
    Citation Excerpt :

    The two arcs have a common unit tangent vector at J, with orientation corresponding to a parametrization of A0 from P0 to J and of A1 from J to P1. The biarc interpolation plays an important part in tool path generation in CNC (Computerized Numerical Control) [22,23], and approximation of curves [23] and discrete data [24]. Constrained interpolation with biarc is also widely studied [21,25].

  • Error-bounded biarc approximation of planar curves

    2004, CAD Computer Aided Design
    Citation Excerpt :

    Then, it repeats the search for the next biarc starting at the end point of the most recently found biarc. As the two approaches for the biarc search are very similar to those found in Refs. [5,11,15,23], their detailed descriptions are skipped. The process of single biarc fitting can be performed either by introducing various constraints [1,2,5,7,11,13,23] or by fitting an optimized biarc to a polygon and its two end tangents.

  • Efficient circular arc interpolation based on active tolerance control

    2002, CAD Computer Aided Design
    Citation Excerpt :

    Research on the topic of smooth circular arc interpolation for parametric curves has been active in recent years [5–13].

View all citing articles on Scopus

Jun-Hai Yong is a PhD student in the Department of Computer Science and Technology, Tsinghua University, Beijing, People's Republic of China. He received his BS degree from the Department of Computer Science and Technology, Tsinghua University, Beijing, People's Republic of China, in 1996. His research interests are computer-aided design, computer graphics and the standardization of product data.

Shi-Min Hu is an associate professor in the Department of Computer Science and Technology, Tsinghua University, Beijing, People's Republic of China. He received his PhD degree in 1996 from Zhejiang University, People's Republic of China, and finished his postdoctoral research work in 1998 at Tsinghua University. His research interests are computer-aided design, computer graphics, fractal geometry and its applications.

Jia-Guang Sun is a professor in the Department of Computer Science and Technology, Tsinghua University, Beijing, People's Republic of China. His research interests are computer graphics, computer aided design, computer-aided manufacturing, product data management and software engineering.

View full text