Skip to main content
  • Original Article
  • Open access
  • Published:

Typical curve with G1 constraints for curve completion

Abstract

This paper presents a novel algorithm for planar G1 interpolation using typical curves with monotonic curvature. The G1 interpolation problem is converted into a system of nonlinear equations and sufficient conditions are provided to check whether there is a solution. The proposed algorithm was applied to a curve completion task. The main advantages of the proposed method are its simple construction, compatibility with NURBS, and monotonic curvature.

Introduction

G1 interpolation is an essential problem in many applications such as path planning and curve completion. The goal is to find a transition curve that matches the positions and associated unit tangent vectors at two given endpoints [1]. Curve completion aims to find a pleasing contour to fill in an object boundary that is partially occluded [2, 3]. This process differs significantly for humans and computers. For example, the visual system of humans can automatically complete missing parts of curves (Fig. 1), which is called visual curve completion [4,5,6]. For computers, it is necessary to identify a fairing curve matching “boundary conditions” among potential transition curves, which is called curve completion.

Fig. 1
figure 1

Kanizsa triangle consisting of three discs, each of which is missing a triangular section, and three pairs of lines. Most humans will have the impression that there is an upright triangle with black edges and an inverted triangle with white edges, which do not really exist

In computer-aided design (CAD) and computer-aided geometric design, the measurement of the fairness of curves typically depends on the curvature distribution. Farin and Sapidis [7] assumed that a fairing curve should have relatively few monotonic curvature variation segments. By virtue of linear curvature variation and the ability to minimize changes in the total curvature, the Euler spiral is considered to be the most pleasing curve for shape completion [2], so it has been widely used in various applications such as path planning and curve completion [2, 8,9,10,11]. However, the Euler spiral is defined in the form of a transcendental function that is computationally intensive and inefficient. Furthermore, the Euler spiral is not compatible with the NURBS methods, which are the standard methods in existing CAD software [12].

To overcome these shortcomings, some methods using polynomial curves or arc splines to approximate Euler curves have been proposed [3, 13,14,15,16]. Another solution is to use a polynomial curve as a design object directly. In highway design, a transition curve is typically defined between a line and a circular curve or between two circular curves. Walton et al. [17,18,19] used planar cubic Bézier spirals to construct transition curves with G2 continuity for different boundary constraints and the results of refs. [17, 19] were extended in refs. [20, 21]. Traditional methods for designing Bézier curves with monotonic curvature focused on adjusting the positions of control points until Mineur proposed the concept of a typical curve [22], which indicates a special subset of planar Bézier curves with control edges that maintain a specific geometric constraint. Sánchez-Reyes [23] pointed out that these constrained typical curves belong to the family of offset rational sinusoidal spirals and can also be expressed as a subset of rational Bézier curves called p-Bézier curves [24]. Recently, Wang et al. [25] proposed a geometric proof of the necessary and sufficient conditions for the curvature monotonicity of typical curves. In 2006, Farin [26] extended typical curves to 3D class-A Bézier curves, whose control edges were generated from a class-A matrix and initial control edge. However, the conditions of the class-A matrix have been proven to be incomplete [27] and several counterexamples have been reported [28]. Yoshida et al. [29] proposed an interactive method to generate general class-A Bézier curves by perturbing the elements of a planar typical class-A matrix. Furthermore, typical curves converge to logarithmic spiral segments as the degree is elevated and the drawable regions of typical curves for boundary constraints under different degrees can be obtained.

In recent years, geometric continuity has also been discussed based on trigonometric Bézier curves with shape parameters [30,31,32,33]. Generalized trigonometric Bézier curves are flexible and can achieve G2 continuity. However, these methods are more complex than polynomials and have not provided a way to obtain a monotonic variation of curvature. This study analyzed the sufficient conditions for the G1 interpolation problem using typical curves and developed a novel algorithm to find a fairing solution, which is applied to curve completion. For a given set of constraints, multiple solutions may exist, so a suitable criterion must be defined to find the optimal solution automatically. Furthermore, a designer can modify data manually to obtain a fair solution to fit different situations. The main contributions of this work can be summarized as follows. The sufficient conditions for G1 interpolation based on typical curves are provided and curve completion using Bézier curves with monotonic curvature is realized.

The remainder of this paper is organized as follows. Typical curves Section introduces typical curves comprehensively. Methods Section discusses the G1 interpolation problem, provides sufficient conditions for a typical curve solution, and presents a novel algorithm to solve G1 boundary constraints. In Results and discussion Section, some examples are presented to demonstrate the practicability and superiority of the proposed algorithm. The method is then applied in the application of curve completion. Finally, this paper is concluded in Conclusions Section.

Typical curves

A planar Bézier curve of degree k can be expressed as

$$ \boldsymbol{P}(t)=\sum \limits_{i=0}^k{\boldsymbol{b}}_i{B}_{i,k}(t),t\in \left[0,1\right] $$
(1)

where bi are the two-dimensional control points and Bi, (t) is the i-th Bernstein polynomial of degree k. Let the forward difference vector Vi = bi + 1 − b(i = 0, …, k − 1) be the control edge. Then, a typical curve is obtained with control edges satisfying

$$ {\boldsymbol{V}}_i=s\cdot {\boldsymbol{R}}_{\theta}\cdot {\boldsymbol{V}}_{i-1} $$
(2)

where s is a positive scale factor and Rθ is a second-order rotation matrix with a rotation angle \( \theta \in \left[-\frac{\uppi}{2},\frac{\uppi}{2}\right] \). A k-degree typical curve exhibits monotonic curvature variation if and only if

$$ \left\{\begin{array}{l}s\cdot \cos \theta \ge 1,s\ge 1\\ {}s\le \cos \theta, 0<s<1\ \end{array}\right. $$
(3)

When \( \theta \in \left[0,\frac{\uppi}{2}\right] \), it is assumed that the control edge rotates counterclockwise (Fig. 2(a)) and the relative curvature is assumed to be positive (Fig. 2(b)). In this case, if the scale factor s > 1, then the curve P(t) has a monotonically decreasing curvature. If 0 < s < 1, then P(t) has a monotonically increasing curvature. When \( \theta \in \left[-\frac{\uppi}{2},0\right] \), it is assumed that the control edge rotates clockwise (Fig. 2(c)) and the relative curvature is negative (Fig. 2(d)), so the monotonicity of curvature is opposite to \( \theta \in \left[0,\frac{\uppi}{2}\right] \). As a result of the construction process of control edge vectors, the generated curve can only be ‘C’ shaped rather than ‘S’ shaped.

Fig. 2
figure 2

The differences between different rotation angles with opposite signs. a: \( \theta \in \left[0,\frac{\uppi}{2}\right] \), s > 1, and s cos θ ≥ 1; b: The curvature is positive and decreases; c: \( \theta \in \left[-\frac{\uppi}{2},0\right] \), s > 1, and s cos θ ≥ 1; (d): The curvature is negative and increases

Methods

This section presents the G1 interpolation algorithm based on typical curves. First, the G1 interpolation problem based on typical curves is introduced briefly. The given endpoint-orientation pairs are then divided into two cases, and a novel algorithm for constructing a typical curve under the given boundary constraints is proposed.

G1 Hermite interpolation problem

In many interpolation problems, not only positions, but also the corresponding derivative values or higher-order derivatives at endpoints are required to be equal, which is called Hermite interpolation. If the interpolation curve matches the given unit tangent vectors at the two endpoints, it is a two-point G1 Hermite interpolation. Additionally, if the given curvatures at the two endpoints are also matched, it is called two-point G2 Hermite interpolation [1].

Although G2 interpolation has better continuity, it also introduces stronger constraints for the interpolation curve and the high-order continuity at endpoints is sometimes difficult to guarantee. In some applications, G1 interpolation is preferable to G2 interpolation when considering cost effectiveness, such as curve completion or path planning using Euler spirals [1]. Consider two different points PA = (xA, yA)T and PB = (xB, yB)T with the corresponding unit tangent vectors TA = (cosθA, sinθA)T and TB = (cosθB, sinθB)T, where the three vectors TA, TB, and PAPB = PB − PA are not all parallel. G1 Hermite interpolation is used to find a fairing curve that joins PA and PB on the condition that the tangent vectors at the endpoints match TA and TB, respectively.

Walton et al. [1, 34] proposed an improved Euler spiral algorithm for shape completion. However, the Euler spiral is not compatible with NURBS. Therefore, the paper proposes a more intuitive algorithm for the G1 interpolation problem based on a typical curve, which is easier to construct.

G1 interpolation problem based on a typical curve

Proposition 1

Consider the positions of two endpoints PA = (xA, yA)T and PB = (xB, yB)T, and their associated unit tangent vectors TA = (cosθA, sinθA)T and TB = (cosθB, sinθB)T, where θA and θB are orientation angles with multiple values. When θA or θB are increased or reduced by 2m π(m Z), the unit tangent vector remains unchanged. The sufficient condition for the existence of a k-degree typical curve matching the boundary constraints is that the following equation has real number solutions satisfying s cos θ ≥ 1 (s ≥ 1) or s ≤ cos θ (0 < s < 1):

$$ \left\{\begin{array}{l}{x}_A+\sum \limits_{i=1}^k\left\Vert {\boldsymbol{V}}_0\right\Vert \cdot {s}^{i-1}\cdot \cos \left[{\theta}_A+\left(i-1\right)\cdot \theta \right]={x}_B\\ {}{y}_A+\sum \limits_{i=1}^k\left\Vert {\boldsymbol{V}}_0\right\Vert \cdot {s}^{i-1}\cdot \sin \left[{\theta}_A+\left(i-1\right)\cdot \theta \right]={y}_B\end{array}\right. $$
(4)

where V0 and s are free variables with positive values and θ = (θB − θA)/(k − 1).

Proof

When the degree k is fixed, θ = (θB − θA)/(k − 1) is the rotation angle of the typical curve. If there are real number solutions such that s cos θ ≥ 1 (s ≥ 1) or s ≤ cos θ (0 < s < 1), which are the sufficient and necessary conditions for the monotonic curvature of a typical curve, the curvature of the Bézier curve constructed using this method must be monotonous.

Now we are going to analyze the sufficient conditions for the existence of solutions for Eq. (4). Considering the degree k as a free variable in Eq. (4), there are three free variables kZ+, s > 0, and V0 > 0. Eliminating V0 yields

$$ \sum \limits_{i=1}^k{s}^{i-1}\cdot \left[\left({y}_B-{y}_A\right)\cdot \cos \left({\theta}_A+\left(i-1\right)\cdot \theta \right)-\left({x}_B-{x}_A\right)\cdot \sin \left({\theta}_A+\left(i-1\right)\cdot \theta \right)\right]=0 $$
(5)

Because Bézier curves are invariant under affine transformations, one can place the first endpoint PA = (xA, yA)T at the origin and the second endpoint PB = (xB, yB)T at the positive half of the x axis using a pre-transformation, which leads to x'A = 0, y'A = 0, x'B > 0 and y'B = 0 (Fig. 3). Then, Eq. (5) is converted into

$$ \sum \limits_{i=1}^k{s}^{i-1}\cdot \left[-x{\hbox{'}}_B\cdot \sin \left(\theta {\hbox{'}}_A+\left(i-1\right)\cdot \theta \right)\right]=0 $$
(6)
Fig. 3
figure 3

Pre-transformation of arbitrary given endpoints such that P'A = (0, 0)T and P'AP'B denotes the positive direction of the x axis. This is essentially just a transformation of the local coordinate system. a: Arbitrary given endpoints; b: After pre-transformation

The superscript ' indicates a new variable obtained from the pre-transformation. The pre-transformation can be used to construct a new local coordinate system. Equation (6) is a polynomial of degree k and one can infer the number of positive roots from the Descartes rule of signs [35]. The number of sign changes in the coefficients is equal to the number of sign changes in sin[θ'A + (i − 1) θ], i = 1, …, k. Therefore, a sufficient condition to guarantee that Eq. (6) has at least one positive solution is that sin[θ'A + (i − 1) θ] changes signs an odd number of times, meaning that after pre-transformation, the sign of the sine angle for all control edges changes an odd number of times.

Angle sign change condition

Consider PA as the origin and PAPB as the positive direction of the x axis. In this new local coordinate system, the function sinα (θ'A ≤ α ≤ θ'B) only changes its sign an odd number of times.

Proposition 2

If the ASC condition is satisfied, then one can always find an appropriate degree k such that the solutions of Eq. (4) or (6) satisfy Eq. (3).

Proof

Because the affine transformation does not change the solution of the curve, Eqs. (4, 6) have the same solution and the ASC condition guarantees a positive solution for Eq. (4). When the degree k gradually increases in Eq. (6) and the rotation angle \( \theta =\frac{\theta_B-{\theta}_A}{k-1}\to 0 \) cosθ → 1, there is an sk > 0 such that sk cos θ ≥ 1 (sk ≥ 1) or sk ≤ cos θ (0 < sk < 1), meaning the solutions of Eq. (4) or (6) satisfy Eq. (3).

Corollary 1

For Eq. (4) or (6), if there is a typical curve satisfying the constraints when k = m ≥ 2, then there are also typical curve solutions when k ≥ m + 1. This means that the G1 interpolation problem has multiple solutions consisting of typical curves and the limit of the solutions increases θ → 0 with an increase in the degree k.

The ASC condition is a sufficient condition for the positive solution of Eq. (6). Even if the ASC condition is not satisfied, Eq. (4) or (6) may still have a positive root. In contrast, the ASC condition cannot guarantee solutions satisfying Eq. (3) under a fixed degree.

Two cases of G1 constraints

For convenience of expression, homogeneous coordinates will be used to represent points and vectors for the remainder of this paper. For a 2D point (x, y)T, its homogeneous coordinate can be written as (ωx, ωy, ω)T, where ω ≠ 0. This study used ω = 1. For a 2D vector (x, y)T, the homogeneous coordinate can only be expressed as (x, y, 0)T.

For an arbitrary PA = (xA, yA, 1)T, PB = (xB, yB, 1)T, TA = (cosθA, sinθA, 0)T, and TB = (cosθB, sinθB, 0)T, one can divide the G1 constraints into two cases according to the relationship between the relative positions of the three vectors TA = (cosθA, sinθA, 0)T, TB = (cosθB, sinθB, 0)T, and PAPB = (xB − xA, yB − yA, 0)T. This analysis does not consider the degenerate case in which all three vectors are parallel.

Let −π ≤ φA ≤ π denote the angle from vector TA to vector PAPB (Fig. 4). The sign of φA indicates the direction and φA > 0 indicates that TA is on the right side of PAPB. Similarly, −π ≤ φB ≤ π denotes the angle from vector PAPB to vector TB.

Fig. 4
figure 4

Angle from vector TA to vector PAPB, and from PAPB to TB

Considering the signs of these two angles, one can divide all potential constraints into two cases as follows:

Case I φAφB > 0, meaning TA and TB are located on opposite sides of PAPB (Fig. 5).

Fig. 5
figure 5

Case I: φAφB > 0. a: φA > 0, φB > 0; b: φA < 0, φB < 0

Case II φAφB < 0, meaning that TA and TB are located on the same side of PAPB (Fig. 6).

Fig. 6
figure 6

Case II: φAφB < 0. a: φA > 0, φB < 0; b: φA < 0, φB > 0

Because θA and θB can be increased or decreased by 2m π (m Z) while keeping the unit tangent vectors TA and TB unchanged, the rotation angle θ = (θB − θA)/(k − 1) can be either positive or negative, and the labeling of the given endpoint-orientation pairs can be swapped. Based on these features, there are different constructions for typical curves under the given conditions. This paper presents a practical method for choosing a suitable curve based on the position relationship between the unit tangent vectors TA TB and the vector PAPB.

Proposed algorithm

Given two endpoint-orientation pairs, the G1 interpolation algorithm is used to find the optimal solution to Eq. (4), where the degree k ≥ 2 is an integral and the rotation angle θ may have multiple values. s > 0 and V0 > 0 are the variables to be determined. The value of k can be increased from two to a set maximum value kmax. For a fixed k, one must determine the value of θ = (θB − θA)/(k − 1), which is equivalent to determining Δθ = θB − θA. The proposed algorithm provides a rule for determining Δθ automatically. For case I, let Δθ = φA + φB. For case II, let Δθ = φA + φB − sign(φA)  2π, where sign(φA) is the sign of φA. In this manner, the algorithm can find the typical curve with the lowest degree and smallest total angle between TA and TB.

Once k and Δθ are determined, one can use an optimization process to obtain s and V0 such that

$$ {\displaystyle \begin{array}{l}f\left(s,\left\Vert {\boldsymbol{V}}_0\right\Vert \right)={\left\{{x}_A+\sum \limits_{i=1}^k\left\Vert {\boldsymbol{V}}_0\right\Vert \cdot {s}^{i-1}\cdot \cos \left[{\theta}_A+\left(i-1\right)\cdot \theta \right]-{x}_B\right\}}^2+\\ {}\kern3.75em {\left\{{y}_A+\sum \limits_{i=1}^k\left\Vert {\boldsymbol{V}}_0\right\Vert \cdot {s}^{i-1}\cdot \sin \left[{\theta}_A+\left(i-1\right)\cdot \theta \right]-{y}_B\right\}}^2\end{array}} $$
(7)

becomes zero. If s > 0, V0 > 0, and Eq. (3) is satisfied, then a typical curve segment can be constructed using these values. Otherwise, the steps of the iteration should be repeated by increasing the degree k.

The pseudo code for the proposed algorithm is presented in Algorithm 1.

figure a

The algorithm first calculates an angle Δθ, which is determined by the position relationship between, TA, TB, and PAPB. Then, Eq. (7) is minimized to a value of zero iteratively by the optimization process. This step was implemented using the interior point method, which can find the minimum value of a constrained nonlinear multivariable function. For the obtained s > 0 and V0 > 0, the algorithm checks whether Eq. (3) is satisfied. Once the solutions satisfy Eq. (3), iteration can be stopped and a typical curve can be generated from the obtained data.

The algorithm proposed above avoids outputting multiple solutions by choosing an appropriate rotation angle θ = (θB − θA)/(k − 1), but this does not mean that there is only one typical curve solution under the given constraints. The main principle of the proposed algorithm is to select the minimum rotation angle Δθ = θB − θA under the given conditions and then choose the lowest degree k to satisfy the constraints. Additional solutions can be obtained by increasing the value of the degree k, modifying the angle value Δθ = θB − θA while leaving the unit tangents TA and TB unchanged, or even by exchanging the labels of PA and PB or TA and TB. These methods are discussed in detail in Results and discussion Section.

Results and discussion

This section presents some numerical experiments based on the proposed algorithm and discusses the existence of multiple solutions.

Examples of two cases of constraints

This section presents different results for two cases of constraints.

Example 1

Consider data PA = (0, 0, 1)T, θA = 0, TA = (1, 0, 0)T, PB = (50, 50, 1)T, \( {\theta}_B=\frac{2\uppi}{3} \), and \( {\boldsymbol{T}}_B={\left(-\frac{1}{2},\frac{\sqrt{3}}{2},0\right)}^{\mathrm{T}} \) (Fig. 7). It is easy to verify that this is an instance of case I that satisfies the ASC condition. In the proposed algorithm, Δθ = θB − θA is chosen as \( \Delta \theta =\frac{2\uppi}{3} \) and a solution is obtained when the degree k = 5 (Fig. 7). Figure 7(a) presents the boundary constraints and resulting curve, where PA and TA are marked in blue, and PB and TB are marked in green. Figure 7(b) presents an increasing curvature plot. The data obtained from the typical curve are presented in Table 1.

Fig. 7
figure 7

An instance of case I. a: Typical curve obtained by the proposed algorithm; b: Corresponding curvature plot

Table 1 The specific data of typical curve for Example 1

Example 2

Consider data PA = (10, 40, 1)T, θA = 0, TA = (1, 0, 0)T, PB = (40, 0, 1)T, θB = 0, and TB = (1, 0, 0)T (Fig. 8). This is an instance of case II, where Δθ is chosen as Δθ = 2π and one solution is found when k = 13 (Fig. 8). The resulting curve satisfies s > 1 (Fig. 8(a)), so its curvature plot decreases (Fig. 8(b)). The specific data are presented in Table 2.

Fig. 8
figure 8

An instance of case II. a: Typical curve obtained by the proposed algorithm; b: Corresponding curvature plot

Table 2 The specific data of typical curve for Example 2

Discussion of multiple solutions

Under the given constraints, there are three main reasons for generating multiple solutions: an increase in the degree k, different chosen values of Δθ, and the exchange of labels of two endpoint-orientation pairs. Examples of these cases are discussed below.

Increasing the degree k

According to Corollary 1, multiple solutions with different degrees exist. Figure 9 presents three typical Bézier curves with different degrees k under the given boundary conditions, where PA = (10, 20, 1)T, θA = 0, TA = (1, 0, 0)T, PB = (−20, 70, 1)T, θB = π, and TB = (−1, 0, 0)T. The three curves in different colors represent three typical curves with different degrees k. With an increase in k, the arguments of the typical curves trend toward the limits s → 1 and θ → 0 (Table 3).

Fig. 9
figure 9

Multiple solutions of typical curves with different degrees under the same conditions

Table 3 The specific data of typical curves with different degree

Different values of Δθ

The proposed algorithm provides a criterion for the determination Δθ. This is a practical rule. In fact, one can add 2m π(m Z) to the tangent vector angle while keeping the tangent direction unchanged. Therefore, one can obtain new solutions that satisfy G1 interpolation by adding 2m π(m Z) to the Δθ selected by the previously proposed algorithm. Figure 10 presents two typical curves with different Δθ, both meeting the given conditions of PA = (0, 0, 1)T, \( {\theta}_A=\frac{\uppi}{6} \), \( {\boldsymbol{T}}_A={\left(\frac{\sqrt{3}}{2},\frac{1}{2},0\right)}^{\mathrm{T}} \), PB = (30, 50, 1)T, \( {\theta}_B=\frac{2\uppi}{3} \), and \( {\boldsymbol{T}}_B={\left(-\frac{1}{2},\frac{\sqrt{3}}{2},0\right)}^{\mathrm{T}} \). The Δθ value of the carmine curve is 2π greater than that of the red curve (Table 4).

Fig. 10
figure 10

Two typical curves with different Δθ values

Table 4 The specific data of typical curves with different Δθ

Exchange of two endpoint-orientation pairs

The construction process of typical curves depends on the sequence of endpoints. If one exchanges the labels of endpoint-orientation pairs, one can obtain different solutions that meet the given conditions. As shown in Fig. 11, the red and carmine curves are two different typical curves that match the same G1 constraint. The difference between the two results is that the red curve takes the blue endpoint-orientation as the starting point and the green endpoint-orientation as the ending point. This means that PA = (10, 0, 1)T, \( {\theta}_A=\frac{5\uppi}{6} \), \( {\boldsymbol{T}}_A={\left(-\frac{\sqrt{3}}{2},\frac{1}{2},0\right)}^{\mathrm{T}} \), PB = (40, 60, 1)T, θB = 0, TB = (1, 0, 0)T, and \( \Delta \theta =-\frac{5\uppi}{6} \). The labels of the carmine curve are reversed, meaning PA = (40, 60, 1)T, θA = 0, TA = (1, 0, 0)T, PB = (10, 0, 1)T, \( {\theta}_B=\frac{5\uppi}{6} \), \( {\boldsymbol{T}}_B={\left(-\frac{\sqrt{3}}{2},\frac{1}{2},0\right)}^{\mathrm{T}} \), and \( \Delta \theta =-\frac{7\uppi}{6} \). The specific data for these two typical curves are presented in Table 5.

Fig. 11
figure 11

Different typical curves with the exchange of two endpoint-orientation pairs

Table 5 The specific data of typical curve by exchanging the two endpoint-orientation pairs

Curve completion

Curve completion is a geometric continuation of the boundaries of objects that are temporarily interrupted by occlusion [2]. Curve completion requires a visually pleasing shape and is similar to G1 interpolation, but more expansive. The principles for finding an optimal completion curve include minimizing the total curvature square [36] and minimizing the total curvature variation [2]. In this section, these rules are simplified to realize curve completion by achieving monotonic curvature. Two sets of experimental results are presented to demonstrate the application of the proposed method to curve completion and discuss the differences between the proposed approach and other interpolation methods.

Figure 12(a) presents a banana that is partially covered by a piece of tape. Figure 12(b) presents the completed curve drawn by the proposed method and Fig. 12(c) presents a local zoomed-in view of the completed curve. Figure 12(d) presents the increasing curvature.

Fig. 12
figure 12

Banana border completion. a: Partially occluded banana; b: Typical curve; c: Local zoomed-in view; d: Curvature plot

Figure 13(a) presents two overlapping leaves, one of which is partially occluded by the other. The proposed method completes the occluded boundary using a typical curve, as shown in Fig. 13(b). The corresponding monotonic curvature is presented in Fig. 13(c).

Fig. 13
figure 13

Occluded leaf edge completion. a: Two overlapping leaves; b: Typical curve; c: Curvature plot

For the curve completion problem, many studies and methods have been discussed, including methods based on Euler spirals [2, 8, 10], Euler arc splines [3], and cubic B-spline curves [37], but these methods have their own disadvantages. The Euler spiral is expressed by transcendent equations, which may lead to low computational efficiency. Another shortcoming of the Euler spiral is incompatibility with NURBS. A typical curve is a polynomial curve in the Bézier form and the G1 interpolation problem can be transformed into a simple system of nonlinear equations.

An Euler arc spline [3], which consists of several arcs with the same arc length, is considered to be an extension of the Euler spiral. Although it can be represented by NURBS, the continuity at the internal connecting points is only G1 continuous, rather than continuous curvature. In contrast, the curvature of a typical curve is continuous and monotonous over the entire curve.

For the cubic B-spline curve with monotonic curvature mentioned in ref. [37], with an increase in the number of control vectors, the B-spline curve gradually converges to a straight line as the parameter trends toward one. This feature makes the bending curvature inadequate and leads to poor control flexibility. Furthermore, the algorithm for curve completion using a monotonically cubic B-spline curve is a brutal algorithm and the cases of boundary conditions have not been fully elucidated. In the proposed method, the bending curvature can be controlled well based on the rotation angle θ or degree k, and the construction of a typical curve is simpler than the cubic B-spline curve constructed in ref. [37]. Additionally, the proposed algorithm can handle more constrained cases, which makes it more widely applicable.

Conclusions

This paper proposed a novel algorithm for G1 interpolation based on typical curves. G1 interpolation was converted into a system of nonlinear equations and a sufficient condition was provided to determine whether there is a typical curve solution with monotonic curvature in advance. The solution is obtained by means of an optimization process and numerical examples demonstrated the effectiveness and practicability of the proposed algorithm.

A single typical curve can only be ‘C’ shaped, but it would be useful to extend the proposed method to ‘S’-shaped curves and apply it to the G2 interpolation problem. In industrial production, applications with 3D curves are valuable. Future work will involve constructing 3D curves with monotonic curvatures.

Availability of data and materials

Not applicable.

Abbreviations

CAD:

Computer-aided design

References

  1. Walton DJ, Meek DS (2009) G1 interpolation with a single Cornu spiral segment. J Comput Appl Math 223(1):86–96. https://doi.org/10.1016/j.cam.2007.12.022

    Article  MathSciNet  MATH  Google Scholar 

  2. Kimia BB, Frankel I, Popescu AM (2003) Euler spiral for shape completion. Int J Comput Vis 54(1–3):159–182

    MATH  Google Scholar 

  3. Zhou HL, Zheng JM, Yang XN (2012) Euler arc splines for curve completion. Comput Graph 36(6):642–650. https://doi.org/10.1016/j.cag.2012.04.001

    Article  Google Scholar 

  4. Lin HW, Wang ZH, Feng PP, Lu XJ, Yu JH (2016) A computational model of topological and geometric recovery for visual curve completion. Comput Vis Media 2(4):329–342. https://doi.org/10.1007/s41095-016-0055-3

    Article  Google Scholar 

  5. Ben-Yosef G, Ben-Shahar O (2012) A tangent bundle theory for visual curve completion. IEEE Trans Pattern Anal Mach Intell 34(7):1263–1280. https://doi.org/10.1109/TPAMI.2011.262

    Article  MATH  Google Scholar 

  6. Ben-Shahar O, Ben-Yosef G (2015) Tangent bundle elastica and computer vision. IEEE Trans Pattern Anal Mach Intell 37(1):161–174. https://doi.org/10.1109/TPAMI.2014.2343214

    Article  Google Scholar 

  7. Farin G, Sapidis N (1989) Curvature and the fairness of curves and surfaces. IEEE Comput Graph Appl 9(2):52–57. https://doi.org/10.1109/38.19051

    Article  Google Scholar 

  8. Harary G, Tal A (2012) 3D Euler spirals for 3D curve completion. Comput Geom 45(3):115–126. https://doi.org/10.1016/j.comgeo.2011.10.001

    Article  MathSciNet  MATH  Google Scholar 

  9. Harary G, Tal A (2011) The natural 3D spiral. Comput Graph Forum 30(2):237–246. https://doi.org/10.1111/j.1467-8659.2011.01855.x

    Article  Google Scholar 

  10. Connor D, Krivodonova L (2014) Interpolation of two-dimensional curves with Euler spirals. J Comput Appl Math 261:320–332. https://doi.org/10.1016/j.cam.2013.11.009

    Article  MathSciNet  MATH  Google Scholar 

  11. Bertolazzi E, Bevilacqua P, Frego M (2020) Efficient intersection between splines of clothoids. Math Comput Simul 176:57–72. https://doi.org/10.1016/j.matcom.2019.10.001

    Article  MathSciNet  MATH  Google Scholar 

  12. Farin G (2002) Curves and surfaces for CAGD: a practical guide, 5th edn. Morgan Kaufmann, Burlington

    Google Scholar 

  13. Montés N, Herraez A, Armesto L, Tornero J (2008) Real-time clothoid approximation by rational bezier curves. In: Abstracts of the 2008 IEEE international conference on robotics and automation. IEEE, Pasadena, 19-23 May 2008. https://doi.org/10.1109/ROBOT.2008.4543548

  14. Meek DS, Walton DJ (2004) An arc spline approximation to a clothoid. J Comput Appl Math 170(1):59–77. https://doi.org/10.1016/j.cam.2003.12.038

    Article  MathSciNet  MATH  Google Scholar 

  15. Brezak M, Petrovic I (2014) Real-time approximation of clothoids with bounded error for path planning applications. IEEE Trans Robot 30(2):507–515. https://doi.org/10.1109/TRO.2013.2283928

    Article  Google Scholar 

  16. Chen Y, Cai YY, Zheng JM, Thalmann D (2017) Accurate and efficient approximation of clothoids using Bézier curves for path planning. IEEE Trans Robot 33(5):1242–1247. https://doi.org/10.1109/TRO.2017.2699670

    Article  Google Scholar 

  17. Walton DJ, Meek DS (1996) A planar cubic Bézier spiral. J Comput Appl Math 72(1):85–100. https://doi.org/10.1016/0377-0427(95)00246-4

    Article  MathSciNet  MATH  Google Scholar 

  18. Walton DJ, Meek DS (1999) Planar G2 transition between two circles with a fair cubic Bézier curve. Comput Aided Des 31(14):857–866. https://doi.org/10.1016/S0010-4485(99)00073-1

    Article  MATH  Google Scholar 

  19. Walton DJ, Meek DS, Ali JM (2003) Planar G2 transition curves composed of cubic Bézier spiral segments. J Comput Appl Math 157(2):453–476. https://doi.org/10.1016/S0377-0427(03)00435-7

    Article  MathSciNet  MATH  Google Scholar 

  20. Walton DJ, Meek DS (2012) A further generalisation of the planar cubic Bézier spiral. J Comput Appl Math 236(11):2869–2882. https://doi.org/10.1016/j.cam.2012.01.024

    Article  MathSciNet  MATH  Google Scholar 

  21. Walton DJ, Meek DS (2013) Curve design with more general planar Pythagorean-hodograph quintic spiral segments. Comput Aided Geom Des 30(7):707–721. https://doi.org/10.1016/j.cagd.2013.05.002

    Article  MathSciNet  MATH  Google Scholar 

  22. Mineur Y, Lichah T, Castelain JM, Giaume H (1998) A shape controled fitting method for Bézier curves. Comput Aided Geom Des 15(9):879–891. https://doi.org/10.1016/S0167-8396(98)00025-9

    Article  MATH  Google Scholar 

  23. Sánchez-Reyes J (2007) Offset-rational sinusoidal spirals in Bézier form. Comput Aided Geom Des 24(3):142–150. https://doi.org/10.1016/j.cagd.2007.01.001

    Article  MATH  Google Scholar 

  24. Sánchez-Reyes J (2002) P-Bézier curves, spirals, and sectrix curves. Comput Aided Geom Des 19(6):445–464. https://doi.org/10.1016/S0167-8396(02)00130-9

    Article  Google Scholar 

  25. Wang AZ, He C, Zhao G, Xu HX (2019) A sufficient and necessary criterion for curvature monotone Bézier curves. J Comput Aided Des Comput Graph 31(9):1617–1621

    Google Scholar 

  26. Farin G (2006) Class a Bézier curves. Comput Aided Geom Des 23(7):573–581. https://doi.org/10.1016/j.cagd.2006.03.004

    Article  MATH  Google Scholar 

  27. Cao J, Wang GZ (2008) A note on class a Bézier curves. Comput Aided Geom Des 25(7):523–528. https://doi.org/10.1016/j.cagd.2007.10.001

    Article  MATH  Google Scholar 

  28. Wang AZ, Zhao G (2018) Counter examples of “class A Bézier curves”. Comput Aided Geom Des 61:6–8. https://doi.org/10.1016/j.cagd.2018.02.001

    Article  MATH  Google Scholar 

  29. Yoshida N, Hiraiwa T, Saito T (2008) Interactive control of planar class a Bézier curves using logarithmic curvature graphs. Comput Aided Des Appl 5(1–4):121–130. https://doi.org/10.3722/cadaps.2008.121-130

    Article  Google Scholar 

  30. Maqsood S, Abbas M, Hu G, Ramli ALA, Miura KT (2020) A novel generalization of trigonometric Bézier curve and surface with shape parameters and its applications. Math Probl Eng 2020:4036434–4036425. https://doi.org/10.1155/2020/4036434

    Article  Google Scholar 

  31. BiBi S, Abbas M, Misro MY, Hu G (2019) A novel approach of hybrid trigonometric Bézier curve to the modeling of symmetric revolutionary curves and symmetric rotation surfaces. IEEE Access 7:165779–165792. https://doi.org/10.1109/ACCESS.2019.2953496

    Article  Google Scholar 

  32. BiBi S, Abbas M, Miura KT, Misro MY (2020) Geometric modeling of novel generalized hybrid trigonometric Bézier-like curve with shape parameters and its applications. Mathematics 8(6):967. https://doi.org/10.3390/math8060967

    Article  Google Scholar 

  33. Maqsood S, Abbas M, Miura KT, Majeed A, Iqbal A (2020) Geometric modeling and applications of generalized blended trigonometric Bézier curves with shape parameters. Adv Differ Equ 2020(1):550. https://doi.org/10.1186/s13662-020-03001-4

    Article  Google Scholar 

  34. Walton DJ, Meek DS (2008) An improved euler spiral algorithm for shape completion. In: Abstracts of the 2008 Canadian conference on computer and robot vision. IEEE, Windsor, 28-30 May 2008. https://doi.org/10.1109/CRV.2008.11

  35. Henrici P (1988) Applied and computational complex analysis, volume 1: power series integration conformal mapping location of zero. Wiley, New York

    MATH  Google Scholar 

  36. Sharon E, Brandt A, Basri R (2002) Completion energies and scale. IEEE Trans Pattern Anal Mach Intell 22(10):1117–1131. https://doi.org/10.1109/34.879792

    Article  Google Scholar 

  37. Wang AZ, He C, Hou H, Cai ZC, Zhao G (2020) Designing planar cubic B-spline curves with monotonic curvature for curve interpolation. Comput Vis Media 6(3):349–354. https://doi.org/10.1007/s41095-020-0182-8

    Article  Google Scholar 

Download references

Acknowledgements

Not applicable.

Funding

This work was supported by opening fund of State Key Laboratory of Lunar and Planetary Sciences (Macau University of Science and Technology), No. 119/2017/A3; the Natural Science Foundation of China, Nos. 61572056 and 61872347; the Special Plan for the Development of Distinguished Young Scientists of ISCAS, No. Y8RC535018; and the Science and Technology Development Fund of Macau, No. 0105/2020/A3.

Author information

Authors and Affiliations

Authors

Contributions

AW provide the conceptualization and methodology; CH, GZ, AW, FH, ZC and SL wrote the original draft; CH and AW contributed to review and editing; all authors read and approved the final manuscript.

Corresponding author

Correspondence to Aizeng Wang.

Ethics declarations

Competing interests

The authors have no competing interests in the manuscript.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

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. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

He, C., Zhao, G., Wang, A. et al. Typical curve with G1 constraints for curve completion. Vis. Comput. Ind. Biomed. Art 4, 28 (2021). https://doi.org/10.1186/s42492-021-00095-9

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1186/s42492-021-00095-9

Keywords