Appl. Math. J. Chinese Univ. 2009, 24(4): 431-442 Offset approximation based on reparameterizing the path of a moving point along the base circle ZHAO Hong-yan1,2,3 WANG Guo-jin∗1,2 Abstract. This paper presents a novel algorithm for planar curve offsetting. The basic idea is to regard the locus relative to initial base circle, which is formed by moving the unit normal vectors of the base curve, as a unit circular arc first, then accurately to represent it as a rational curve, and finally to reparameterize it in a particular way to approximate the offset. Examples illustrated that the algorithm yields fewer curve segments and control points as well as C 1 continuity, and so has much significance in terms of saving computing time, reducing the data storage and smoothing curves entirely. §1 Introduction Offset curves/surfaces, also called parallel curves/surfaces, are defined as locus of the points which are at constant distance r along the normal from the base curves/surfaces. Offsets are widely used in various CAD/CAM (Computer Aided Design and Computer Aided Manufacture) areas, such as tool path generation, 3D NC machining, solid modeling, and so on[1-5] . Given a planar parametric curve C(t) = (x(t), y(t)), the offset curve with an offset radius r is defined by Cr (t) = C(t) + rN(t), where (y 0 (t), −x0 (t)) N(t) = p x02 (t) + y 02 (t) is the unit normal of C(t). In general, the offset curve is not rational because of the square root function in the denominator of N(t), and so it is hard to be applied in CAD system. Farouki and Sakkalis[6] , and Lü[7] have introduced Pythagorean hodograph (PH) and Offsetrational (OR) curves respectively, whose offsets are rational curves, but they have not been not widely used due to less flexibility. So approximation techniques seem to be a more feasible solution to the planar curve offsetting. Received: 2008-12-08 MR Subject Classification: 65D18 Keywords: CAD/CAM, offset, circle, convolution, Bézier/B-spline curve, rational curve Digital Object Identifier(DOI): 10.1007/s11766-009-2150-z Supported by the National Natural Science Foundation of China (60933007; 60873111) *Corresponding author, E-mail: wanggj@zju.edu.cn 432 Appl. Math. J. Chinese Univ. Vol. 24, No. 4 There were a lot of researches on offset approximation, such as translating[8-10] , interpolation and fitting methods[11-13] . Cobb[8] proposed to translate each control point, whereas Tiller, et al.[9] developed translating each edge of the control polygon to derive a new control net of the approximated offset curve. Hoschek[11] suggested a least squares solution to determine the hodographs at the endpoints. Piegl, et al.[12] employed sample interpolation to approximate the offsets of NURBS curves/surfaces. Li, et al.[13] used Legendre series. Taking a different approach, Lee, et al.[14-16] proposed to treat the offset as a convolution problem. They regarded the offset curve as a convolution of a sweeping circle moving along the base curve whose radius was equal to the offset radius. Three kinds of methods were proposed: circle approximation method CAO, circle representation methods LRC, TMC (also named MO) and SRC, and the method CAMO. Method CAO[14] approximates the sweeping circle with piecewise quadratic polynomial Bézier curves, and takes the convolution of the circle and the base curve as the offset approximation. Methods LRC, TMC and SRC[15-16] represent the sweeping circle with piecewise quadratic rational Bézier curves, and take the convolution of the reparametrized sweeping circle and the base curve as the approximation. Method CAMO[16-17] approximates the circle with polynomial curves, and then reparameterizes the convolution of the circle and the base curve. However, each of them has limitations. Method CAO could not offset the circular arc, while the latter is widely applied in engineering. Method LRC employs linear reparametrization, and could not derive high quality approximation. Methods TMC and SRC use sampling technique, and could not provide explicit and reliable results. As a refinement of CAO, Ahn, et al.[17] proposed to approximate the sweeping circle by conic approximation technique[18] to yield approximated offset of the same degree as the base curve. However, it could not offset circular arcs precisely either. Besides, the methods by Lee, et al. and Ahn, et al. generate G1 continuous approximation at most. This paper provides a new high-precision offset approximation method based on reparameterizing the path drawn by a moving point along the base circle. Particular techniques are employed to reparameterize the rational quadratic unit circular arc drawn by the unit normal vectors of the base curve, relative to the initial unit base circle. The method surpasses method CAO and Ahn, et al.’s method in offsetting circular arc precisely, exceeds methods TMC and SRC in avoiding the approximation instability caused from sample dependence, and outperforms all Lee, et al.’s and Ahn et al.’s methods in yielding C 1 continuous offset approximation. More importantly, error analysis and examples show that our method outperforms the existing algorithms in global error control and the number of curve subdivisions and control points, especially in high quality approximation. Due to the high approximation precision, fewer curve subdivisions and control points, the method is practical and applicable in engineering. ZHAO Hong-yan, et al. Offset approximation based on reparameterizing the path of a moving point· · · 433 y P2=(cos2θ, sin2θ ) P1=(1, tanθ ) Q(s) 2θ P0=(1, 0) x Fig. 1 §2 Circular arc with quadratic rational representation Representing circular arc by quadratic rational form In this section, we will review the quadratic rational Bézier representation of circular arc. Suppose the central angle is 2θ(0 < 2θ < π2 ). The quadratic rational Bézier curve with three control points P0 , P1 , P2 and weights ω0 , ω1 , ω2 is defined by (1 − s)2 ω0 P0 + 2(1 − s)sω1 P1 + s2 ω2 P2 Q(s) = (xQ (s), yQ (s)) = , 0 ≤ s ≤ 1. (1 − s)2 ω0 + 2s(1 − s)ω1 + s2 ω2 To represent the circular arc in Fig.1, assume P0 = (1, 0), P1 = (1, tan θ), P2 = (cos 2θ, sin 2θ), ω0 = ω2 = 1, ω1 = cos θ. The two components xQ (s), yQ (s) of Q(s) are (1 − s)2 + 2(1 − s)s cos θ + s2 cos 2θ , xQ (s) = (1 − s)2 + 2(1 − s)s cos θ + s2 2(1 − s)s sin θ + s2 sin 2θ yQ (s) = . (1 − s)2 + 2(1 − s)s cos θ + s2 §3 Offset curve approximation In this section, a regular parametric polynomial/rational curve C(t) of degree d is considered. Its offset approximation will be represented with piecewise rational curve segments. Suppose C(t) = (x(t), y(t))(0 ≤ t ≤ 1) satisfies the following conditions: it is convex; the range of the direction angles of the normal vectors is less than π2 ; y(0) = x0 (0) = 0, y 0 (0) > 0. If the base curve dose not meet the above requirements, we can do a simple rotation to bring it into accord. 0 (t) Let α(t) = arctan(− xy0 (t) ) denote the directed angle from the positive half of x axis to the unit normal N(t) of C(t). Then there is α(0) = 0. Assume α(1) = 2θ, that is, y 0 (1) sin 2θ = −x0 (1) cos 2θ. Since N(t) is a unit vector function, its locus can be seen as the locus of a moving point on the sweeping circle with the centre moving along the base curve. On the other hand, this moving point draws a unit circular arc with central angle 2θ relative to the initial unit base circle, and so the circular arc can be exactly represented as the quadratic rational Bézier curve Q(s)(0 ≤ s ≤ 1) defined in §1. The circular arc Q(s)(0 ≤ s ≤ 1) here does not represent the real locus of the normal N(t)(0 ≤ t ≤ 1). It is just a relative locus on the initial unit base circle. Since the base curve 434 Appl. Math. J. Chinese Univ. Vol. 24, No. 4 C r (t 't ) a Cr (t ) J C (t 't ) G Q( s(t )) E Cr (t ) N (t ) C (t ) Fig. 2 Curve segment offset in the convex direction is not always an OR (offset-rational) curve in general, so no rational parametrization t = t(s) exists to make the unit normal vector rational-represented. Nevertheless, we can find a rational transformation s = s(t), and use it, to obtain the curve Car (t) = C(t) + rQ(s(t)) as an approximation of the offset Cr (t) = C(t) + rN(t). The transformation should be properly designed such that Car (t) is C 1 continuous, interpolates endpoints and offsets circular arc precisely. Since ||Q(s(t))|| ≡ ||N(t)|| ≡ 1 holds for 0 ≤ t ≤ 1, the approximation error comes only from the direction deviation between vectors Q(s(t)) and N(t). Inspired by Lee et al.[15] , the approximated reparametrization may be defined by [a(1 − t) + bt]x0 (t) + [c(1 − t) + dt]y 0 (t) s(t) = , [e(1 − t) + f t]x0 (t) + [g(1 − t) + ht]y 0 (t) where a, b, c, d, e, f , g and h are undetermined coefficients. Note that Car (t) should be a C 1 endpoints interpolation of the exact offset, which requires that ¯ ¯ dQ(s(t)) ¯¯ N(t) ¯¯ s(i) = i, = , i = 0, 1. (1) ¯ dt dt ¯t=i t=i In addition, arcs should be offset precisely. Assume the arc is represented by C∗ (t) = (x∗ (t), y ∗ (t)) ¶ µ 2(1 − t)t sin θ + t2 sin 2θ (1 − t)2 + 2(1 − t)t cos θ + t2 cos 2θ , . = (1 − t)2 + 2(1 − t)t cos θ + t2 (1 − t)2 + 2(1 − t)t cos θ + t2 In this case, C∗ (t) + rQ(s(t)) should be equal to the exact offset. That is, C∗ (t) + rQ(s(t)) = C∗ (t) + rN∗ (t), where N∗ (t) is the unit normal of C∗ (t). It is easy to transform the above equation to t = s(t). Solving the linear system of Eqs. (1) and (2), we get a = cos θ, b = 1, c = d = 0, e = cos θ − cos 2θ, f = 1 − cos θ cos 2θ, g = − sin 2θ, h = − sin 2θ cos θ. (2) ZHAO Hong-yan, et al. Offset approximation based on reparameterizing the path of a moving point· · · 435 C (t 't ) G a Cr (t ) J Q( s(t )) E C r (t 't ) Cr (t ) Fig. 3 C (t ) N (t ) Curve segment offset in the concave direction Also the reparametrization s = s(t) can be written out. Here, we give some explanations for s(1) = 1. Applying y 0 (1) sin 2θ = −x0 (1) cos 2θ to s(1), we have − sin 2θ s(1) = = 1. (1 − cos θ cos 2θ)(− sin 2θ) − sin 2θ cos θ cos 2θ For those regular, but not simple base curves, it should be subdivided so that each segment is convex or concave, and the range of direction angles of normal vectors is less than π2 . Then the parameter domain should be transformed to [0, 1] by a simple translation and scaling. Finally, a rotation is required to locate the beginning point on the X-axis, with its tangent parallel to the positive Y-axis. For a polynomial curve C(t) of degree d, the degree of our approximated offset curve is 3d and 5d − 2 for a rational curve, 2 degrees higher than 3d − 2 and 5d − 4 generated by Lee, et al.[14] §4 Error analysis Most of existing methods estimate the approximation error only on finite samples. It cannot achieve global control. Elber, et al[19] proposed to find the maximum of the function e(t) = ||C(t) − Car (t)||2 − r2 for error estimation. However, there always exists e(t) ≡ 0 to LRC, TMC, SRC and our method, because the distance between Car and C(t) always equals the offset radius r. So this estimation is invalid. Elber, et al[19] provided another solution: computing the direction deviation angle from the differential vector Car (t) − C(t) to the normal N(t). Suppose the angle is β, there is cos β = Q(s(t)) · N(t). Lee, et al.[15-16] employed the method. They found that e(t) ≈ r sin β to their algorithms. Zhao et al.[20] proposed a novel way to improve the error estimation of circle representation for offset approximation. They classified the base curve, investigated the deviation angle, and obtained more precise error bounds. In this paper, we will employ this new method to estimate the error bound, and compare different offset 436 Appl. Math. J. Chinese Univ. Vol. 24, No. 4 C(1) C(t0) Cr(t0) C(t) Car (t0) Car (1)=Cr(1) Fig. 4 Trimmed curve. The exact offset Cr (t) and the normal N(t) are drawn in red. The approximation a offset Ca r (t) and Cr (t) − C(t) are drawn in green. approximation algorithms in the next section. In the below we shall give a brief introduction of the error estimation method. Given a point C(t) on the base curve, we can find a unique point C(t + ∆t) in its neighborhood so that the offset point of approximation Car (t) lies on the normal line of C(t + ∆t) (Fig. 2 and 3), here ∆t is a slight increment and t + ∆t ∈ [0, 1]. The equivalent mathematic description is that, for any t ∈ [0, 1], there is a scale number λ so that C(t+∆t)+λrN(t+∆t) = C(t) + rQ(s(t)), where λ is in fact a function dependent on t. Since λr measures the distance between the base curve and the offset curve along normal directions, the error r(λ − 1) between it and the offset radius can be seen as the approximation error. This error comes from human’s visual habits, is close to the exact error. Define the direction angle between N(t + ∆t) and Q(s(t)) by γ, and that between N(t + ∆t) and C(t) − C(t + ∆t) by δ, then λ has the following expression[20] : C(t) − C(t + ∆t) λ = Q(s(t)) · N(t) + · N(t + ∆t) r ||C(t) − C(t + ∆t)|| = cos γ + · cos δ. r The approximation error is µ ¶ ||C(t) − C(t + ∆t)|| (λ − 1) = r cos γ − 1 + · cos δ . (3) r Zhao, et al.[20] proposed to classify the base curve into two kinds: one is offset in their convex side (Fig. 2), and the other is classified in their concave side (Fig. 3). The relationships between angles γ, β and δ are discussed respectively, and applied into Eq. (3). Then the error bound of the offset approximation is obtained. To the base curve offset in the convex side, the error bound is[20] −r sin2 β ≤ r(λ − 1) ≤ 0. (4) ZHAO Hong-yan, et al. Offset approximation based on reparameterizing the path of a moving point· · · Fig. 5 437 Quadratic circular arc splines To the base curve offset in the concave side, the error bound is[20] r sin2 β β cos β(1 + 2η) − η 2 − ≤ r(λ − 1) ≤ 2r(sin2 ) , (5) 2 2 2 (cos β − η)2 (cos β − η) + sin β r where η = ρ(t) , ρ(t) is the curvature radius function of the base curve. For those points where ρ(t) is close to the offset radius r, a large error bound may be concluded from Eq. (5). In fact, since self-intersections usually happen in the neighborhood of those points, they are generally intentionally eliminated in advance. Then we can always find a positive constant η ∗ > η = ρr for any point 0 ≤ t ≤ 1. Replace η with η ∗ in Eq. (5) and an error bound only related to β will be got. Note that cos β = Q(s(t)) · N(t), which is a rational polynomial. After a symbolic computation the range of cos β (or β) is obtained. Applying it to Eqs. (4) and (5), we will derive the estimation error bounds. When the curve C(t) is a trimmed curve or self-intersection that occurs on exact/approximated offset curves, the discussion may be a little complicated. The assumption that C(t + ∆t) always exists as a foot-point of Car (t) on the base curve may not hold at the endpoints and near the self-intersections. Then the global error may not be controlled. Nevertheless, since the method in this paper guarantees C 1 endpoint interpolation, the assumption always holds (Fig. 4). For self-intersecting offset curves, we apply the method in Lee, et al.[14] to eliminate the self-intersecting loops, which is omitted here. §5 Experimental results In this section, we compare experimental results of our method with previous methods. Different methods are first compared in terms of exact circular arc offsetting and the total number of control points of approximated offsets. Then the methods by Lee, et al.[14-16] and Ahn et al.[17] are compared with ours in relation to the error estimation bounds. Fig. 5 represents a circle expressed by quadratic rational Bézier splines. Known from §3, the method in this paper can offset it exactly. The result is also a quadratic rational spline curve having the same degree and number of control points with the base curve. The existing methods hardly achieve that except LRC, TMC and SRC methods. Figs. 6 and 7 represent a uniform cubic B-spline curve and a cubic Bézier curve with their offsets respectively. The input curves are drawn in thick lines. The comparisons are shown in 438 Appl. Math. J. Chinese Univ. Vol. 24, No. 4 0.1 Cob Elb Elb_2 Til Lst Lst_2 Lee Zhao 2IIVHWHUURU 0.01 1E-3 1E-4 1E-5 1E-6 1 10 100 1000 1XPEHURIFRQWUROSRLQWV Fig. 6 Offset for a uniform cubic B-spline curve: (a) offset using our method; (b) total number of control points generated by existing methods and our method Table 1 Comparison on the numbers of control points of the approximation curves offsetting the same cubic uniform B-spline curve by different methods under the various error bounds |δ| |δ| 10−3 10−4 10−5 Cob 208 637 1846 Elb 174 417 1357 Elb2 190 550 1690 Til 202 640 1918 Lst 84 138 240 Lst2 94 166 277 Lee 141 211 365 Zhao 109 136 172 the right sides in Figs. 6 and 7, where the code of each algorithm is the same as in Lee[14] . Our method is appended in the last column of Tables 1 and 2, denoted by Zhao. The input curve in Fig. 6 is a uniform cubic B-spline curve with 7 control points: (−3.01619, 2.34143), (−3.97193, −2.20842), (−1.07045, 0.0722807), (0.319568, −2.77522), (−0.152767, 2.299), (2.92416, −0.939865), (2.8027, 3.02775). An offset radius 0.5 is used in the example. The input curve in Fig. 7 is a cubic Bézier curve with 4 control points: (−0.785938, 0.891849), (−0.993306, −0.59695), (0.3, −2.5), and (0.9, −0.2). The offset radius is 1.0. The experiments show that our algorithm generates much fewer control points than previous methods, only except the methods Lst and Lst2 in Fig. 6 with the given approximation error bound 10−3 , and the method Lst in Fig. 7 with the approximation error bound 10−3 or 10−4 . The main reason is that the offset yielded by our method has relatively high degree. Nevertheless, when the number of curve subdivisions is considered, our method performs much better. Fig. 6 shows that the control points yielded by other methods increase greatly when the given error is decreased, so the curve subdivisions increase greatly. However, the control points generated by our method increase slowly, so do the curve subdivisions. Our method to this point has more advantages in data storage and time saving when the offset curve is stored and processed by segments. If the given tolerance is less than 10−4 , our algorithm outperforms others in the number of control points, as well as subdivisions. Besides, the offset curve continuity obtained by our method is up to C 1 , higher than those by other methods. So our algorithm is fairly suited for high precision offset approximation with high continuity. Almost none of the existing methods obtain a precise error bound due to the complicated ZHAO Hong-yan, et al. Offset approximation based on reparameterizing the path of a moving point· · · 439 0.1 Cob Elb Elb_2 Til Lst Lst_2 Lee Zhao 2IIVHWHUURU 0.01 1E-3 1E-4 1E-5 1E-6 10 100 1000 10000 1XPEHURIFRQWUROSRLQWV Fig. 7 Offset for a cubic Bézier curve: (a) offset using our method; (b) total number of control points generated by existing methods and our method C(t) C1(t) Fig. 8 C2(t) Offset for a quintic Bézier curve: (a) before subdivision; (b) after subdivision expression of N(t). Neither does ours. However, we can still find a relatively practical error bound based on strict numerical analysis to lots of examples. For the length limitation of the paper, below we only give some explanations to the examples in Figs. 6 and 7. The uniform cubic B-spline curve (Fig. 6) can be divided into four curve segments. Computing 2θ and sin2 β for each curve segment, we get sin2 β ≈ 0.019(sin θ)6.105 , sin2 β ≈ 0.03(sin θ)6.181 , sin2 β ≈ 0.024(sin θ)6.182 and sin2 β ≈ 0.0214(sin θ)6.175 by fitting technique . So for the cubic B-spline curve, sin2 β is at least O(θ6 ). Divide the cubic Bézier curve (Fig. 7) to three curve segments. The relationship between 2θ and sin2 β of each segment is: sin2 β ≈ 0.000398(sin θ)7.88 , sin2 β ≈ 0.000395(sin θ)7.87 and sin2 β ≈ 0.0994(sin θ)7.88 . So sin2 β is about O(θ7 ), better than that of the cubic B-spline curve. It is reasonable because the inflexion points on the B-spline curve influence the approximation effect. Besides the statistical analysis, below we will provide another way to compare the approximation error yielded by previous methods and ours. In 2004, by showing a table, Ahn, et al[17] compared the error bounds of approximate curve segments generated by Lee et al[14] and their algorithm, to illustrate their advantages. Since our algorithm is a direct improvement to that of Lee, et al and Ahn et al, in the following, we will also give a comparison on error bounds of all these algorithms, including Lee et al’s, Ahn et al’s and ours, by employing the similar table format shown in Ref. [17], so as to make the discussion more convincing. Fig. 8 represents a quintic Bézier curve and the offsets before and after one subdivision. The error bound of each curve segment is compared in Table 3. The error estimation method of Zhao, et al[20] is used. The results show that our algorithm yields smaller error bound, but higher precision. We do lots of experiments to validate the correctness and effectiveness of our method. Fig. 440 Appl. Math. J. Chinese Univ. Fig. 9 Vol. 24, No. 4 (a) (b) (c) (d) (a) Dinosaur; (b) Logo of Beijing 2008 Olympics; (c) Dancer; (d) Elephant 9 shows some of them, four pieces of artistic patterns composed of a set of offsets respectively. Our method is useful in CAD / CAM. §6 Conclusion We present a new offset curve approximation method based on reparameterizing the rational quadratic unit circular arc drawn by the unit normal vectors of the base curve, relative to the initial unit base circle. Theoretical analysis and experimental results show that our algorithm surpasses most of the existing methods in approximation precision, as well as in precise circle offsetting, sample technique independence, and C 1 offset approximation. Like Lee, et al’s method[14] , the main disadvantage of our method is that the approximated offset curves are rational curves of relatively high degree. The degrees are 3d and 5d − 2 respectively, 2 degrees higher than 3d − 2 and 5d − 4 in Lee, et al[14] , where d is the degree of the original Bézier or rational Bézier curve. However, it is deserved at the expense of little increase of the degree to yield the much smaller error bounds and number of segmented curves and control points, especially for high precision approximation. ZHAO Hong-yan, et al. Offset approximation based on reparameterizing the path of a moving point· · · 441 Table 2 Comparison on the numbers of control points of the approximation curves offsetting the same cubic Bzier curve by different methods under the various error bounds |δ| |δ| 10−3 10−4 10−5 Cob 94 316 865 Table 3 C (t) C 1 (t) C 2 (t) Elb 74 216 974 Elb2 97 247 769 Til 97 322 886 Lst 19 31 50 Lst2 31 46 88 Lee 50 85 141 Zhao 28 37 46 Comparison on error bounds between Lee et al.’s and Ahn et al.’s methods and ours CAO 1.24 0.0443 0.0256 Ahn 0.1030 0.0391 0.0430 LRC [−0.2780, 0] [−0.1133, 0] [−0.1109, 0] TMC [−0.1235, 0] [−0.0496, 0] [−0.0636, 0] SRC [−0.0970, 0] [−0.0435, 0] [−0.0487, 0] Zhao [−0.0837, 0] [−0.0382, 0] [−0.0207, 0] References 1 Hansen A, Arbab F. An algorithm for generating NC tool paths for arbitrarily shaped pockets with islands, ACM Transactions on Graphics, 1992, 11(2): 152-182. 2 Held M. On the Computational Geometry of Pocket Machining, Berlin: Springer-Verlag, 1991. 3 Chen Y J, Ravani B. Offset surface generation and contouring in computer-aided design, Journal of Mechanisms, Transmissions and Automation in Design: ASME Transactions, 1987, 109(3): 133-142. 4 Kuragano T, Sasaki N, Kikuchi A. The FRESDAM system for designing and manufacturing free form objects, In: Martin R ed, USA-Japan Cross Bridge, Flexible Automation, 1988, 2: 931-938. 5 Patrikalakis N M, Prakash P V. Free-form plate modeling using offset surfaces, Journal of Offshore Mechanics and Arctic Engineering, 1988, 110(3): 287-294. 6 Farouki R T, Sakkalis T. Pythagorean hodographs, IBM Journal of Research and Development, 1990, 34(5): 736-752. 7 Lü Wei. Offset-rational parametric plane curves, Comput Aided Geom Design, 1995, 12(6): 601-616. 8 Cobb E S. Design of sculptured surfaces using the B-spline representation, Salt Lake City, Utah, USA: University of Utah, 1984. 9 Tiller W, Hanson E G. Offsets of two-dimensional profiles, IEEE Computer Graphics and Application, 1984, 4(9): 36-46. 10 Elber G, Cohen E. Offset approximation improvement by control points perturbation, In: Lyche T, Schumaker L L eds, Mathematical Methods in Computer Aided Geometric Design II, New York: Academic Press, 1992, 229-237. 11 Hoscheck J. Spline approximation of offset curves, Comput Aided Geom Design, 1988, 20(1): 33-40. 12 Piegl L A, Tiller W. Computing offsets of NURBS curves and surfaces, Comput Aided Design, 1999, 31(2): 147-156. 13 Li Y M, Hsu V Y. Curve offsetting based on Legendre series, Comput Aided Geom Design, 1998, 15(7): 711-720. 442 Appl. Math. J. Chinese Univ. Vol. 24, No. 4 14 Lee I K, Kim M S, Elber G. Planar curve offset based on circle approximation, Comput Aided Design, 1996, 28(8): 617-630. 15 Lee I K, Kim M S, Elber G. New approximation methods of planar offset and convolution curves, In: Strasser W, Klein R, Rau R eds, Geometric Modeling: Theory and Practice, Heidelberg: Springer-Verleg, 1997, 83-101. 16 Lee I K, Kim M S, Elber G. Polynomial/rational approximation of Minkowski sum boundary curves, Graphical Models and Image Processing, 1998, 60(2): 136-165. 17 Ahn Y J, Kim Y S, Shin Y. Approximation of circular arcs and offset curves by Bézier curves of high degree, J Comput Appl Math, 2004, 167(2): 405-416. 18 Floater M. An O(h2n ) Hermite approximation for conic sections, Comput Aided Design, 1997, 14(2): 135-151. 19 Elber G, Cohen E. Error bounded variable distance offset operator for free form curves and surfaces, Internat J Comput Geom Appl, 1991, 1(1): 67-78. 20 Zhao H Y, Wang G J. Error analysis of reparametrization based approaches for curve offsetting, Comput Aided Design, 2007, 39(2): 142-148. 1 Department of Mathematics, Zhejiang University, Zhejiang 310027, China 2 State Key Laboratory of CAD & CG, Zhejiang University, Zhejiang 310027, China 3 College of Fundamental Studies, Shanghai University of Engineering Science, Shanghai 201620, China