Next Article in Journal
Design and Experimental Verification of a General Single-Switch N-Stage Z-Network High Gain Boost Converter
Next Article in Special Issue
Generalized de Boor–Cox Formulas and Pyramids for Multi-Degree Spline Basis Functions
Previous Article in Journal
On New Generalized Viscosity Implicit Double Midpoint Rule for Hierarchical Problem
Previous Article in Special Issue
Equiareal Parameterization of Triangular Bézier Surfaces
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

G2 Hermite Interpolation by Segmented Spirals

School of Science, Hangzhou Dianzi University, Hangzhou 310018, China
*
Author to whom correspondence should be addressed.
Mathematics 2022, 10(24), 4757; https://doi.org/10.3390/math10244757
Submission received: 10 October 2022 / Revised: 4 December 2022 / Accepted: 11 December 2022 / Published: 14 December 2022
(This article belongs to the Special Issue Computer-Aided Geometric Design)

Abstract

:
A curve with single-signed, monotonically increasing or decreasing curvatures is referred to as a planar spiral. G 2 Hermite data are spiral G 2 Hermite data for which only interpolation by a spiral is possible. In this study, we design segmented spirals to geometrically interpolate arbitrary C-shaped G 2 Hermite data. To separate the data into two or three spiral data sets, we add one or two new points, related tangent vectors and curvatures. We provide different approaches in accordance with the various locations of the external homothetic centers of two end-curvature circles. We then match new data by constructing two or three segmented spirals. We generate at most three piecewise spirals for arbitrary C-shaped data. Furthermore, we illustrate the suggested techniques with several examples.

1. Introduction

Spirals are curves with single-signed, monotonically increasing or decreasing curvatures. A planar curve is believed to be fair and attractive if its curvature plot has few monotonically increasing curvature sections [1].
The benefit of using spiral segments in the design of fair curves, particularly revolution and swept surfaces, is being able to mill an arbitrary surface, that is, controlling unwanted flat spots and undulations [2]. Given the spiral nature of a clothoid, it is often used as a transition curve among circles, straight lines, or circles and straight lines in highway designs and railway routes [3,4,5,6], mobile robot trajectories [7] and other modern manufacturing applications (see [2,8] and references therein).
Two provided endpoints and two unit tangent vectors are the G 1 -dimensional Hermite data components. In [9,10], hodographs can match G 1 data, but higher-order polynomials are required compared with standard polynomial interpolations. Log-aesthetic curves are general curves with many appealing properties. They are costly to be computed [11,12]. Clothoids are given by matching any G 1 Hermite data with one segment [13], but one nonlinear equation should be solved. Various spiral types have been used for interpolating G 1 Hermite data [2,14,15,16,17,18,19]. They connect all G 1 data but have no control on the curvatures.
Two provided endpoints, two unit tangent vectors and two signed curvatures are the G 2 -dimensional Hermite data components. The C-shaped data of G 2 Hermite type can be interpolated using a C-shaped curve. G 2 Hermite data are spiral G 2 Hermite data for which only interpolation by a spiral is possible [20]. Hodographs can match G 2 data with a polynomial of degree seven, which is good for offset properties [9,10]. Biarcs cannot match arbitrary G 2 data with single arcs, so more than three arcs are required and jumps are observed in curvatures. Clothoids can match arbitrary G 2 data with three arcs and have continuous curvatures, but a 2 × 2 nonlinear system must be solved [21]. An efficient algorithm for the computation of a C 2 interpolating clothoid spline was presented in [22]. Among the nine various targets/problems considered, the problems were solved with a couple of Newton iterations, whereas complex minimizations were solved with a few iterations of a nonlinear solver. Ref. [23] presented a C++ library with a MATLAB interface for computing clothoid curves and related algorithms.
Some existing studies match G 2 Hermite data by piecewise spirals or design G 2 curves with spiral segments. Ref. [24] described an extension to the additional case of the technique of drawing with a Bézier spiral segment that matches the position, tangent and curvature of the end of another segment. In the design field, ref. [25] proposed a new interactive G 1 and G 2 Hermite interpolation method with a secondary minor boundary condition. In this novel approach, coupled log-aesthetic curve segments, which may include inflection points (S-shaped curve) or cusps, were computed. Ref. [26] outlined two G 2 Hermite interpolation situations, which could be solved with a pair of rational spiral segments. The first involved building C-shaped spiral segments that connected two consecutive zero curvature points, whereas the second involved joining two spiral segments between two points with given tangents and curvatures of opposite sign. Ref. [27] demonstrated how quadratic rational Bézier curve segments with monotone curvatures could be used to design curvature continuous curves. Choosing low-order polynomials for representing curvature radius functions, ref. [28] described a planar G 2 Hermite data interpolation by a pair of smooth-connected integral curves, but it was not guaranteed that a positive solution would always be present.
Due to the requirement of achieving G 2 continuity at the joints of neighboring spiral segments [29], various spirals types have been used for G 2 Hermite data interpolation [29,30,31,32,33,34,35]. Following the Kneser theorem in [20], with an appropriate method to choose the free parameters of biarcs, a planar spiral can be approximated by a spiral arc spline [34]. Ref. [36] presented a biarc-based subdivision scheme that could match any C-shaped spiral G 2 Hermite data by a spiral segment, including the case where the curvature at one end was zero.
G 3 piecewise rational PH spirals are constructed by interpolating G 3 Hermite data associated with two nonconcentric circles, one inside the other [37]. Ref. [38] presented a Hermite interpolation scheme for boundary data and arc length constraints using PH curves of degree seven. In this way, the solutions of the continuity equations could be derived in a closed form, depending on four free parameters. To achieve a G 3 Hermite interpolation with a low degree curve, ref. [39] studied planar G 3 Hermite interpolation using a quintic Bézier curve.
Regarding matching arbitrary G 2 Hermite data by piecewise spirals, existing methods either use special segmented spirals to design curves or cannot guarantee the solution existence. That is, they can only interpolate special G 2 Hermite data and cannot process general data. Through the biarc-based subdivision scheme, ref. [36] generated a planar spiral matching an arbitrary set of given spiral G 2 Hermite data. On the basis of the subdivision scheme proposed in [36], we present a geometric method for matching arbitrary C-shaped G 2 Hermite data by at most three piecewise spirals. The basic idea is to intersect one or two new points with their tangents and curvatures, dividing the data into two or three spiral data sets with G 2 continuity. The new data are then matched with two or three piecewise spiral segments using the method proposed in [36]. The conclusions are given in the form of algorithms, which are simple and effective, have obvious geometric significance and do not require solving equations.
In this study, the curvatures of a spiral segment are always assumed to be positive. The rest of this paper is organized as follows: the backgrounds of the external homothetic centers of two circles are introduced in Section 2. The spiral G 2 Hermite data and some theoretical background are also briefly discussed. Matching nonspiral data by piecewise spirals is presented in Section 3. A few experimental examples are provided in Section 4 to illustrate the suggested techniques. Concluding observations and future work suggestions are covered in Section 5.

2. External Homothetic Centers of Two Circles and Spiral G 2 Hermite Data

2.1. External Homothetic Centers of Two Circles

A homothetic center is the meeting point of lines that connect corresponding points from homothetic figures [40]. Radii are drawn parallel and in the same direction on two nonconcentric circles, then the line connecting the extremities of the radii passes through a fixed point on the line of centers, dividing that line externally in the ratio of the radii. This point is the external homothetic center called C. If radii are drawn in opposite directions, rather than parallel, then the extremities of the radii pass through a fixed point on the line of centers, dividing that line internally in the ratio of the radii. This point is the internal homothetic center known as C I .
In general, C of the two separation circles is the meeting crossing point of the common external tangents of two circles, whereas C I is the meeting crossing point of the common internal tangents of two circles (see Figure 1a). The common tangent point C of two internally tangent circles is only one, whereas the common tangent point C of two containing circles is in the common region of two circles interior, that is, C is inside both circles. When the two circles are moving closer to each other, C is changed (see Figure 1b–g). C is also defined for two concentric circles, being their common center in that case (see Figure 1g).
For convenience, we use the same coordinates to represent points and row vectors. If points P = ( x P , y P ) , Q = ( x Q , y Q ) , then P Q : = ( x Q x P , y Q y P ) is a vector and a ray, emanating from point P to point Q. Let vector T = ( x , y ) , P + T be also defined as a ray, emanating from point P in direction T. All rotating angles are obtained in a counterclockwise direction, and T Φ ( θ ) = ( x cos θ y sin θ , x sin θ + y cos θ ) is defined as a vector obtained by a rotation T of angle θ . Here, the rotation matrix is Φ ( θ ) = cos θ sin θ sin θ cos θ . Moreover, T = ( y , x ) results from rotating T with an angle π / 2 . T is defined as the length of vector T.
Let O A and O B be the centers of two circles, and r A and r b be their respective radii. Define unit vector n : = ( O A O B ) ( O A O B ) . Then, points H A = O A + r A n and H B = O B + r B n are on the circles O A and O B , respectively, and O A H A is parallel to O B H B . According to the definition of C, C = O A + λ O B O A = H A + λ H B H A . Substituting H A and H B into C, we have [ r A + λ ( r A r B ) ] n = O , so λ = r A r B r A , and we obtain the following:
C = O A + r A r B r A O B O A .
Equation (1) denotes that if O A = O B , then C = O A = O B , and C is located inside both circles; otherwise, if r A = r B and O A O B , then C is the point at infinity and is located outside both circles.
Lemma 1. 
Given circles O A and O B with radii r A and r B , respectively, C has different possibilities (see Figure 1):
(1) 
If O A C < r A , then C is located inside both circles.
(2) 
If O A C = r A , then C is located on both circles.
(3) 
If O A C > r A , then C is located outside both circles.

2.2. Spiral G 2 Hermite Data

A planar G 2 Hermite data set { A , T A , k A ; B , T B , k B } means a pair of distinct points, A and B; a pair of unit tangent vectors, T A and T B at A and B, respectively; and the corresponding pair of curvatures, k A and k B (or curvature centers O A and O B ). The radii of the osculating circles at A and B are defined as r A : = 1 / k A and r B : = 1 / k B . Denote the angle rotating from T A to A B as α , and β the one from A B to T B . The data set can also be written as { A , α , k A ; B , β , k B } or { A , T A , O A ; B , T B , O B } . In this study, all angles and curvatures are assumed to be positive, and we only discuss C-shaped data, that is, α , β > 0 , α + β < 2 π .
In terms of universality, unit tangent vectors T A and T B can be denoted as follows:
T A : = A B A B Φ ( α ) , O A = A + r A T A , r A = 1 / k A ,
T B : = A B A B Φ ( β ) , O B = B + r B T B , r B = 1 / k B .
For convenience, the shaded planar region bounded by A B and two rays, A + T A and B T B , is defined as G (see Figure 2). If α + β π , then G is an infinite region (see Figure 2a), otherwise, G is a triangle (see Figure 2b). Define the cross product of vectors ( x 1 , y 1 ) and ( x 2 , y 2 ) by ( x 1 , y 1 ) × ( x 2 , y 2 ) = x 1 y 2 x 2 y 1 . If the directed angle between two vectors is less than π , then their cross product is positive. Thus, we have the following:
Theorem 1. 
Given the region G of G 2 Hermite data { A , T A , O A ; B , T B , O B } defined in Figure 2, point Q is located in region G if and only if three numbers (i.e., T A × A Q , A Q × A B and T B × B Q ) are positive.
To determine whether G 2 Hermite data are spiral data, [36] proposed the following lemma (see Figure 3):
Lemma 2. 
For G 2 Hermite data { A , α , O A ; B , β , O B } with α > β (resp., α < β ), there exists a matching spiral if and only if O A O B < r B r A (resp., O A O B < r A r B )).
O A O B < r B r A means k A > k B , and curvature circle O A is contained in O B . By Lemma 1 and the geometric property of C, we obtain the following theorem result (see Figure 3):
Theorem 2. 
For G 2 Hermite data { A , T A , O A ; B , T B , O B } , there exists a matching spiral if and only if C is in the overlapping region of region G and the small curvature circle interior.
Proof. 
Without loss of generality, let us assume that k A > k B and denote the overlapping region of region G and small curvature circle interior as the shaded circular segment region.
Note that arc X Y is a counterclockwise arc from X to Y.
By Lemma 1, there exists a spiral that corresponds to the given data { A , T A , O A ; B , T B , O B } with k A > k B if and only if O A O B < r B r A and α > β . Thus, O B contains O A , and C is inside the O A interior. Suppose line A B intersects circles O A and O B at H and F, respectively, then α = A R H ; β = F S B ; A R H and F S B are the inscribed angles corresponding to circular arcs A H and F B , respectively. For convenience, we institute that the circular arc for the inscribed angle corresponds to the circular arc, that is, A H = A R H , F B = F S B .
(1)
If C is on the chord A H , then A H = F B , thus α = β (see Figure 4a).
(2)
If C is not on the chord A H , then draw the line B C that intersects circles O A and O B at J , K and E, respectively (see Figure 4b,c).
(a)
If C is in the shaded region (see Figure 4b), then we have
α = A H = A K + K J + J H , β = F B = F E + E B ,
thus K J = E B . A K = A H K , F E = F B E . Following the triangle angle properties, A H K > F B E , so α > β .
(b)
If C is outside the shaded region (see Figure 4c), then we have
α = A H = K J K A H J , β = F B = E B E F ,
thus, we know K J = E B , K H A > E B F (i.e., K A > E F ), H J > 0 , so α < β .
The above shows that the theorem is true.    □

3. Matching G 2 Hermite Data by Piecewise Spirals

If G 2 Hermite data { A , T A , O A ; B , T B , O B } are spiral data, then a spiral segment can be obtained by the biarc-based subdivision scheme proposed in [36]. Otherwise, they are nonspiral data. A natural solution is to insert an additional data set N , T N , O N , such that A , T A , O A ; N , T N , O N and N , T N , O N ; B , T B , O B are spiral data sets. Then, the subdivision method proposed by [36] can be used to build piecewise spirals to interpolate the above two data groups, so that the given data can be interpolated with G 2 continuous spirals.
For G 2 Hermite data { A , T A , O A ; B , T B , O B } , find the new data set inserted during the rotation of vector T A counterclockwise to vector T B ; the inserted unit tangent vector T N must be located at one of the positions. Determining that the rotation angle from vector T A to vector T B counterclockwise is α + β is easy. Let θ ( 0 , α + β ) be an arbitrary angle, then the possible new inserted tangent vector may be T N = T A Φ ( θ ) . Therefore, we can draw a tangent of O A parallel to T N with tangent point V A , and a tangent of O B parallel to T N with its tangent point V B (see Figure 5) to obtain the following:
V A = O A r A T N , V B = O B r B T N .
Divide region G into two.
Definition 1. 
Ray A V A divides the region G of G 2 Hermite data { A , T A , O A ; B , T B , O B } into two parts (see Figure 5a): the first one is bounded by A B and rays A V A and B T B , whereas the second one is bounded by rays A + T A and A V A .
Definition 2. 
Ray B V B divides the region G of G 2 Hermite data { A , T A , O A ; B , T B , O B } into two parts (see Figure 5b): the first one is bounded by A B and rays B V B and B T B , whereas the second one is bounded by A B and rays B V B , A + T A .
Then, we have the following:
Theorem 3. 
For every tangent vector T N = T A Φ ( θ ) ( θ ( 0 , α + β ) ), points V A and V B are given by (4).
(1) 
If there exists a data set { N , T N , O N } , such that { A , T A , O A ; N , T N , O N } are curvature-decreasing spiral data, the new point N must be in the first part of A V A and outside O A ; meanwhile, if there exists a data set { M , T M , O M } such that { A , T A , O A ; M , T M , O M } are curvature-increasing spiral data, then the new point M must be in the second part of A V A and inside O A (see Figure 5a).
(2) 
If there exists a data set { M , T M , O M } , such that { M , T M , O M ; B , T B , O B } are curvature-decreasing spiral data, the new point M must be in the first part of B V B and outside O A ; meanwhile, if there exists a data set { N , T N , O N } such that { N , T N , O N ; B , T B , O B } are curvature-increasing spiral data, then the new point N must be in the second part of B V B and outside O A (see Figure 5b).
Proof. 
First, we prove (1). In Figure 5a, let α 1 be the angle between vectors T A and A M , β 1 be the angle between vectors A M and T N , α 2 be the angle between vectors T A and A N , β 2 be the angle between vectors A N and T N , φ be the angle between vector A N and T N and ϕ be the angle between vectors A V A and T N .
It holds that β 2 = φ , φ < ϕ , ϕ < α 2 , so α 2 > β 2 . Similarly, α 1 < β 1 for point M in the second part of A V A . Therefore, if { A , T A , O A ; N , T N , O N } are curvature-decreasing spiral data, then there exists O N containing O A , which means that N should be outside O A . Similarly, if there exists a data set { M , T M , O M } , such that { A , T A , O A ; M , T M , O M } are curvature-increasing spiral data, then the new point M must be in the second part of A V A and inside O A (see Figure 5a).
In Figure 5b, let α 1 be the angle between vectors T N and N B , β 1 be the angle between vectors N B and T B , α 2 be the angle between vectors T N and M B , and β 2 be the angle between vectors M B and T B . The same can be proven that (2) is established.    □
For every tangent vector T N = T A Φ ( θ ) ( θ ( 0 , α + β ) ), V A and V B are computed by (4). When α + β < 2 π , there must be an intersection J of two rays A V A and B V B (see Figure 6a).
Let angles a , b , c , d , e , f and g as shown in Figure 6a. According to osculation angle properties, we have a = h and d = e . We straightforwardly prove that a + b = c + d = π , b + c + f + g = 2 π . Given that α = e + f and β = g + h , we have f + g = a + d = e + h , so that f + g = ( α + β ) / 2 < π . That is, rays A V A and B V B must intersect at the following point:
J = B A B · ( A V A ) B V B · ( A V A ) B V B ,
Here, ( x 1 , y 1 ) · ( x 2 , y 2 ) = x 1 x 2 + y 1 y 2 . Point J has different positions according to different T N . According to these positions, we can insert one new point in different regions, so that the original data set can be divided into two spiral data sets. Unfortunately, a single new inserted point data set is sometimes insufficient to divide nonspiral G 2 data { A , T A , O A ; B , T B , O B } into two spiral G 2 data sets. As a result, two new point interpolations should be considered.
Theorem 4. 
For every tangent vector T N = T A Φ ( θ ) , the following possibilities regarding point J positions exist:
(1) 
J is located outside both circles, and J G : an admissible region is found. For every point N in the interior of the region, there exists a curvature circle O N containing O B and O A , so { A , T A , O A ; N , T N , O N } are curvature-decreasing spiral data, and { N , T N , O N ; B , T B , O B } are curvature-increasing spiral data (see Figure 6a,b).
(2) 
J is located inside both circles, and J G : an admissible region is observed. For every point N in the interior of the region, there exists a curvature circle O N contained by O B and O A , so { A , T A , O A ; N , T N , O N } are curvature-increasing spiral data, and { N , T N , O N ; B , T B , O B } are curvature-decreasing spiral data (see Figure 6c–e).
(3)
Otherwise, for every point N G , no curvature circle exists, such that { A , T A , O A ; N , T N , O N } and { N , T N , O N ; B , T B , O B } are spiral data sets (see Figure 6f).
Proof. 
(1) If J is located outside both circles and J G , J and O B are on different sides of the tangent line of O B at V B , whereas J and O A are on different sides of the tangent line of O A at V A . Label the intersection point of A V A and the tangent of O B at V B as K A , and the intersection point of B V B and the tangent of O A at V A as K B ,
K A = A + A V B · T N A V A · T N A V A , K B = B + B V A · T N B V B · T N B V B .
If J V B < J K B , then triangle region J V B K A is the region where the new inserted point is allowed to exist; otherwise, the admissible region is the triangle J K B V A . The region is in the first part of A V A and in the second part of B V B , so for every point N in the interior of the admissible region, connect A N and N B . Following Theorem 3, we have α 1 > β 1 and α 2 < β 2 .
The admissible region and O A , O B are on different sides of both tangent lines of O B at V B and those of O A at V A . That is, a curvature circle O N containing O A and O B exists for every point N in the interior of the region. Then, { A , T A , O A ; N , T N , O N } are spiral data with decreasing curvatures, and { N , T N , O N ; B , T B , O B } are spiral data with increasing curvatures.
(2) If J is located inside both circles and J G , then a region exists where four regions intersect: the second part of A V A , the first part of B V B and circle O A and O B ’s interiors. For every point N in the admissible region, connect A N and N B . Following Theorem 3, we have α 1 < β 1 , α 2 > β 2 . That is, a curvature circle O N is contained in O A and O B . Then, { A , T A , O A ; N , T N , O N } are spiral data with increasing curvatures, and { N , T N , O N ; B , T B , O B } are spiral data with decreasing curvatures.
(3) Otherwise, a region where the following four regions intersect does not exist: the first part of A V A , the second part of B V B , outside O A and outside O B , that is, no { N , T N , O N } , such that { A , T A , O A ; N , T N , O N } are curvature-decreasing spiral data, and { N , T N , O N ; B , T B , O B } are curvature-increasing spiral data. In addition, no region exists where the following four regions intersect: the second part of A V A , the first part of B V B , inside O A and inside O B , that is, no { N , T N , O N } , such that { A , T A , O A ; N , T N , O N } are curvature-increasing spiral data, and { N , T N , O N ; B , T B , O B } are curvature-decreasing spiral data.    □
We realize that the position of external homothetic center C is closely linked to the possibility that the given G 2 Hermite data can be split into two parts by inserting just one point. According to different C positions, we propose different methods to find the data set to be inserted.

3.1. C Is Outside Two End Curvature Circles

The two circles are separation circles, externally tangent circles or intersecting circles if C is outside two end-curvature circles. Both circles share two externally tangent lines. Denoting the two pairs of common externally tangent points by Q A , Q B and Q A 2 , Q B 2 (see Figure 7), we have η = arccos r B r A O A O B . Let the unit vector parallel to the vector O B O A be T = O A O B O A O B . Subsequently, we obtain the following equations:
Q A , A 2 = O A ± r A T Φ η , Q B , B 2 = O B ± r B T Φ η .
Q A Q B and Q A 2 Q B 2 are the two most common externally tangent lines. If region G contains at least one pair of tangent points ( Q A , Q B or Q A 2 , Q B 2 ), then only one new point N must be inserted; otherwise, two points must be inserted.

3.1.1. One Pair of Tangent Points Are Located in Region G

When Q A and Q B are located inside region G, A is not on line Q A Q B . Denote the rotating angle from T A to vector A Q A as ξ 1 , and the rotating angle from T A to vector A Q B as ξ 2 (see Figure 7a). Then, ξ 1 is different from ξ 2 . Let T N = Q A Q B Q A Q B , then V A = Q A and V B = Q B . Compute J. The following results hold regarding the position of J.
When ξ 1 < ξ 2 , circles O A and O B are on the same side of tangent T N at N. Evidently, J is located outside both circles, and J G . According to Theorem 4, the admissible region of the newly inserted point is the interior of triangle J Q B Q A . Pick a point N in J Q B Q A . For example, N = J + Q B + Q A 3 is a common choice.
Construct the perpendicular T N to T N at N. Using the bisection method on the interval ( 0 , + ) , find a d, such that the third circle O N can include circles O A and O B , where O N = N + d T N (see Figure 7b).
Let d , then the diameter of O N approaches , and O N approaches a line. There exists at least a curvature circle k N = 0 , which can include circles O A and O B , so that k A > k N and k N < k B . Along with α 1 > β 1 and α 2 < β 2 , we deduce that { A , T A , O A ; N , T N , O N } are curvature-decreasing spiral data, and { N , T N , O N ; B , T B , O B } are curvature-increasing spiral data. O N is computed using the bisection method on the interval ( 0 , + ) as follows:
(a)
Find a large enough real number d 0 , such that the circle O N with O N = N + d 0 T N contains circles O A and O B ;
(b)
Compute d i + 1 = d i + r A 2 and O N = N + d i + 1 T N , for i = 0 , 1 , , until O N cannot contain circles O A and O B , then d = d i ;
(c)
O N = N + d i T N .
If ξ 1 > ξ 2 , then J is located inside circles O A and O B . Two intersection points of O A and O B exist. Following Theorem 4, the admissible region is the curve quadrilateral interior J E B J 2 E A as illustrated in Figure 6e, where
E A = A + A O B · T 1 + ( O B A · T 1 ) 2 + r B 2 ( O B A ) 2 T 1 , T 1 = A V A A V A ,
E B = B + B O A · T 2 + ( O A B · T 2 ) 2 + r A 2 ( O A B ) 2 T 2 , T 2 = B V B B V B , J 2 = O A + r A O A O B O A O B Φ arccos r A 2 r B 2 + O A O B 2 2 r A O A O B , r A r B , O B + r B O B O A O B O A Φ arccos r B 2 r A 2 + O A O B 2 2 r B O A O B , r A < r B .
Data set { N , T N , O N } exists, such that { A , T A , O A ; N , T N , O N } are curvature-increasing spiral data, and { N , T N , O N ; B , T B , O B } are curvature-decreasing spiral data. d can be computed by the bisection method on the interval ( 0 , r A ) and O N is contained by both circles O A and O B .
A simple geometric method (instead of the bisection method) can be used to find the radius of a circle that is inside O A and has tangent T N at the point N.
Proposition 1. 
If P A is the other intersection point of line N Q A with circle O A , and C A is the intersection point between line O A P A and perpendicular at N on T N , then the circle centered at C A (with radius d A = C A N ) has tangent T N at point N and is tangent to circle O A . In the same way, C B and d B can be found and the required circle (inside both circles) has the radius at least equal to the greater of d A and d B (see Figure 8).
A similar construction can be used in other cases (e.g., when a circle has tangent T N at N and is contained inside O A and O B ).
The point-inserting algorithm is given as Algorithm 1.
Algorithm 1 Inserting one point when O A C > r A
Input: 
Nonspiral G 2 Hermite data { A , T A , O A ; B , T B , O B } satisfying Q A , Q B G
Output: 
{ N , T N , O N } .
1:
Let T N = Q A Q B Q A Q B , then V A = Q A , V B = Q B . Compute J by (5);
2:
If ξ 1 < ξ 2 , pick a point N in J Q B Q A ; else, compute E B , J 2 , E A by (8) and pick a point N in J E B J 2 E A ;
3:
If ξ 1 < ξ 2 , using the bisection method on the interval ( r B , + ) , compute d such that the third circle O N can include circles O A and O B ; else, by the bisection method on the interval ( 0 , r A ) , compute d such that the third circle O N can be contained in both circles;
4:
O N = N + d T N .

3.1.2. At Most, One Tangent Point on Each Common Externally Tangent Line Is Located inside Region G

If one tangent point on each common externally tangent line exists in the region G at most (see Figure 6f), then α is different from β . Let θ ( 0 , α + β ) be an arbitrary angle. Suppose the possible new inserted tangent vector is T N = T A Φ ( θ ) .
When α > β , following Theorem 4, if a curvature circle O N containing O B and O A exists, then { A , T A , O A ; N , T N , O N } and { N , T N , O N ; B , T B , O B } are spiral data sets. N must be outside circles O B and O A and in the first part of A V A and second part of B V B (yellow regions Ω 1 and Ω 2 in Figure 6f). However, the intersection of Ω 1 and Ω 2 is always an empty set. On the other side, if a curvature circle O N contained in O B and O A exists, then both { A , T A , O A ; N , T N , O N } and { N , T N , O N ; B , T B , O B } are spiral data sets. N must be inside both circles and in the second part of A V A and first part of B V B (green regions Ω 3 and Ω 4 in Figure 6f). Again, the intersection of regions Ω 3 and Ω 4 is the empty set.
The same is true when α < β (see Figure 9a). Thus, inserting only one new data set { N , T N , O N } is difficult and impossible, such that { A , T A , O A ; N , T N , O N } and { N , T N , O N ; B , T B , O B } are spiral data sets. Inserting two points should be considered. We observe that by letting T N = A B A B , J G , a unified method for finding the first inserted point can be obtained. When α > β , we always insert the first point N inside O A ; otherwise, the first point N is always inserted in O B . The following theorem shows how to insert two points to divide the original data into three spiral data sets.
Theorem 5. 
If at most one tangent point on every common externally tangent line located in region G exists, then, let T N = A B A B . Compute V A and V B by (4), J by (5) and K A and K B by (6).
(1) 
If α > β , for an arbitrary point N in the curve quadrilateral U A P A K A F A (as shown in Figure 9b) and O N contained in O A , then { A , T A , O A ; N , T N , O N } are curvature-increasing spiral data, whereas { N , T N , O N ; B , T B , O B } are nonspiral data that can be divided into two spiral data sets by Algorithm 1. Here,
P A = A + A B · T B A V A · T B A V A , U A = B T B · O A B + r A 2 + ( T B · O A B ) 2 ( O A B ) 2 T B , F A = V B T N · O A V B + r A 2 + ( T N · O A V B ) 2 ( O A V B ) 2 T N .
(2) 
If α < β , for an arbitrary point N in the quadrilateral U B P B K B F B (as displayed in Figure 9c) and O N contained in O B , then { N , T N , O N ; B , T B , O B } are curvature-decreasing spiral data, whereas { A , T A , O A ; N , T N , O N } are nonspiral data that can be divided into two spiral data sets by Algorithm 1. Here,
P B = B A B · T A B V B · T A B V B , U B = A + T A · O B A + r B 2 ( O B A ) 2 + ( T A · O B A ) 2 T A , F B = V A + T N · O B V A + r B 2 ( O B V A ) 2 + ( T N · O B V A ) 2 T N .
Proof. 
If α > β , then J is inside O A and outside O B . The admissible region U A P A K A F A is located in G, within O A , and in the second part of A V A . As a result, for each point N in the admissible region U A P A K A F A , the associated curvature circle O N contained in O A can be found, and { A , T A , O A ; N , T N , O N } are curvature-increasing spiral data. Meanwhile, O N and O B are separation circles, externally tangent circles, or intersecting circles; and T B does not intersect O N at B, that is, one pair of O N and O B common tangent points is located in region G of data { N , T N , O N ; B , T B , O B } . As mentioned in Section 3.1.2, { N , T N , O N ; B , T B , O B } are nonspiral data that can be divided into two spiral data sets using Algorithm 1. If α < β , then the theorem can be proven in the same way.    □
Algorithm 2 is given when α > β or α < β .
Algorithm 2 Inserting two points when O A C > r A
Input: 
Nonspiral G 2 Hermite data { A , T A , O A ; B , T B , O B } , α > β (resp. α < β ); there exists one tangent point at most on every common externally tangent line located in region G.
Output: 
{ M , T M , O M } and { N , T N , O N } .
1:
Let T N = A B A B ;
2:
Compute V A , V B by (4), K A by (6), and P A , U A , F A by (9) (or P B , U B , F B by (10));
3:
When α > β (resp., α < β ), pick a point N inside region U A P A K A F A (resp., U B P B K B F B );
4:
Using the bisection method on the interval ( 0 , r A ) (resp., ( 0 , r B ) ), find a d such that the third circle O N can be included in circle O A (resp., O B );
5:
O N = N + d T N ;
6:
For { N , T N , O N ; B , T B , O B } (resp., { A , T N , O N ; N , T N , O N } ), compute { M , T M , O M } by Algorithm 1.

3.2. C Is on or in Both End-Curvature Circles

If C is on both curvature circles, then the two circles are internally tangent. C is the only common tangent point of both circles. Let T C be the common tangent,
T C = ( O A O B ) O A O B , r A < r B , ( O B O A ) O B O A , r A > r B .
When C G , only one new point must be inserted (see Figure 10). Otherwise, C G (including C = A or C = B ; see Figure 11), and two new points must be inserted.

3.2.1. C Is on Both End-Curvature Circles and C G

Without loss of generality, suppose k A > k B , that is, O B contains O A (see Figure 10). Denote ρ as the angle rotating from T A to T C . We have the following theorem.
Theorem 6. 
If C G , for an arbitrary newly inserted tangent vector T N = T A Φ ( θ ) , θ ( 0 , α + β ) , then compute V A and V B by (4) and K A and K B by (6) (see Figure 10).
(1) 
If T N = T C , then C = V A = V B = J . No new data set { N , T N , O N } exists, such that { A , T A , O A ; N , T N , O N } and { N , T N , O N ; B , T B , O B } are spiral data sets (see Figure 10a).
(2) 
If θ ( 0 , ρ ) , for an arbitrary point N in curve triangle region J E B V A (see Figure 10b), data set { N , T N , O N } exists, such that { A , T A , O A ; N , T N , O N } are curvature-increasing spiral data, and { N , T N , O N ; B , T B , O B } are curvature-decreasing spiral data.
(3) 
If θ ( ρ , α + β ) , for an arbitrary point N in triangle region J V B K A (see Figure 10c), data set { N , T N , O N } is found, such that { A , T A , O A ; N , T N , O N } are curvature-decreasing spiral data, and { N , T N , O N ; B , T B , O B } are curvature-increasing spiral data.
Proof. 
(1) By Theorem 4, J is on both circles, and the intersection region of the first part of A V A and second part of B V B is the empty set (yellow regions Ω 1 and Ω 2 of Figure 10a). The intersection region of the second part of A V A and first part of B V B is also the empty set (green regions Ω 3 and Ω 4 ). Therefore, adding just one new point is impossible.
(2) If θ ( 0 , ρ ) , then J is inside both circles. According to Theorem 4, a curvature circle O N contained in O B and O A for arbitrary point N in region J V B K A exists. { A , T A , O A ; N , T N , O N } are curvature-increasing spiral data, and { N , T N , O N ; B , T B , O B } are curvature-decreasing spiral data. Here, E B is the intersection of O A and B V B (see Figure 10b). In a similar way, (3) can be proven.
Usually, T N = B C B C . We provide Algorithm 3 from Theorem 6(3).
Algorithm 3 Inserting one point when O A C = r A (see Figure 10c)
Input: 
Nonspiral G 2 Hermite data { A , T A , O A ; B , T B , O B } , k A > k B ; C G ; O A C = r A .
Output: 
{ N , T N , O N } .
1:
Let T N = B C B C . Compute V B by (4), J by (5) and K A by (6);
2:
Pick a point N in region J V B K A ;
3:
Using the bisection method on the interval ( r B , + ) , find a d such that circle O N can contain circles O A and O B , then O N = N + d T N ;

3.2.2. C G

From the above section, we know that if C is on or in both end-curvature circles and C G (including C = A or C = B ) (see Figure 11a and Figure 12a), for an arbitrary newly inserted tangent vector T N = T A Φ ( θ ) , θ ( 0 , α + β ) , then no new data set { N , T N , O N } exists, such that both { A , T A , O A ; N , T N , O N } and { N , T N , O N ; B , T B , O B } are spiral data sets.
The case of inserting two points should be considered. As demonstrated in Section 3.1.2, let T N = A B A B , J G ; in this way, a unified method for finding the first inserted point can be obtained. The framework is only suggested when k A > k B . Algorithm 4 provides instructions.
Theorem 7. 
Suppose k A > k B . If C G , and C is on or in both end-curvature circles, then let T N = A B A B ; compute V A and V B by (4), K A and K B by (6) and F B , P B and U B by (10) (Figure 11b,c and Figure 12b). For an arbitrary point N in the curved triangle F B K B V B , data set { N , T N , O N } exists, such that { N , T N , O N ; B , T B , O B } are curvature-decreasing spiral data, and { A , T A , O A ; N , T N , O N } are nonspiral data, which can be divided into two spiral data sets by Algorithm 1.
Algorithm 4 Inserting two points when O A C r A
Input: 
Nonspiral G 2 Hermite data { A , T A , O A ; B , T B , O B } , k A > k B ; C G ; O A C r A (see Figure 11 and Figure 12).
Output: 
{ N , T N , O N } , { M , T M , O M } .
1:
Let T N = A B A B . Compute V B by (4), K B by (6) and F B by (10);
2:
Pick a point N in region F B K B V B ;
3:
Using the bisection method on the interval ( 0 , r B ) , find a d such that the third circle O N can be included in circle O B , then O N = N + d T N ;
4:
For { A , T A , O A ; N , T N , O N } , compute { M , T M , O M } by Algorithm 1.
Given any nonspiral C-shaped G 2 Hermite data { A , T A , O A ; B , T B , O B } , we can use the method in this section to insert one or two new data groups, so that the given data can be divided into two or three spiral G 2 Hermite data groups. Subsequently, the subdivision method proposed by [36] can be employed to build piecewise spirals, so that the given data can be interpolated with G 2 continuous spirals. Refer to [36] for further details on the subdivison algorithm. Algorithm 5 is used to create piecewise spirals that match any C-shaped G 2 Hermite data { A , T A , O A ; B , T B , O B } :
Algorithm 5 Matching arbitrary G 2 Hermite data by piecewise spirals
Input:  G 2 Hermite data { A , T A , O A ; B , T B , O B } with k A > k B .
Output:  Piecewise spirals.
    Procedure
1:
Compute C by (1);
2:
if O A C > r A then
3:
   compute Q A , Q B , Q A 2 , Q B 2 by (7);
4:
   if  Q A , Q B G or Q A 2 , Q B 2 G (Figure 6 and Figure 7) then
5:
     go to Algorithm 1;
6:
   else
7:
     go to Algorithm 2;
8:
   end if
9:
else
10:
   if  O A C = r A and C G (Figure 10) then
11:
     go to Algorithm 3;
12:
   else
13:
     if  C G  then
14:
        go to Algorithm 4;
15:
     end if
16:
   end if
17:
end if
18:
Compute piecewise spirals matching new data sets by scheme in [36].

4. Examples

We present some examples of the proposed algorithms introduced in Section 3. In all examples, A = ( 1 , 0 ) , B = ( 1 , 0 ) , and G 2 Hermite data { A , T A , O A ; B , T B , O B } are denoted as { α , β , k A , k B } . Initial points A and B are represented in black, whereas inserted points are represented in green. Initial tangent vectors are drawn with black line segments with arrows, and inserted tangent vectors are drawn in red. Piecewise spirals interpolating G 2 data are represented by blue lines. To clearly illustrate the quality of interpolating spirals, we drew 65 curvature values for each spline and attached a clip curvature plot, so that the situation at joints could also be clearly evaluated. If curvature values were too high, then we sometimes used a simple scale for the effect (examples 1a–1d, 2a–2e).
In examples 1a–1f, two piecewise spirals interpolating nonspiral data are provided to show the performance of Algorithms 1 and 3 (see Figure 13). In example 1b, α + β = π ; in example 1c, α = π ; in example 1f, β = π . In examples 1a and 1d, α + β < π ; in example 1c,1e and 1f, α + β > π . In example 1d, α + β has a small value and k A has a large one. Example 1g shows the curvature behaviors of examples 1a–1f. The curvature of example 1d is too large, so we illustrate the effect of 1d on a simple scale in Figure 13g.
In examples 2a-2f, three piecewise spirals interpolating nonspiral data are given to illustrate Algorithms 2 and 4 (see Figure 14). The following are some special examples: α = π for example 2e and k B = 0 for examples 2d and 2f. Example 2g shows the curvature behaviors of examples 2a–2f. The inserted curvature of example 2b is too large, so we display the effect of 2b on a simple scale in Figure 14g.
These examples illustrate that the curves are G 2 continuous. The presented algorithms may sometimes fail to obtain curves with smooth curvatures. Although the implementation effect may deviate from other algorithms in a few cases, the advantage of our algorithms is that for arbitrary G 2 Hermite data, we can use three piecewise spiral interpolations at most. Other existing methods either use segmented splines to design curves or cannot guarantee solutions. That is, only special G 2 Hermite data can be interpolated by spirals, but general data cannot be processed.

5. Conclusions

This paper presented schemes for matching arbitrary nonspiral C-shaped G 2 Hermite data with piecewise spirals. Data were divided into three spiral data sets at most by inserting up to two new data sets. Various algorithms were proposed on the basis of the positions of the external homothetic centers of two end-curvature circles. We could generate at most three piecewise spirals for arbitrary C-shaped data with 0 < α , β π , 0 < α + β < 2 π . Our algorithms are simple and effective, with obvious geometric significance, and do not need to solve equations. However, further improvements is still needed, and we will simplify these rules for dividing any given data. For example, we will consider the smoothness levels of connections among the adjacent spiral segments of final curves. In this way, one or two “optimal” new points and their tangents and curvatures, from numerous data sets, can be selected for dividing a data set into two or three “optimal” spiral datasets with G 2 continuity. These tasks will be the focus of our future research.

Author Contributions

The implementation of computer code and supporting algorithms, Y.Z.; writing, review and editing of papers, Y.Z.; data analysis and wrote the manuscript, Y.L.; fund support and data validation, C.D. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by the National Natural Science Foundation of China (NSFC) under the project numbers 61872121.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The datasets generated during and/or analysed during the current study are available from the corresponding author on reasonable request.

Acknowledgments

The authors owe their gratitude to the anonymous referees for their valuable comments which have helped to improve the presentation of this manuscript. This work was supported by the National Natural Science Foundation of China (NSFC) under the project numbers 61872121.

Conflicts of Interest

No conflicit of interest.

References

  1. Farin, G. Curves and Surfaces for Computer-Aided Geometric Design: Practical Guide; Elsevier: Amsterdam, The Netherlands, 1997. [Google Scholar]
  2. Huertas-Talon, J.L.; García-Hernández, C.; Berges-Muro, L.; Gella-Marín, R. Obtaining a spiral path for machining STL surfaces using non-deterministic techniques and spherical tool. Comput.-Aided Des. 2014, 50, 41–50. [Google Scholar] [CrossRef]
  3. Baass, K.G. The use of clothoid templates in highway design. Transp. Forum 1984, 1, 47–52. [Google Scholar]
  4. Gibreel, G.M.; Easa, S.M.; Hassan, Y.; El-Dimeery, I.A. State of the art of highway geometric design consistency. J. Transp. Eng. 1999, 125, 305–313. [Google Scholar] [CrossRef]
  5. Habib, Z.; Sakai, M. On PH quintic spirals joining two circles with one circle inside the other. Comput.-Aided Des. 2007, 39, 125–132. [Google Scholar] [CrossRef]
  6. Hartman, P. The highway spiral for combining curves of different radii. Trans. Am. Soc. Civ. Eng. 1957, 122, 389–399. [Google Scholar] [CrossRef]
  7. Schmitt, P.R.; Book, W.J. Reactive Path Shaping: Local Path Planning for Autonomous Mobile Robots; Georgia Institute of Technology: Atlanta, GA, USA, 1996. [Google Scholar]
  8. Burchard, H.G.; Ayers, J.A.; Frey, W.H.; Sapidis, N.S. Approximation with aesthetic constraints. In Designing Fair Curves and Surfaces: Shape Quality in Geometric Modeling and Computer-Aided Design; Society for Industrial and Applied Mathematics: University City, MI, USA, 1994; pp. 3–28. [Google Scholar]
  9. Farouki, R.T. Construction of G1 planar Hermite interpolants with prescribed arc lengths. Comput. Aided Geom. Des. 2016, 46, 64–75. [Google Scholar] [CrossRef] [Green Version]
  10. Farouki, R.T. Construction of G2 rounded corners with Pythagorean-hodograph curves. Comput. Aided Geom. Des. 2014, 31, 127–139. [Google Scholar] [CrossRef]
  11. Yagi, K.; Suzuki, S.; Usuki, S.; Miura, K.T. G1 Hermite Interpolating with Discrete Log-aesthetic Curves and Surfaces. In Proceedings of the CAD’19, Singapore, 24–26 June 2019; pp. 207–211. [Google Scholar]
  12. Gobithaasan, R.U.; Karpagavalli, R.; Miura, K.T. G2 Continuous Generalized Log-Aesthetic Curves. Comput.-Aided Des. Appl. 2015, 12, 192–197. [Google Scholar] [CrossRef] [Green Version]
  13. EBertolazzi, E.; Frego, M. G1 fitting with clothoids. Math. Methods Appl. Sci. 2015, 38, 881–897. [Google Scholar] [CrossRef] [Green Version]
  14. Held, M.; Spielberger, C. A smooth spiral tool path for high speed machining of 2D pockets. Comput.-Aided Des. 2009, 41, 539–550. [Google Scholar] [CrossRef]
  15. Meek, D.S.; Saito, T.; Walton, D.J.; Yoshida, N. Planar two-point G1 Hermite interpolating log-aesthetic spirals. J. Comput. Appl. Math. 2012, 236, 4485–4493. [Google Scholar] [CrossRef]
  16. Walton, D.J.; Meek, D.S. G1 interpolation with a single Cornu spiral segment. J. Comput. Appl. Math. 2009, 223, 86–96. [Google Scholar] [CrossRef] [Green Version]
  17. Yang, X. Geometric Hermite interpolation by logarithmic arc splines. Comput. Aided Geom. Des. 2014, 31, 701–711. [Google Scholar] [CrossRef]
  18. Bertolazzi, E.; Frego, M. A Note on Robust Biarc Computation. Comput.-Aided Des. Appl. 2019, 16, 822–835. [Google Scholar] [CrossRef]
  19. Bertolazzi, E.; Frego, M.; Biral, F. Interpolating Splines of Biarcs from a Sequence of Planar Points. Comput.-Aided Des. Appl. 2020, 18, 66–85. [Google Scholar] [CrossRef]
  20. Guggenheimer, H.W. Differential Geometry; Courier Corporation: North Chelmsford, MA, USA, 2012. [Google Scholar]
  21. Bertolazzi, E.; Frego, M. On the G2 Hermite interpolation problem with clothoids. J. Comput. Appl. Math. 2018, 341, 99–116. [Google Scholar] [CrossRef]
  22. Bertolazzi, E.; Frego, M. Interpolating clothoid splines with curvature continuity. Math. Methods Appl. Sci. 2018, 41, 1723–1737. [Google Scholar] [CrossRef]
  23. Bertolazzi, E.; Bevilacqua, P.; Frego, M. Clothoids: A C++ library with Matlab interface for the handling of clothoid curves. Rend. Sem. Mat. Univ. Pol. Torino 2018, 76, 47–56. [Google Scholar]
  24. Walton, D.J.; Meek, D.S. Planar G2 curve design with spiral segments. Comput.-Aided Des. 1998, 30, 529–538. [Google Scholar] [CrossRef]
  25. Nagy, F.; Yoshida, N.; Hoffmann, M. Interactive G1 and G2 Hermite Interpolation Using Extended Log-aesthetic Curves. arXiv 2021, arXiv:2105.09762. [Google Scholar]
  26. Goodman, T.N.T.; Meek, D.S. Planar interpolation with a pair of rational spirals. J. Comput. Appl. Math. 2007, 201, 112–127. [Google Scholar] [CrossRef] [Green Version]
  27. Walton, D.J.; Meek, D.S. G2 curve design with planar quadratic rational Bézier spiral segments. Int. J. Comput. Math. 2013, 90, 325–340. [Google Scholar] [CrossRef]
  28. Wu, W.; Yang, X. Geometric Hermite interpolation by a family of intrinsically defined planar curves. Comput.-Aided Des. 2016, 77, 86–97. [Google Scholar] [CrossRef]
  29. Goodman, T.N.T.; Meek, D.S.; Walton, D.J. An involute spiral that matches G2 Hermite data in the plane. Comput. Aided Geom. Des. 2009, 26, 733–756. [Google Scholar] [CrossRef]
  30. Ait-Haddou, R.; Biard, L. G2 approximation of an offset curve by Tschirnhausen quartics. In Mathematical Methods for Curves and Surfaces; Vanderbilt University Press: Nashville, TN, USA, 1994; pp. 1–10. [Google Scholar]
  31. Kurnosenko, A. Applying inversion to construct planar, rational spirals that satisfy two-point G2 Hermite data. Comput. Aided Geom. Des. 2010, 27, 262–280. [Google Scholar] [CrossRef] [Green Version]
  32. Kurnosenko, A. Two-point G2 Hermite interpolation with spirals by inversion of hyperbola. Comput. Aided Geom. Des. 2010, 27, 474–481. [Google Scholar] [CrossRef]
  33. Meek, D.S.; Walton, D.J. Clothoid spline transition spirals. Math. Comput. 1992, 59, 117–133. [Google Scholar] [CrossRef]
  34. Meek, D.S.; Walton, D.J. Planar spirals that match G2 Hermite data. Comput. Aided Geom. Des. 1998, 15, 103–126. [Google Scholar] [CrossRef]
  35. Snchez-Reyes, J.; Chacn, J.M. A polynomial Hermite interpolant for C2 quasi arc-length approximation. Comput.-Aided Des. 2015, 62, 218–226. [Google Scholar] [CrossRef]
  36. Deng, C.; Ma, W. Matching admissible G2 Hermite data by a biarc-based subdivision scheme. Comput. Aided Geom. Des. 2012, 29, 363–378. [Google Scholar] [CrossRef]
  37. Li, Z.; Ait-Haddou, R.; Biard, L. Pythagorean hodograph spline spirals that match G3 Hermite data from circles. J. Comput. Appl. Math. 2015, 278, 162–180. [Google Scholar] [CrossRef]
  38. Knez, M.; Pelosi, F.; Sampoli, M.L. Construction of G2 planar Hermite interpolants with prescribed arc lengths. Appl. Math. Comput. 2022, 426, 127092. [Google Scholar] [CrossRef]
  39. Yang, J.; Ning, T.; Shen, Y.C. Planar G3 Hermite interpolation by quintic Bézier curves. Vis. Comput. 2021, 1–10. [Google Scholar]
  40. Johnson, R.A. An Elementary Treatise on the Geometry of the Triangle and the Circle. In Modern Geometry; Houghton Mifflin: Boston, MA, USA, 1985. [Google Scholar]
Figure 1. The external homothetic center C (or the internal homothetic center C I ) of: two (a,b) separation circles; (c) externally tangent circles; (d) intersecting circles; (e) internally tangent circles; (f) containing circles; (g) concentric circles.
Figure 1. The external homothetic center C (or the internal homothetic center C I ) of: two (a,b) separation circles; (c) externally tangent circles; (d) intersecting circles; (e) internally tangent circles; (f) containing circles; (g) concentric circles.
Mathematics 10 04757 g001
Figure 2. The region G of G 2 Hermite data { A , T A , k A ; B , T B , k B } .
Figure 2. The region G of G 2 Hermite data { A , T A , k A ; B , T B , k B } .
Mathematics 10 04757 g002
Figure 3. G 2 Hermite data that can be interpolated by a spiral and the external homothetic center C.
Figure 3. G 2 Hermite data that can be interpolated by a spiral and the external homothetic center C.
Mathematics 10 04757 g003
Figure 4. C is (a) on the chord A H ; (b) in the shaded region; (c) out of the shaded region.
Figure 4. C is (a) on the chord A H ; (b) in the shaded region; (c) out of the shaded region.
Mathematics 10 04757 g004
Figure 5. The first (grayed region) and second part of (a) A V A ; (b) B V B .
Figure 5. The first (grayed region) and second part of (a) A V A ; (b) B V B .
Mathematics 10 04757 g005
Figure 6. The admissible region for the newly inserted point and inserting new data set { N , T N , O N } . (a,b): J is outside both circles; (ce) J is inside both circles; (f): J is inside one circle and outside the other one.
Figure 6. The admissible region for the newly inserted point and inserting new data set { N , T N , O N } . (a,b): J is outside both circles; (ce) J is inside both circles; (f): J is inside one circle and outside the other one.
Mathematics 10 04757 g006
Figure 7. (a) Q A , Q B G ; (b) inserting { N , T N , O N } when J is outside both circles.
Figure 7. (a) Q A , Q B G ; (b) inserting { N , T N , O N } when J is outside both circles.
Mathematics 10 04757 g007
Figure 8. A simple geometric method to find O N .
Figure 8. A simple geometric method to find O N .
Mathematics 10 04757 g008
Figure 9. At most one tangent point on each common externally tangent line located inside region G exists. (a) α < β ; (b) inserting { N , T A , O N } when α > β . (c) inserting { N , T A , O N } when α < β .
Figure 9. At most one tangent point on each common externally tangent line located inside region G exists. (a) α < β ; (b) inserting { N , T A , O N } when α > β . (c) inserting { N , T A , O N } when α < β .
Mathematics 10 04757 g009
Figure 10. (a) T N = T C ; (b,c) inserting point N when C G .
Figure 10. (a) T N = T C ; (b,c) inserting point N when C G .
Mathematics 10 04757 g010
Figure 11. Inserting the first new data set { N , T N , O N } when C G and C is on both curvature circles.
Figure 11. Inserting the first new data set { N , T N , O N } when C G and C is on both curvature circles.
Mathematics 10 04757 g011
Figure 12. Inserting the first new data set { N , T N , O N } when C G and C is in both curvature circles.
Figure 12. Inserting the first new data set { N , T N , O N } when C G and C is in both curvature circles.
Mathematics 10 04757 g012
Figure 13. Example 1. Two piecewise spirals interpolating nonspiral data.
Figure 13. Example 1. Two piecewise spirals interpolating nonspiral data.
Mathematics 10 04757 g013
Figure 14. Example 2. Three piecewise spirals interpolating nonspiral data.
Figure 14. Example 2. Three piecewise spirals interpolating nonspiral data.
Mathematics 10 04757 g014
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Zhou, Y.; Li, Y.; Deng, C. G2 Hermite Interpolation by Segmented Spirals. Mathematics 2022, 10, 4757. https://doi.org/10.3390/math10244757

AMA Style

Zhou Y, Li Y, Deng C. G2 Hermite Interpolation by Segmented Spirals. Mathematics. 2022; 10(24):4757. https://doi.org/10.3390/math10244757

Chicago/Turabian Style

Zhou, Yuxuan, Yajuan Li, and Chongyang Deng. 2022. "G2 Hermite Interpolation by Segmented Spirals" Mathematics 10, no. 24: 4757. https://doi.org/10.3390/math10244757

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop