Computing knots by quadratic and cubic polynomial curves

A new method is presented to determine parameter values (knot) for data points for curve and surface generation. With four adjacent data points, a quadratic polynomial curve can be determined uniquely if the four points form a convex polygon. When the four data points do not form a convex polygon, a cubic polynomial curve with one degree of freedom is used to interpolate the four points, so that the interpolant has better shape, approximating the polygon formed by the four data points. The degree of freedom is determined by minimizing the cubic coefficient of the cubic polynomial curve. The advantages of the new method are, firstly, the knots computed have quadratic polynomial precision, i.e., if the data points are sampled from a quadratic polynomial curve, and the knots are used to construct a quadratic polynomial, it reproduces the original quadratic curve. Secondly, the new method is affine invariant, which is significant, as most parameterization methods do not have this property. Thirdly, it computes knots using a local method. Experiments show that curves constructed using knots computed by the new method have better interpolation precision than for existing methods.

aided design, engineering, scientific computing, and computer graphics is the construction of curves and surfaces with high precision and smoothness. They require different attributes for different applications [1][2][3][4][5][6]. To meet these requirements, good interpolation techniques and parameterization methods are needed. For scientific computation and engineering application, constructing curves and surfaces with high polynomial accuracy is desirable. This paper focuses on how to determine the parameter values, or knots, for a given set of points with high precision.

Previous work
For a given set of data points to be interpolated, P i = (x i , y i ), i = 1, . . . , n, the aim of parameterization is to assign a parameter or knot value t i , t 1 < t i < t n , for each P i . The interpolated curve can be seen as the path of a particle through space, while the parameter t can be regarded as time, so the parameterization gives the location of the particle at each moment of time. For the same set of data, even with the same interpolation methods, constructing curves with different parameterizations will result in a different interpolant. The choice of parameterization method will have a noticeable effect on the interpolated curve. Uniform parameterization is only suitable for cases when the intervals between consecutive data points are equal. In applications, three non-uniform parameterization strategies are widely used: the chord length method [7], Foley's method [8], and the centripetal method [9]. The chord length method is a sound parameterized method, as parameter spacings reflect the chord lengths between consecutive data points. However, this interpolation only works well when the parametric curve is a straight line. The centripetal method assumes that, for a single arc, the centripetal force is proportional to the change in angle of the curve tangent vector from start to end of the arc. Foley's method is an adaptive chord parameterization method giving good planar parameterization results. But in terms of the approximation error, our experiments show that none of them can produce a satisfactory result.
The works by Lee [9] and Jeong et al. [10] provide improved approaches for curves and surfaces whose curvature changes greatly and is irregular. However, our experiments show that the Jeong et al.'s method generally results in more errors than Lee's method. In addition, out of the chord length method, Foley's method, and the centripetal method, only the last can assure no local selfintersection of the constructed curve [11]. Yuksel et al. [11] gave an analysis of these three methods, and showed that the curve produced by centripetal parameterization is most visually appropriate, but no mathematical explanation was given. Therefore, although the centripetal method is especially suitable for unevenly distributed data points, the resulting interpolation curve of these methods does not always capture all data characteristics. Fang and Hung [12] refined the interpolation results of the centripetal method to better capture wiggles, especially for interpolation of abruptly changing data. Lim [13] presented a new universal parameterization for Bspline interpolation, with better performance than existing parameterizations such as the ones in Refs. [7][8][9] by depending on the nature of B-spline basis functions, but experiments showed that this method could not improve the precision of the interpolation curves.
We note that the interpolation precision of the knot location methods previously mentioned is only linear, so if knot-set computed by the above methods is used to construct interpolation curve, the interpolating curve will not be a quadratic polynomial curve when the data points are sampled from a quadratic polynomial curve. If the data points are sampled from a non-linear curve, e.g., a quadratic or cubic polynomial curve, we would hope to reconstruct the underlying high-order curve. Zhang et al. [14] proposed a global method for choosing knots such that the interpolant constructed from the knots can exactly reproduce a quadratic polynomial curve. The approximation is better than that of linear precision methods in terms of error evaluation using the associated Taylor series. Based on this method, a local method for determining knots with quadratic precision was introduced in Ref. [15]. Even though this method employs a local computation, it has the ability to preserve quadratic precision. Hartley and Judd [16] discussed two ways of choosing knots: an iterative method and a simple formula. As the B-spline nodes were used as parameter values, it can achieve good shape and good parameterization. Martin [17] proposed a method of choosing knots through optimization for parametric cubic spline interpolation. In Ref. [18], the key concept was to generate a unique curve by minimizing its stress and stretching energies. An explicit function with high precision was constructed to compute the knots directly, which avoids solving a non-linear optimization problem. Unfortunately, this method is not invariant under affine transformation, as the knot was determined from only three consecutive points. The number of control points for constructing the curve plays an important role. To solve the problem that control points are redundant or inadequate, for the 3D case, Ref. [19] extended the planar case [20], and proposed an adaptive addition and removal process to refine the control points for the B-spline curve. Some articles also discuss the parameterization problems of spatial data points for other applications, while Refs. [21][22][23][24] construct parametric surfaces via parameterization.
Parameterization for curve and surface construction is still an open problem and has attracted considerable attention. Motivated by Ref. [25], Lü [7] identified a family of curves that can be parameterized by rational chord-length, and studied how the rational quartic and cubic curves could be applied to G 1 Hermite interpolation. Similarly, Bastl et al. [26,27] extended chord length parameterization of rational curves to a family of RCL surfaces in any dimension. Tsuchie and Okamato [28] introduced a curvature continuous G 2 quadratic B-spline curve for fitting planar curves. The curve is constructed with non-uniform knots to ensure the G 2 condition, thereby reducing redundant segments in comparison to the use of uniform knots. To simplify the complicated optimization problem, Ref. [28] calculated the control points and adjusted the knot vector of the B-spline curve separately. Han [29] also discussed geometrically continuous splines in curve design, presenting a class of general quartic splines for a non-uniform knot vector. The generated quartic spline curves have C 2 continuity with three local adjustable shape parameters, which greatly influence the shape of the spline curve. Bashir [30] presented the rational quadratic trigonometric Bézier curve with two shape parameters. Two segments of the objective curve can be joined with G 2 and C 2 continuity. Stepping outside the classical tensor product setting, Ref. [31] assigned a different parameter interval to each mesh edge, allowing interpolation of each section's polyline at parameter values that can prevent wiggling or other interpolation artifacts, to yield high-quality interpolating surfaces.

Proposed method
This paper provides a new method for computing knots. Its derivation is based on the assumption that the given set of data points have been sampled from a parametric curve that can be approximated well by piecewise quadratic or cubic polynomial curves. In particular, it assumes that each curve segment between four adjacent points can be approximated by a quadratic polynomial or a cubic polynomial. If the four adjacent consecutive data points form a convex polygon, the four data points are sufficient for determining a unique interpolating quadratic polynomial curve. Otherwise, a cubic polynomial curve with one degree of freedom is used to interpolate the four points; this degree of freedom is determined by minimizing the cubic coefficient of the cubic polynomial curve. This technique constructs quadratic and cubic polynomial curves consistently, in the sense that for a quadratic polynomial curve, its cubic coefficient is zero, while for a cubic polynomial curve, its cubic coefficient is as small as possible. Minimizing the cubic coefficient of the cubic polynomial curve ensures that the cubic polynomial curve approximates the polygon formed by the four data points well, and hence has excellent shape. As the knots are determined by the quadratic curve and the cubic curve, they can reflect the distribution of the data points well. When the quadratic and cubic polynomial functions are determined, computing the knot values for each data point is an easy task.
The new method has several advantages. Firstly, the knots computed have quadratic polynomial precision: if the data points are sampled from an underlying quadratic polynomial curve, and the knots are used to construct a quadratic polynomial interpolant, the resulting curve reproduces the underlying quadratic curve. Therefore, when used for curve construction, the resulting curve has higher precision than methods with linear precision. Secondly and importantly, the new method is affine invariant. Furthermore, our method is a local method, so it is easy to modify a curve interactively, making the curve design process efficient and flexible. Experiments show that curves constructed with knots computed by the new method have better interpolation precision than curves constructed using knots from existing methods. Experiments show that the approximation precision of our method is better than for methods in Refs. [7-9, 12, 15, 18, 27].

Basis of the new method
Let P i = (x i , y i ), 1 i n, be a given set of distinct data points. The goal is to compute a knot value t i for each point P i . When the knots are used to construct a parametric curve P (t) interpolating all P i = (x i , y i ) using an existing interpolation method, P (t) should have quadratic polynomial precision as defined above.
The main idea of the new method is as follows. For each point P i , we locally compute a knot t i from consecutive data points. For the two sets of consecutive data points corresponding to P i , and P i+1 (t) are constructed through the two sets. These curves are used to compute the knot t i associated with P i .
We compute the t i to satisfy the following condition that, if the P i are taken from a parametric quadratic polynomial, for some constants α and β. This will ensure the quadratic precision requirement, since a linear transformation of knot values does not change the shape of a curve. If the data points P i , are taken from a quadratic polynomial defined by Eq. (1), any four consecutive data points {P i−2 , P i−1 , P i , P i+1 }, i = 3, 4, · · · , n − 1 will uniquely determine a quadratic polynomial curve P i (t) which is the same as P (u) in Eq. (1), but possibly with a different parameterization. Let t i j = α i u j + β i be the knots computed with respect to P i (t) passing through the four data points and P i+1 (t) are the same as the quadratic curve P (u) in Eq. (1), they may have different parameterizations. Thus, we will have two sets of knot values t i j and t i+1 j for the three data points P j , j = i − 1, i, i + 1. Since the two sequences of knots t i j and t i+1 j , j = i−1, i, i+1, are both linearly related to u i , it is possible to use a linear mapping to match the two sequences. For each point P i , as the knot t i is locally computed using two curves P i (t) and P i+1 (t), all t i could have different parameterizations, so one needs to reparameterize t i in a parameter space.
To develop a complete solution based on the idea above, we face two tasks. We must compute the local knot sequence t j from two groups of four consecutive data points separately, and then we must merge all of these local knot sequences into a global knot sequence in a parameter space which has quadratic precision. These two steps will be explained in the following sections.

Computing knot s i from consecutive data points
In this section, determining the knots of three consecutive points {P i−1 , P i , P i+1 } from their neighboring points is discussed in detail. For each set of four neighboring points {P i−2 , P i−1 , P i , P i+1 }, a quadratic curve or cubic curve Q i (s) can be uniquely defined. For the next set of four points {P i−1 , P i , P i+1 , P i+2 }, a quadratic curve or cubic curve also can be determined. The three points {P i−1 , P i , P i+1 } are shared by these two sequences. Note that each group of each three neighboring points is a participant in at least two adjacent sequences. The key is the combination of the two sequences of s i and s i+1 .

Computing s i from a quadratic polynomial
For five given consecutive points and P i+1 are noncollinear, then using the following transformation: where (1,0), as shown in Fig. 1. The quadratic polynomial P i (s) interpolating points (−1, 0), (0, −h), and (1, 0) is as follows: where 0 < s i < 1 is a parameter to be determined, satisfying: Theorem 1. In Eq. (5), the relationship between parameter s and point (x, y) is defined by Proof Eq. (5) may be rewritten as We Now By simple algebra, it follows from Eq. (10) that Eq. (7) holds.
Once the parameter s i associated with (x i , y i ) has been identified, the parameter value s at point (x, y) can be found using Eqs. (7) and (5) and simple algebra: and respectively, as shown in Fig. 1, so Eq. (11) is invariant under this affine mapping, and hence, the parameter i.e., point P i+2 is located in the area with solid lines, then the four points {P i−1 , P i , P i+1 , P i+2 } form a convex polygon, as shown in Fig. 1. When (x, y) = (x i+2 , y i+2 ), the root of Eq. (11) is given by where , point P i−2 is located in the area with dotted lines, as shown in Fig. 1. The root of Eq. (11) with (x, y) = (x i−2 , y i−2 ) is given by where G(x i−2 , y i−2 ) defined as before. We may now state the following theorem: , the roots of Eq. (11) are s r i and s l i , respectively. Proof For simplicity, (x, y) in Eq. (11) is set to (0, y). Then a(x, y), b(x, y), and c(x, y) in Eq. (12) become Then, the two solutions of Eq. (11) are Substituting Eq. (15) into Eq. (7) gives For (x, y) = (x i+2 , y i+2 ), s r i should satisfy s r i > 1: as y > h, it follows from Eq. (16) that s r i should be defined by Eq. (13). Similarly, for (x, y) = (x i−2 , y i−2 ), s l i < 0 should be defined by Eq. (14).

Computing s i from a cubic polynomial
In addition to above two cases, however, we must consider another one: when the coordinate values (x j , y j ), j = i−2, i+2, fail to meet y i+2 −h(x i+2 −1) > 0 and y i−2 + h(x i−2 + 1) > 0, i.e., points P i−2 and P i+2 are not located in the dotted line area and the solid line area, respectively, shown in Fig. 1. In this case, points (−1, 0), (0, −h), (1, 0), and (x j , y j ), j = i − 2, i + 2, do not form a convex polygon, so it is necessary to construct a cubic polynomial to interpolate the four consecutive points. Let the knots of points P j , j = i − 2, i + 2, be s j . Then The cubic polynomial interpolating the four consecutive points is Parameter s i in Eq. (18) is determined by minimizing the cubic coefficient of Eq. (18), i.e., by minimizing the following objective function: The definition of objective function Eq. (20) is reasonable. When (−1, 0), (0, −h), (1, 0), and (x j , y j ) form a convex polygon, the cubic coefficient of the curve function is zero. While, when (−1, 0), (0, −h), (1,0), and (x j , y j ) do not form a convex polygon, the cubic coefficient of the cubic curve should be as small as possible, enabling a slow and stable change of curve shape in both cases.

Computing s i
When the five points P j = (x j , y j ), i − 2 j i + 2, are taken from the same quadratic curve, s l i = s r i . However, for data points in general positions (but still assumed to form a convex chain), these five points may not lie on the same underlying quadratic curve, so s l i = s r i . In this case, we must reconcile the two values to determine a knot s i for P i . An obvious choice would be to set s i = (s l i + s r i )/2. In the following, a more elaborate, improved scheme to find s i from s l i and s r i is proposed. Reconsidering Eq. (11), let h(x, y, s) = a(x, y)s 2 + b(x, y)s + c(x, y) = 0 (21) Then, s l i and s r i are roots of h(x i−2 , y i−2 , s) and h(x i+2 , y i+2 , s), respectively, as shown in Fig. 3. Let and It is obvious that a good choice for s i in Eq. (22) gives g(r) a small value, as it follows from Eqs. (5)- (14) that small a g(r) means that P i (s) in Eq. (5) well approximates the five data points (x i−2 , y i−2 ), (0, 1), (0, 0), (1, 0), and (x i+2 , y i+2 ). The shape of g(r) is shown in Fig. 2. Our goal is to find a r c satisfying s c i = s l i + r c (s r i − s l i ) so that g(r c ) has the minimum value of g(r), as shown in Fig. 2, and defined by Eqs. (21)- (23) show that Eq. (25) is a cubic equation, so it is easy to solve. Although we found no case in  our experiments for which Eq. (25) has no root in the interval (0, 1), we handle such cases as follows: r c i is defined by Eqs. (13), (14), and (22) give three estimates for s i : s l i , s c i , and s r i , respectively, as indicated in Fig. 3. We now compute s i as a combination of s l i , s c i , and s r i . We first discuss how to define the weight ω(s i ) associated with knot s i . Whichever of s l i , s c i and s r i is closest to 0.5 should have the biggest effect on s i , so the weight ω(s l i ) should be proportional to Obviously, for s l i , s c i , and s r i , the best case is that they satisfy w(s l i ) = w(s c i ) = w(s r i ) = 0. As in this case, each of s l i , s c i , and s r i makes the curves in Eq. (5) or (18) interpolate the five points P j = (x j , y j ), j = i − 2, i − 1, i, i + 1, i + 2. Thus, the weight ω(s i ) associated with knot s i should be inversely proportional to w(s i ). Based on the discussion above, weight ω(s i ) is defined as If any of w(s l i ), w(s c i ), and w(s r i ) is zero, then s i should be set equal to it. Otherwise, s i is defined by a weighted combination of s l i , s c i , and s r i , given by

Discussion
So far we have neglected the case where some three consecutive points are collinear. We now address it. When P i−1 , P i , and P i+1 are on a straight line, we set This choice makes the quadratic polynomial through P i−1 , P i , and P i+1 a straight line with constant first derivative. This is the most naturally defined curve for this case.
Finally, for the end data points, s 2 corresponding to Q 2 (s) is determined using the four points P j , j = 1, 2, 3, 4, and s n−1 corresponding to Q n−1 (s) is determined using the points P j , j = n − 3, n − 2, n − 1, n.

Computing t i with a local method
Based on the discussion above, with two sets of four data points {P j−1 , P j , P j+1 , P j+2 }, j = i − 1, i, one can construct two quadratic curves P i (s) and P i+1 (s), with two knot intervals 1 − s i and s i+1 for P i and P i+1 , respectively. For P i (s), the knot interval for P i−1 and P i+1 is set to [0, 1], while for P i+1 (s), the knot interval for P i and P i+2 is set to [0, 1]. Hence P i (s) and P i+1 (s) are defined on different parametric spaces. The reason is as follows. For P i (s), the knot interval for P i−1 and P i+1 is [0, 1], so from Eq. (6), the knot corresponding to P i+2 is Thus, for P i (s), the knots corresponding to P i , P i+1 , and P i+2 are s i , 1, and s i+2 , respectively. Since P i+2 could have any possible position, in general, s i , 1, and s i+2 will not be 0, s i+1 , and 1 through the translation transformation defined in Eq. (6), i.e., the two sets In the following, we will use a normal form of a quadratic curve introduced in Ref. [15] to translate all P i (s), 1 < i < n, into the same parameter space, then compute the knot interval for P i and P i+1 by merging 1−s i and s i+1 . All the knot intervals corresponding to data pairs P i−1 and P i , i = 2, · · · , n−1, are combined to form a consistent global knot sequence with respect to the same parameterization of a quadratic curve.
If the knots corresponding to P i−1 , P i , and P i+1 are 0, s i , and 1, respectively, then the quadratic polynomial P i (s) passing through these three data points can be written as If P i (s) and P i+1 (s) represent the same curve, they can be transformed into the normal form in Eq. (36), and they will have the same knot intervals between P i and P i+1 . Suppose that in Eq. (33), a i = 0 or d i = 0. By the following transformation Eq. (34): x = x cos θ i + y sin θ ī and a linear reparameterization Eq. (35): (32) can be transformed into the following normal form:x where a i and d i are defined in Eq. (33). By mapping each P i (s) into normal form, for each pair of consecutive points P i and P i+1 , there are two knot intervals, Δ i i and Δ i+1 . Each of the two end data points has only one knot interval, i.e., Δ 2 1 for the pair P 1 and P 2 , and Δ n−1 n−1 for the pair P n−1 and P n . We average the two sequences of knot intervals, Δ i i and Δ i+1 i , into a single sequence of knot intervals, {Δ i }, i = 1, . . . , n − 1, using the following formula where α i and β i are weights, satisfying α i + β i = 1. We now discuss the computation of α i and β i in Eq. (39). If all the data points are taken from the same quadratic curve, then If all data points are not taken from the same quadratic curve, the values of α i and β i will be different, so Δ i i and Δ i+1 i should have different effects on Δ i . Corresponding to P i and P i+1 , there are two knot intervals 1 − s i and s i+1 .
which means that s i has higher precision than s i+1 , so i+1 . This means that α i and β i should be proportional to the values s 2 i (1 − s i ) and s i+1 (1 − s i+1 ) 2 , respectively. For convenience, we first define two knot effect factors: To determine α i and β i from Eq. (40), we first define the following objective function Minimizing G(α 1 i , β 1 i ) yields: In general, α 1 i + β 1 i = 1, they can not be used to define α i and β i directly. The factors α 0 i and β 0 i will be used to define the final α i and β i again. Now α i and β i in Eq. (39) are defined by For the end data points, there is only one knot interval, Δ 1 2 , for the pair P 1 and P 2 , and there is one knot interval, Δ n−1 n−1 , for the pair P n−1 and P n . So Δ 1 and Δ n−1 are defined by Now, the global knot sequence {t i }, i = 1, . . . , n, is determined by

Experiments
Various experiments are presented in this section, including comparisons between our method (New) with the explicit function method (M0) [18], the chord length method (M1), Foley's method (M2), the centripetal method (M3), the quadratic polynomial precision method (M4) [15], the rational chord length method (M5) [27], and the refined centripetal method (M6) [12]. The comparison is carried out using three types data points sampled from three sets of primitive curves. For consistency, two are taken from existing studies [14,15]. The 8 methods are compared by computing knots for constructing interpolation curves. The method of constructing curves and computing the tangent vector at each point follow Li et al. [18]. Afterwards, we compare the interpolation precision of piecewise cubic Hermite curves constructed by these 8 methods, and consider the performance of the algorithms. Data points of the first type are sampled from a family of ellipse arcs, F 1 (k, t) = (x 1 (k, t), y 1 (k, t)), defined by x 1 (k, t) = (2 + 0.5k)cos(2πt) where k = 0, . . . , 13. Data points of the second type are sampled from a family of cubic Hermite curves, F 2 (k, t) = (x 2 (k, t), y 2 (k, t)), k = 1, . . . , 14, defined by where d = 3 + 0.5k, and f 0 (t), f 1 (t), g 0 (t), g 1 (t) are cubic Hermite basic functions on [0, 1].
The knots computed by the new method and method M4 are exact when the data points are taken from a quadratic polynomial curve, and since F 2 (k, t) is a quadratic polynomial at k = 0, the case when k = 0 is discarded here. Plots of F 2 (k, t) = (x 2 (k, t), y 2 (k, t)), k = 0, 2, 4, . . . , 14, are given in Fig. 4. Data points of the third type are taken from four basic curves, F l (t) = (x l (t), y l (t)), l = 3, 4, 5, 6, defined as follows: x = t y = sin(πt) (47) For making the comparison, the interval [0, 1] is divided into 20 sub-intervals to define the data points where 0 < λ 0.25 to ensure the data points are non-uniformly distributed [14,15], and meet As F 2 (k, t) and F l (t), l = 3, . . . , 6 are not closed curves, it is therefore easy to reach the maximum error at the end points. Instead, the tangent vectors of F 2 (k, t) and F l (t), l = 3, . . . , 6, at the end points t = 0 and t = 1 are used to construct the cubic Hermite curves. The absolute errors of F 1 (k, t), F 2 (k, t), and F l (t), l = 3, . . . , 6, are used to evaluate the algorithms' performance, defined as below [14,15]: where P (s) denotes one of the cubic Hermite curves constructed by the 8 methods. Results of comparing these 8 methods for the first and second types of data points are given first. Tables 1 and 2 give the maximum values of errors E 1 (k, t) and E 2 (k, t) generated by the 8 methods, where in E 1 (k, t), k = 0, 1, · · · , 13, and in E 2 (k, t), k = 1, · · · , 14, when λ = 0.15 in Eq. (51). In these tables, minimum values of maximum errors are highlighted. They clearly demonstrate that the new method has lowest maximum error in most cases. Figure 5 gives the error curves E 1 (k, t) and E 2 (k, t) at k = 6, λ = 0.15 produced by the various methods, which gives a visual understanding of the precision of the curves constructed by these methods. The error curves for M5 is not shown because of its similarity to the ones for M3. These results indicate the higher precision of the curves constructed by the new method, trailed by the M0 and M4 methods.
Results on further experiments on the third type of data points, sampled from four basic curves defined by Eqs. (47)-(50), are provided in Table 3. It gives the maximum errors for the set of data points sampled from F 1 (t), when λ = 0.05i, i = 1, . . . , 5 in Eq. (51). Table 3 reveals that, for F 1 (t), the precision of the new method is much greater than for the other 7 methods. Similar comparison experiments for the other F l (t) = (x l (t), y l (t)), l = 4, 5, 6, show similar results. Table 3 also indicates that, when constructing curves interpolating the third type of data points, the new method has an obvious advantage in curve precision over the other seven methods. Among the rest seven methods, M0 provides better results than M1-M6.

Conclusions
The discussion in this paper shows that computing the knots for a given set of data points can be reduced to the problem of constructing a quadratic or cubic polynomial curve. Our new method is based on the fact that the curve segment between four adjacent points can be approximated by a quadratic polynomial or a cubic polynomial. If four adjacent consecutive data points form a convex polygon, they determine a unique quadratic polynomial interpolation curve. If the four data points do not form a convex polygon, a cubic polynomial curve with one free variable is used to interpolate the four points; the variable is determined by minimizing the cubic coefficient of the curve. Doing so makes the methods for constructing quadratic and cubic polynomials consistent, in that the cubic coefficient for the constructed quadratic polynomial curve is zero. Minimizing the cubic coefficient of the cubic polynomial curve makes the cubic polynomial curve approximate the polygon composed of the four data points well, and hence makes the curve have the shape suggested by the four data points. As the knots are determined by the quadratic curve or the cubic curve, they reflect the distribution of the data points. After the quadratic and cubic polynomial functions have been determined, computing the knot for each data point is an easy task. One of the advantages of the new method is that the knots have quadratic polynomial precision, while the ones proposed in Refs. [7-9, 12, 18, 27] have only linear precision. This means that from an approximation point of view, the new method, like the one in Ref. [15], is better than the other six methods. Therefore, when used for curve construction, the resulting curve has higher precision than for methods with linear precision. The second advantage of the new method is that it is affine invariant which is very important. Furthermore, our method is local, so it is easy to modify a curve interactively, consequently making the curve design process efficient and flexible. Experiments verify that approximation precision with our method is better than for the ones proposed in Refs. [7-9, 12, 15, 18, 27]. It is known that, when constructing a cubic spline interpolant, with suitable end conditions and knots, the constructed parametric cubic spline reproduces parametric cubic polynomials. Our next plan is to investigate whether there is a method of choosing knots with cubic precision. We also intend to extend the new method to data parameterization for constructing surfaces to fit scattered data points, so that for each local region, the parameters associated with the data points are computed using a local method, and the constructed surface has GC 1 continuity.
design, computer graphics, information visualization, virtual reality, and image processing.
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made.
The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.
Other papers from this open access journal are available free of charge from http://www.springer.com/journal/41095. To submit a manuscript, please go to https://www. editorialmanager.com/cvmj.