Next Article in Journal
A Valid Dynamical Control on the Reverse Osmosis System Using the CESTAC Method
Next Article in Special Issue
Generalized Developable Cubic Trigonometric Bézier Surfaces
Previous Article in Journal
Financial Option Valuation by Unsupervised Learning with Artificial Neural Networks
Previous Article in Special Issue
Geometric Modeling Using New Cubic Trigonometric B-Spline Functions with Shape Parameter
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Spline Curves Formation Given Extreme Derivatives

by
Konstantin Panchuk
*,
Tatyana Myasoedova
and
Evgeniy Lyubchinov
Department “Engineering Geometry and CAD”, Omsk State Technical University, 644050 Omsk, Russia
*
Author to whom correspondence should be addressed.
Mathematics 2021, 9(1), 47; https://doi.org/10.3390/math9010047
Submission received: 12 October 2020 / Revised: 28 November 2020 / Accepted: 2 December 2020 / Published: 28 December 2020
(This article belongs to the Special Issue Modern Geometric Modeling: Theory and Applications)

Abstract

:
This paper is dedicated to development of mathematical models for polynomial spline curve formation given extreme vector derivatives. This theoretical problem is raised in the view of a wide variety of theoretical and practical problems considering motion of physical objects along certain trajectories with predetermined laws of variation of speed, acceleration, jerk, etc. The analysis of the existing body of work on computational geometry performed by the authors did not reveal any systematic research in mathematical model development dedicated to solution of similar tasks. The established purpose of the research is therefore to develop mathematical models of formation of spline curves based on polynomials of various orders modeling the determined trajectories. The paper presents mathematical models of spline curve formation given extreme derivatives of the initial orders. The paper considers construction of Hermite and Bézier spline curves of various orders consisting of various segments. The acquired mathematical models are generalized for the cases of vector derivatives of higher orders. The presented models are of systematic nature and are universal, i.e., they can be applied in formation of any polynomial spline curves given extreme vector derivatives. The paper provides a number of examples validating the presented models.

1. Introduction

Formation of composite polynomial spline curves given the initial extreme derivatives at the endpoints of the segments is finding increasing application in solutions to a variety of tasks of science and manufacture. For example, in computer animation, camera motion along a curvilinear trajectory is modeled as motion along a curved line r ¯ ( t ) , t 1 t t 2 . Camera trajectory calculation is performed with consideration for laws of variation of camera velocity v ¯ ( t ) = d r ¯ d t and acceleration a ¯ ( t ) = d v ¯ d t = d 2 r ¯ d t 2 throughout the trajectory [1].
In machine-building cutting tool trajectory calculation through Hermite cubic spline interpolation is applied in pocket machining of surfaces of arbitrary shape. In this regard, it is noted that that cutting tool acceleration is not continuous, which results in machining defects [2].
One of the main problems in development of high-speed cutting NC systems is achieving seamless cutting tool motion. The models of NC systems developed for this purpose ensure smoothness of acceleration a ¯ ( t ) and continuity of jerk defined by the third vector derivative [3,4,5]: j ¯ = d a ¯ d t = d 3 r ¯ d t 3 .
The fourth vector derivative is called snap d j ¯ d t = d 4 r ¯ d t 4 . It is applied, for example, in development of minimum snap trajectory for quadrotors [6].
Papers [7,8] apply the sixth vector derivative in Apophis asteroid trajectory calculation in Earth gravity field.
As follows from the mentioned papers, spline curve formation through extreme derivatives S C E D ( n ) (spline curve extreme derivative of nth order) is relevant in solution to a variety of practical tasks.
There are approaches to development of mathematical models of S C E D ( n ) formation known from scientific papers on spline curve theory. One should trace the origins of this development to cubic spline interpolation through formation of Hermite segments given first-order extreme derivatives subsequently connected with smoothness C 2 into cubic S C E D ( 3 ) [1,9,10,11,12,13,14,15,16,17,18,19]. The S C E D ( 3 ) model later became the basis for development of mathematical model of a Hermite segment S C S E D ( 5 ) (spline curve segment) described by a polynomial of the fifth order given the extreme derivatives of the first and the second order [1]. However, in subsequent formation of the S C E D ( 5 ) mathematical model, the first and the second vector derivatives at the first point of the first segment and at the final point of the final segment were not initially specified, therefore the mathematical model resulted in a system of linear equations with the number of unknown values exceeding the number of equations. In the course of development of this system, the fact that it is incomplete has been revealed. The author of paper [1] made a decision to reduce the number of unknown values down to the number of equations by assigning values to certain extreme vector derivatives. The resultant approach to solution of the problem of S C ( 5 ) formation is of purely theoretical nature. In practice, the more relevant approach is S C E D ( 5 ) formation. According to this approach, both the segment S C S E D ( 5 ) and the composite curve S C E D ( 5 ) acquired through connection of segments with smoothness C 4 are formed through the same mathematical model.
We have to acknowledge the paper of theoretical nature proposing a mathematical model of S C E D ( 3 ) and S C E D ( 4 ) formation in the form of B-spline curves interpolating discrete arrays of points in the plane [20]. The paper considers vector derivatives of orders one to three as given extreme derivatives. It is noted that the problem of spatial interpolation with consideration for curvature and torsion in order to acquire S C E D does not yet have a solution. In this regard, the authors of the paper [20] provide an explanation that it is virtually impossible to evaluate corresponding directions and magnitudes of vectors of the second and the third derivative in S C E D formation. We were unable to find more modern papers in this area of research.
Therefore, with regard for practical requirements in models and algorithms for formation of curves S C E D ( n ) , n > 3 and taking into account the existing theoretical basis of mathematical models of spline curves, the following purpose of the research is established: to develop mathematical models of formation of polynomial curves S C E D ( n ) , n > 3 and to validate these models on numeric experiments.
Section 2 of the present paper considers the conditions for formation of spline curves given extreme derivatives of the initial orders and provides generalizations for the case of first k vector derivatives.
Section 3 considers the mathematical models and many examples for closed and non-closed polynomial spline curves of various orders and consisting of various numbers of segments.

2. Conditions for Spline Curve Formation Given Extreme Derivatives

At the initial stage of analytical spline curve shaping given extreme derivatives it is essential to know the total number of conditions for shaping. Knowing the total number of conditions allows one to determine the degree of a polynomial describing the segment—or each segment—of the desired spline curve.

2.1. Conditions for Hermite Cubic Sspline Curve Shaping

It is known that a cubic spline segment can be constructed given boundary conditions P ¯ 1 , P ¯ 1 and P ¯ 2 , P ¯ 2 [1,9,10,11,12,13,14,15,16,17,18,19] (see Figure 1).
In the general case, the order of polynomial describing the segment through extreme derivatives is determined through formula n = 2 m + 1 , where m represents the number of pairs of extreme derivatives at segment endpoints. As follows from the technique of algebraic definition of polynomial coefficients of cubic spline p ¯ ( t ) = i = 1 4 A ¯ i t i 1 , t 1 t t 2 , the existence of four boundary conditions resulting in respective algebraic equations is sufficient for unambiguous definition of four coefficients of the polynomial.
Eight conditions defining four vector coefficients of each polynomial describing a segment are required in order to define a cubic spline curve consisting of two segments. These conditions include the given boundary conditions P ¯ 1 , P ¯ 1 ; P ¯ 3 , P ¯ 3 , and intermediate conditions in connection point P ¯ 2 (see Figure 2): P ¯ 2 = p ¯ 1 ( t = t 2 ) , P ¯ 2 = p ¯ 2 ( t = 0 ) ; P ¯ 2 = p ¯ 1 ( t = t 2 ) , P ¯ 2 = p ¯ 2 ( t = 0 ) , where p ¯ 1 ( t ) and p ¯ 2 ( t ) are polynomials of respective segments s 1 and s 2 .
As follows from the intermediate conditions, the point P ¯ 2 should be considered double as well as the unknown derivative P ¯ 2 at that point. Each boundary and intermediate condition is described by a linear algebraic equation. Simultaneously, these equations unambiguously define the unknown coefficients of the polynomials of the connected segments. A general cubic spline curve consisting of ( j 1 ) segments, where j is the number of points of the curve, is formed through a total number of N conditions, where N is obviously defined through formula N = 4 ( j 1 ) . This number is also the total number of the unknown coefficients of all polynomials of the third degree describing the connected segments.

2.2. Conditions for Formation of a Spline Curve of Segments Described by Polynomials of Higher Degree

A segment with two pairs of extreme derivatives (see Figure 3) is described, according to the formula n = 2 m + 1 , by a polynomial of the fifth degree p ¯ ( t ) = i = 1 6 A ¯ i t i 1 , t 1 t t 2 . Six conditions P ¯ 1 , P ¯ 1 , P ¯ 1 ; P ¯ 2 , P ¯ 2 , P ¯ 2 unambiguously define six coefficients of this polynomial [1].
Formation of a spline curve consisting of two segments defined by fifth-degree polynomials requires 12 conditions. These conditions include the given boundary conditions P ¯ 1 , P ¯ 1 , P ¯ 1 ; P ¯ 3 , P ¯ 3 , P ¯ 3 ; the intermediate conditions in connection point P ¯ 2 (see Figure 4): P ¯ 2 = p ¯ 1 ( t = t 2 ) , P ¯ 2 = p ¯ 2 ( t = 0 ) ; P ¯ 2 = p ¯ 1 ( t = t 2 ) , P ¯ 2 = p ¯ 2 ( t = 0 ) ; P ¯ 2 = p ¯ 1 ( t = t 2 ) , P ¯ 2 = p ¯ 2 ( t = 0 ) , where p ¯ 1 ( t ) and p ¯ 2 ( t ) are polynomials of the fifth degree of respective segments s 1 and s 2 .
Obviously, the point P ¯ 2 should be considered double, as well as the first- and the second-order derivatives at it. The algorithms of formation of Hermite spline curves based on fifth-degree and seventh-degree polynomials are thoroughly considered in Section 3.1, Section 3.2, Section 3.3, Section 3.4 and Section 3.5 respectively.
Formation of a general spline curve consisting of ( j 1 ) smoothly connected segments defined by fifth-degree polynomials requires the total number of N = 6 ( j 1 ) conditions. This number is also the total number of the unknown coefficients of all fifth-degree polynomials describing ( j 1 ) segments.
If we consider two given points P ¯ 1 and P ¯ 2 , as well as the first k vector derivatives at each point, then, according to the formula n = 2 m + 1 , the degree of the polynomial defining a segment with endpoints P ¯ 1 and P ¯ 2 equals n = 2 k + 1 . It is possible to define the total number of conditions for formation of a general spline curve consisting of ( j 1 ) segments each described by a polynomial of degree 2 k + 1 . It is calculated through the formula N = 2 ( k + 1 ) ( j 1 ) . Thus, for example, if k = 2 and j = 3 , N = 12 , which correlates to the spline curve depicted on Figure 4.

2.3. Conditions for Closed Spline Curve Formation

In order to form a closed spline curve given a discrete array of j points, it is required to fulfill the total number of N = 2 ( k + 1 ) j conditions. Here k represents the number of pairs of extreme derivatives of the initial orders at the endpoints of the formed spline curve, j represents the number of segments. For example, given four points P ¯ j , j = 1 , , 4 with respective derivatives P ¯ j , P ¯ j it is possible to form a closed Hermite spline curve based on a fifth-degree polynomial (see Figure 5). The resultant curve consists of four segments connected with smoothness C 4 .
Obviously, the total number of conditions defining this spline curve equals N = 24 , i.e., six conditions for each segment of the curve. Let us list them: the boundary (given) conditions P ¯ 1 ,… P ¯ 4 , whereby P ¯ 1 = p ¯ 4 ( t = t 4 ) , P ¯ 1 = p ¯ 1 ( t = 0 ) ; P ¯ 2 = p ¯ 1 ( t = t 1 ) , P ¯ 2 = p ¯ 2 ( t = 0 ) ; P ¯ 3 = p ¯ 2 ( t = t 2 ) , P ¯ 3 = p ¯ 3 ( t = 0 ) ; P ¯ 4 = p ¯ 3 ( t = t 3 ) , P ¯ 4 = p ¯ 4 ( t = 0 ) ; 0 t t j ; the intermediate (sought) conditions in the segments connection points are as follows: P ¯ 1 = p ¯ 4 ( t = t 4 ) , P ¯ 1 = p ¯ 1 ( t = 0 ) , P ¯ 2 = p ¯ 1 ( t = t 1 ) , P ¯ 2 = p ¯ 2 ( t = 0 ) , P ¯ 3 = p ¯ 2 ( t = t 2 ) , P ¯ 3 = p ¯ 3 ( t = 0 ) , P ¯ 4 = p ¯ 3 ( t = t 3 ) , P ¯ 4 = p ¯ 4 ( t = 0 ) ; P ¯ 1 = p ¯ 4 ( t = t 4 ) , P ¯ 1 = p ¯ 1 ( t = 0 ) , P ¯ 2 = p ¯ 1 ( t = t 1 ) , P ¯ 2 = p ¯ 2 ( t = 0 ) , P ¯ 3 = p ¯ 2 ( t = t 2 ) , P ¯ 3 = p ¯ 3 ( t = 0 ) , P ¯ 4 = p ¯ 3 ( t = t 3 ) , P ¯ 4 = p ¯ 4 ( t = 0 ) .
Obviously, in formation of a polynomial closed spline curve each point of the given discrete array is considered double, as well as each defined vector derivative at any point of the array. The formation of closed polynomial splines is thoroughly considered on examples in Section 3.3 and Section 3.7.

3. Spline Curve Formation Given Extreme Derivatives

In the following section let us consider the construction of mathematical models of polynomial spline curves consisting of various numbers of smoothly connected segments. The segmental formation of spline curves is based on the concept of a continuous (or smooth) connection of segments at their common point. In the theory of spline curves and spline surfaces two types of smoothness are known: geometric G n and parametric G n [1,9,13]. Within the framework of this work, we use the strict concept of C n smoothness.

3.1. Construction of a Hermite Segment Given First- and Second-Order Extreme Derivatives

Let us assume the points P ¯ 1 ( x 1 , y 1 , z 1 ) and P ¯ 2 ( x 2 , y 2 , z 2 ) , as well as respective boundary conditions P ¯ 1 , P ¯ 1 and P ¯ 2 , P ¯ 2 are given (see Figure 6).
Let us construct a Hermite spline curve segment p ¯ ( t ) = i = 1 n A ¯ i t i 1 , t 1 t t 2 passing through the points P ¯ 1 , P ¯ 2 and conforming to the given boundary conditions. Given the two endpoints and the initial m pairs of derivatives in the endpoints, it is possible to calculate the interpolating polynomial of order 2m + 1. It is therefore obvious that the sought segment has to be described by a fifth-order polynomial
p ¯ ( t ) = i = 1 6 A ¯ i t i 1 ,   t 1 t t 2 .
The vectors P ¯ 1 , P ¯ 2 are the first vector derivatives constituting tangent vectors at the endpoints of the sough segment s, while P ¯ 1 ,   P ¯ 2 are the second vector derivatives constituting vectors of acceleration of a point tracing out the segment s. Obviously, the given conditions are sufficient in order to define the vector coefficients A ¯ i of the Formula (1).
Let us express the equations for the vector coefficients in the final matrix form [ A ¯ ] = [ T ] [ G ¯ ] :
[ A ¯ ] = [ A ¯ 1 A ¯ 2 A ¯ 3 A ¯ 4 A ¯ 5 A ¯ 6 ] = [ 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 2 0 10 10 6 4 3 2 1 2 15 15 8 7 3 2 1 6 6 3 3 1 2 1 2 ] [ P ¯ 1 P ¯ 2 P ¯ 1 P ¯ 2 P ¯ 1 P ¯ 2 ] .
The matrix Formula (2) of equations defining the vector coefficients of a fifth-degree polynomial describing a Hermite segment corresponds to the known matrix form by D. Solomon [1]. The Formula (2) is the basis for computational algorithms of spline curve formation considered further in the present paper. By substitution of the values of vector coefficients (2) into the Formula (1) we acquire the sought equation of Hermite spline curve segment with parameterization 0 t 1 .

3.2. Construction of a Fifth-Degree Hermite Spline Curve of Two Segments and Generalization for the Case of (j − 1) Segments

Let us consider the connection of two Hermite segments s 1 and s 2 (see Figure 7) given the same boundary conditions as for the previously considered case of one segment s.
Parameterization of the segments is fulfilled in range t 1 t t 2 for the segment s 1 and t 2 t t 3 for the segment s 2 . Without loss of generality, we accept that t 1 = 0 at the initial point of segment s 1 and t 2 = 0 at the initial point of segment s 2 . Let us express the polynomial equation of the segments in the following form: p ¯ k ( t ) = i = 1 6 A ¯ i ( k ) t i 1 ;   k = 1 , 2 . Let us express the derivatives of vector function p ¯ k ( t )
p ¯ k ( t ) = i = 2 6 A ¯ i ( k ) ( i 1 ) t i 2 ,   p ¯ k ( t ) = i = 3 6 A ¯ i ( k ) ( i 1 ) ( i 2 ) t i 3 , p ¯ k ( t ) = i = 4 6 A ¯ i ( k ) ( i 1 ) ( i 2 ) ( i 3 ) t i 4 ,   p ¯ k   ( t ) = i = 5 6 A ¯ i ( k ) ( i 1 ) ( i 2 ) ( i 3 ) ( i 4 ) t i 5 .
For   k = 1 at the initial point   P ¯ 1 ( t 1 = 0 ) of segment s 1 we acquire
p ¯ 1 ( 0 ) = P ¯ 1 = A ¯ 1 ( 1 ) ,   p ¯ 1 ( 0 ) = P ¯ 1 = A ¯ 2 ( 1 ) ,   p ¯ 1 ( 0 ) = P ¯ 1 = 2 A ¯ 3 ( 1 ) .
At the final point P ¯ 2 ( t 2 ) of segment s 1 we acquire
p ¯ 1 ( t 2 ) = P ¯ 2 = i = 1 6 A ¯ i ( 1 ) t 2 i 1 ,   p ¯ 1 ( t 2 ) = P ¯ 2 = i = 2 6 A ¯ i ( 1 ) ( i 1 ) t 2 i 2 ,   p ¯ 1 ( t 2 ) = P ¯ 2 = i = 3 6 A ¯ i ( 1 ) ( i 1 ) ( i 2 ) t 2 i 3 .
For   k = 2 at the initial point   P ¯ 2 ( t 2 = 0 ) of segment s 2 we acquire
  p ¯ 2 ( 0 ) = P ¯ 2 = A ¯ 1 ( 2 ) ,   p ¯ 2 ( 0 ) = P ¯ 2 = A ¯ 2 ( 2 ) ,   p ¯ 2 ( 0 ) = P ¯ 2 = 2 A ¯ 3 ( 2 ) .
At the final point   P 3 ( t 3 ) of segment s 2 we acquire
  p ¯ 2 ( t 3 ) = P ¯ 3 = i = 1 6 A ¯ i ( 2 ) t 3 i 1 ,   p ¯ 2 ( t 3 ) = P ¯ 3 = i = 2 6 A ¯ i ( 2 ) ( i 1 ) t 3 i 2 ,   p ¯ 1 ( t 3 ) = P ¯ 3 = i = 3 6 A ¯ i ( 2 ) ( i 1 ) ( i 2 ) t 3 i 3 .
Thus, through (3), we acquire the expressions for the first three coefficients of the equation for the first segment s 1 :   A ¯ 1 ( 1 ) = P ¯ 1 ,   A ¯ 2 ( 1 ) = P ¯ 1 ,   A ¯ 3 ( 1 ) = 1 2 P ¯ 1 . The remaining vector coefficients A ¯ 4 ( 1 ) ,   A ¯ 5 ( 1 ) ,   A ¯ 6 ( 1 ) are determined through the system of three linear equations
{ i = 1 6 A ¯ i ( 1 ) t 2 i 1 P ¯ 2 = 0 , i = 2 6 A ¯ i ( 1 ) ( i 1 ) t 2 i 2 P ¯ 2 = 0 , i = 3 6 A ¯ i ( 1 ) ( i 1 ) ( i 2 ) t 2 i 3 P ¯ 2   = 0 .
The expressions of the first three vector coefficients of segment s 2 follow from (4):   A ¯ 1 ( 2 ) = P ¯ 2 ,   A ¯ 2 ( 2 ) = P ¯ 2 ,   A ¯ 3 ( 2 ) = 1 2 P ¯ 2 .   The remaining vector coefficients A ¯ 4 ( 2 ) ,   A ¯ 5 ( 2 ) and A ¯ 6 ( 2 ) are determined through the system of three linear equations
{ i = 1 6 A ¯ i ( 2 ) t 3 i 1 P ¯ 3 = 0 , i = 2 6 A ¯ i ( 2 ) ( i 1 ) t 3 i 2 P ¯ 3 = 0 , i = 3 6 A ¯ i ( 2 ) ( i 1 ) ( i 2 ) t 3 i 3 P ¯ 3   = 0 . .
The equations for these coefficients are of the following expanded form
A ¯ 4 ( 2 ) = 10 ( P ¯ 2 P ¯ 3 ) t 3 3 6 P ¯ 2 t 3 2 4 P ¯ 3 t 3 2 1.5 P ¯ 2 t 3 + 0.5 P ¯ 3 t 3 ,   A ¯ 5 ( 2 ) = 15 ( P ¯ 2 P ¯ 3 ) t 3 4 + 8 P ¯ 2 t 3 3 + 7 P ¯ 3 t 3 3 + 1.5 P ¯ 2 t 3 2 P ¯ 3 t 3 2 ,   A ¯ 6 ( 2 ) = 6 ( P ¯ 2 P ¯ 3 ) t 3 5 3 P ¯ 2 t 3 4 3 P ¯ 3 t 3 4 0.5 P ¯ 2 t 3 3 + 0.5 P ¯ 3 t 3 3 .
In order to connect segments s 1 and s 2 in point P 2 , it is required to determine vectors P ¯ 2 and P ¯ 2 . This can be achieved through equality of the third and the fourth derivatives of vector functions of the segments at the connection point: p ¯ 1 ( t = t 2 ) = p ¯ 2 ( t = 0 )   , or in expanded form
6 A ¯ 4 ( 1 ) + 24 A ¯ 5 ( 1 ) t 2 + 60 A ¯ 6 ( 1 ) t 2 2 = 6 A ¯ 4 ( 2 ) .
p 1   ( t = t 2 ) = p 2   ( t = 0 )   , or in expanded form
120 A ¯ 6 ( 1 ) + 24 A ¯ 5 ( 1 ) t 2 = 24 A ¯ 5 ( 2 ) .
The system of linear Equations (7) and (8), with consideration (5) and (6) allows us to determine the sought vectors P ¯ 2 and P ¯ 2 .
P ¯ 2 = k 1 P ¯ 1 + k 2 P ¯ 3 + k 3 P ¯ 1 +   k 4 P ¯ 3 + 10   ( k 5 P ¯ 1 +   k 6 P ¯ 2 +   k 7 P ¯ 3 ) ,
P ¯ 2 = n 1 P ¯ 1 +   n 2 P ¯ 3 +   n 3 P ¯ 1 +   n 4 P ¯ 3 +   5 ( n 5 P ¯ 1 +   n 6 P ¯ 2 +   n 7 P ¯ 3 ) ,
where:
  • k 1 = 2 ( 4 t 2 2 t 3 3 + 3 t 2 t 3 4 ) α ,   k 2 = 2 ( 4 t 2 3 t 3 2 + 3 t 2 4 t 3 ) α ,   k 3 = ( t 2 3 t 3 3 + t 2 2 t 3 4 ) α ,  
  • k 4 = ( t 2 4 t 3 2 + t 2 2 t 3 3 ) α ,   k 5 = ( 2 t 2 t 3 3 + t 3 4 ) α ,   k 6 = ( t 2 4 + 2 t 2 3 t 3 2 t 2 t 3 3 1 t 3 4 ) α ,  
  • k 7 = ( t 2 4 + 2 t 2 3 t 3 ) α ;  
  • n 1 = ( 16 t 2 3 t 3 3 + 5 t 2 2 t 3 4 + 5 t 2 t 3 5 ) β ,   n 2 = ( 5 t 2 5 t 3 5 t 2 4 t 3 2 16 t 2 3 t 3 3 ) β ,   n 3 = ( 2 t 2 4 t 3 3 + t 2 3 t 3 4 t 2 2 t 3 5 ) β ,
  • n 4 = ( t 2 5 t 3 2 t 2 4 t 3 3 2 t 2 3 t 3 4 ) β , n 5 = ( 8 t 2 2 t 3 3 + t 2 4 t 3 4 t 3 5 ) β ,  
  • n 6 = ( t 2 5 t 2 4 t 3 8 t 2 3 t 3 2 8 t 2 2 t 3 3 t 2 t 3 4 + t 3 5 ) β , n 7 = ( t 2 5 t 2 4 t 3 8 t 2 3 t 3 2 ) β ;
  • α = 1 4 t 2 t 3 ( t 2 3 + 3 t 2 2 t 3 + 3 t 2 2 t 3 + 3 t 2 t 3 2 + t 3 3 ) ,   β = 2 3 t 2 2 t 3 2 ( t 2 + t 3 ) ( t 3 2 + 2 t 2 t 3 + t 3 2 ) .  
Under the condition of parameterization of segments s 1 : 0 t 1 and s 2 : 0 t 1 the coefficients k r , n r , r = 1 , , 7 and α, β have the following values
k 1 = 7 16 ,   k 2 = 7 16 ,   k 3 = 1 16 ,   k 4 = 1 16 ,   k 5 = 15 16 ,   k 6 = 0 ,   k 7 = 15 16 ; n 1 = 4 3 ,   n 2 = 4 3 ,   n 3 = 1 6 ,   n 4 = 1 6 ,   n 5 = 10 3 ,   n 6 = 20 3 ,   n 7 = 10 3 ; α = 1 44 ,   β = 1 12 .
The mathematical model of two-segment shaping of a spline-curve proposed in this subsection is structurally different from the well-known model [1] due to the assignment of extreme derivatives.
Matrix Formula (2) and Algorithm 1 make it possible to generalize to the case of the formation of a smooth spline Hermite curve from (j − 1) segments. In the generalized representation the matrix of vector coefficients [ A ¯ ] = [ T ] [ G ¯ ] for the equations of the segments of the Hermitian spline curve of the fifth degree, connected by the smoothness C 4 , has the Formula (12).
  [ A ¯ ] = [ A ¯ 1 ( 1 ) A ¯ 2 ( 1 ) A ¯ 3 ( 1 ) A ¯ 4 ( 1 ) A ¯ 5 ( 1 ) A ¯ 6 ( 1 ) A ¯ 1 ( j 1 ) A ¯ 2 ( j 1 ) A ¯ 3 ( j 1 ) A ¯ 4 ( j 1 ) A ¯ 5 ( j 1 ) A ¯ 6 ( j 1 ) ] = [ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 0 10 10 0 0 6 4 0 0 3 2 1 2 0 0 15 15 0 0 8 7 0 0 3 2 1 0 0 6 6 0 0 3 3 0 0 1 2 1 2 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 0 10 10 0 0 6 4 0 0 3 2 1 2 0 0 15 15 0 0 8 7 0 0 3 2 1 0 0 6 6 0 0 3 3 0 0 1 2 1 2 ] [ P ¯ 1 P ¯ 2 P ¯ j 1 P ¯ j P ¯ 1 P ¯ 2 P ¯ j 1 P ¯ j P ¯ 1 P ¯ 2 P ¯ j 1 P ¯ j ] .
Example 1.
Given the following conditions for the three segments: P ¯ 1 ( 0 , 0 , 0 ) , P ¯ 2 ( 20 , 30 , 10 ) , P ¯ 3 ( 50 , 30 , 20 ) , P ¯ 4 ( 80 , 40 , 30 ) , P ¯ 1 ( 1 , 3 , 1 ) , P ¯ 4 ( 17 , 85 , 18 ) , P ¯ 4 ( 1 , 40 , 7 ) , it is required to construct a Hermite spline curve consisting of three segments connected with smoothness C 4 .
In order to construct a spline curve, let us apply the matrix Formula (19) for the case ( j 1 ) = 3 . In this case the vector parameters of the geometric matrix [ G ¯ ] are determined through a uniquely solvable system of four linear equations in four unknowns. The system can be solved through one of the direct methods known in the field of linear algebra, e.g., the Gauss–Jordan method.
Figure 8 depicts visual rendering of the result of the calculation. It demonstrates the sought three segments and their subsequent connection with the order of smoothness C 4 .
Algorithm 1 For obtaining a spline curve with polynomial equations of the fifth degree of segments s 1 and s 2 has the following text form:
  • Vector derivatives P ¯ 2 and P ¯ 2 at the joining point P ¯ 2 of segments s 1 and s 2 are determined based on the Formulas (9) and (10).
  • Determine the vector coefficients A ¯ i ( 1 ) in the segment equation s 1 based on the matrix (2). In this case, the boundary conditions of the segment s 1 are the given vector derivatives P ¯ 1 and P ¯ 1 at the knot P ¯ 1 and the vector derivatives P ¯ 2 and P ¯ 2 at the knot P ¯ 2 determined according to item 1.
  • Determine the vector coefficients A ¯ i ( 2 ) in the segment equation s 2 based on matrix (2). In this case, the boundary conditions of the segment s 2 are the vector derivatives P ¯ 2 and P ¯ 2 at the knot P ¯ 2 determined according to item 1 and the given vector derivatives P ¯ 3 and P ¯ 3 at the knot P ¯ 3 .
The values of curvature and torsion at boundary points P ¯ j , j = 1 , , 4 of the connected segments are listed in Table 1.
Example 2.
Figure 9 and Table 2 show the result of construction of a fifth-degree Hermite spline curve consisting of seven segments given the following knot points and boundary conditions: P ¯ 1 ( 0 , 0 , 0 ) , P ¯ 2 ( 20 , 30 , 10 ) , P ¯ 3 ( 50 , 30 , 20 ) , P ¯ 4 ( 80 , 40 , 30 ) , P ¯ 5 ( 110 , 40 , 40 ) , P ¯ 6 ( 140 , 50 , 30 ) , P ¯ 7 ( 200 , 50 , 20 ) , P ¯ 8 ( 240 , 0 , 10 ) , P ¯ 1 ( 1 , 3 , 1 ) , P ¯ 8 ( 0 , 1 , 1 ) , P ¯ 1 ( 1 , 1 , 2 ) , P ¯ 8 ( 0 , 2 , 1 ) . The method and the algorithm are identical to the ones applied in Example 1.
The solution of the examples 1 and 2 allow us to generalize the proposed algorithm and solution method for the case of ( j 1 ) connected segments of fifth-degree Hermite spline curve.
The system of linear equations for the case of unknown P ¯ 2 ,   P ¯ 3 , ,   P ¯ j 2 ,   P ¯ j 1 and P ¯ 2 ,   P ¯ 3 , , P ¯ j 2 ,   P ¯ j 1 is of the following form
{   16 P ¯ 2 + 7 P ¯ 3 P ¯ 3 = 15 ( P ¯ 1 P ¯ 3 ) 7 P ¯ 1 P ¯ 1 , 4 P ¯ 3 3 P ¯ 2 + 1 2 P ¯ 3 = 10 ( P ¯ 1 2 P ¯ 2 + P ¯ 3 ) + 4 P ¯ 1 + 1 2 P ¯ 1 , 7 P ¯ 2 + 16 P ¯ 3 + 7 P ¯ 4 + P ¯ 2 P ¯ 4 = 15 ( P ¯ 2 P ¯ 4 ) , 4 P ¯ 3 4 P ¯ 4 + 1 2 P ¯ 2 3 P ¯ 3 + 1 2 P ¯ 4 = 10 ( P ¯ 2 2 P ¯ 3 + P ¯ 4 ) ,                             7 P ¯ j 2 + 16 P ¯ j 1 + P ¯ j 2 = 15 ( P ¯ j 2 P ¯ j ) 7 P ¯ j + P ¯ j , 4 P ¯ j 1 + 1 2 P ¯ j 2 3 P ¯ j 1 = 10 ( P ¯ j 2 2 P ¯ j 1 + P ¯ j ) 4 P ¯ j + 1 2 P ¯ j . .
The generalized system of Equation (13) can be expressed in the following matrix form
P ¯ 2 P ¯ 3 P ¯ 4 P ¯ j 2 P ¯ j 1 P ¯ 2 P ¯ 3 P ¯ 4 P ¯ j 2 P ¯ j 1 16 7 0 0 0 0 1 0 0 0 15 ( P ¯ 1 P ¯ 3 ) 7 P ¯ 1 P ¯ 1 0 4 0 0 0 3 1 2 0 0 0 10 ( P ¯ 1 2 P ¯ 2 + P ¯ 3 ) + 4 P ¯ 1 + 1 2 P ¯ 1 7 16 7 0 0 1 0 1 0 0 15 ( P ¯ 2 P ¯ 4 ) 0 4 4 0 0 1 2 3 1 2 0 0 10 ( P ¯ 2 2 P ¯ 3 + P ¯ 4 ) 0 0 0 0 7 16 0 0 0 1 0 15 ( P ¯ j 2 P ¯ j ) 7 P ¯ j + P ¯ j 0 0 0 0 0 4 0 0 0 1 2 3 10 ( P ¯ j 2 2 P ¯ j 1 + P ¯ j ) 4 P ¯ j + 1 2 P ¯ j
The generalized system matrix (parametric matrix) (13) or (14) consists of 2 ( j 2 ) linear equations in 2 ( j 2 ) unknown. It is of size 2 ( j 2 ) × 2 ( j 2 ) and holds real numbers. This matrix is invertible and therefore the system of linear equations is uniquely solvable. It can be solved through Gauss–Jordan method, just as the Example above. The matrix Formula (14) of the generalized system of Equation (13) conforms to this method.

3.3. Construction of a Closed Fifth-Degree Hermite Spline Curve

In order to construct a closed Hermite spline curve of i segments subsequently connected in the given j knot points with smoothness C 4 , it is required to fulfill the following boundary conditions at connection points: P ¯ 1 = p ¯ 1 ( t = 0 ) , P ¯ 1 = p ¯ 1 ( t = 0 ) , P ¯ 1 = p ¯ j ( t = 1 ) , P ¯ 1 = p ¯ j ( t = 1 ) . Taking these conditions into account the matrix (15) is used to determine the vector coefficients of the segment equations.
Example 3.
It is required to construct a closed Hermite spline curve of four segments subsequently connected with smoothness C 4 at knot points P ¯ 1 ( 0 , 0 , 0 ) , P ¯ 2 ( 0 , 100 , 10 ) , P ¯ 3 ( 100 , 100 , 20 ) , P ¯ 4 ( 100 , 0 , 30 ) .
Let us add vectors P ¯ 1 ,   P ¯ 1 and P ¯ 4 , P ¯ 4 to the list of unknown vectors in the system of equations and acquire the system of eight equations in eight unknowns:
{ 7 P ¯ 1 + 16 P ¯ 2 + 7 P ¯ 3 + P ¯ 1 P ¯ 3 = 15 ( P ¯ 1 P ¯ 3 ) , 4 P ¯ 1 4 P ¯ 3 + 1 2 P ¯ 1 3 P ¯ 2 + 1 2 P ¯ 3 = 10 ( P ¯ 1 2 P ¯ 2 + P ¯ 3 ) , 7 P ¯ 2 + 16 P ¯ 3 + 7 P ¯ 4 + P ¯ 2 P ¯ 4 = 15 ( P ¯ 2 P ¯ 4 ) , 4 P ¯ 2 4 P ¯ 4 + 1 2 P ¯ 2 3 P ¯ 3 + 1 2 P ¯ 4 = 10 ( P ¯ 2 2 P ¯ 3 + P ¯ 4 ) , 7 P ¯ 1 + 7 P ¯ 3 + 16 P ¯ 4 P ¯ 1 + P ¯ 3 = 15 ( P ¯ 3 P ¯ 1 ) , 4 P ¯ 1 + 4 P ¯ 3 + 1 2 P ¯ 1 + 1 2 P ¯ 3 3 P ¯ 4 = 10 ( P ¯ 3 2 P ¯ 4 + P ¯ 1 ) , 16 P ¯ 1 + 7 P ¯ 2 + 7 P ¯ 4 P ¯ 2 + P ¯ 4 = 15 ( P ¯ 4 P ¯ 2 ) , 4 P ¯ 2 + 4 P ¯ 4 3 P ¯ 1 + 1 2 P ¯ 2 + 1 2 P ¯ 4 = 10 ( P ¯ 4 2 P ¯ 1 + P ¯ 2 ) . .
Let us transform the system (15) into matrix form in order to facilitate the solution through Gauss–Jordan method (16).
The unknown vector coefficients A ¯ i ( k ) ,   k = 1 , , 4 ;   i = 1 , , 6 are calculated through (16) taking into account the closure. In the case of a closed spline, the matrix for calculating vector coefficients A ¯ i ( k ) is expanded by adding a closing segment, the equation of which contains vector coefficients A ¯ i ( k ) , i = 1 , , 6 . Figure 10 and Table 3 show the result of construction of a closed spline curve of four segments.
P ¯ 1 P ¯ 2 P ¯ 3 P ¯ 4 P ¯ 1 P ¯ 2 P ¯ 3 P ¯ 4 7 16 7 0 1 0 1 0 15 ( P ¯ 1 P ¯ 3 ) 4 0 4 0 1 2 3 1 2 0 10 ( k 5 P ¯ 1 2 k 6 P ¯ 2 + P ¯ 3 ) 0 7 16 7 0 1 0 1 15 ( P ¯ 2 P ¯ 4 ) 0 4 0 4 0 1 2 3 1 2 10 ( P ¯ 2 2 P ¯ 3 + P ¯ 4 ) 7 0 7 16 1 0 1 0 15 ( P ¯ 3 P ¯ 1 ) 4 0 4 0 1 2 0 1 2 3 10 ( P ¯ 3   2 P ¯ 4 + P ¯ 1 ) 16 7 0 7 0 1 0 1 15 ( P ¯ 4 P ¯ 2 ) 0 4 0 4 3 1 2 0 1 2 10 ( P ¯ 4   2 P ¯ 1 + P ¯ 2 ) .
The system of Equation (15) and the matrix Formula (16) can be generalized for the case of j knot points and j segments of a closed Hermite spline curve. The generalized system of equations is of the following matrix form:
P ¯ 1 P ¯ 2 P ¯ 3 P ¯ 4 P ¯ j 2 P ¯ j 1 P ¯ j P ¯ 1 P ¯ 2 P ¯ 3 P ¯ 4 P ¯ j 2 P ¯ j 1 P ¯ j 7 16 7 0 0 0 0 1 0 1 0 0 0 0 15 ( P ¯ 1 P ¯ 3 ) 4 0 4 0 0 0 0 1 2 3 1 2 0 0 0 0 10 ( P ¯ 1 2 P ¯ 2 + P ¯ 3 ) 0 7 16 7 0 0 0 0 1 0 1 0 0 0 15 ( P ¯ 2 P ¯ 4 ) 0 4 0 4 0 0 0 0 1 2 3 1 2 0 0 0 10 ( P ¯ 2 2 P ¯ 3 + P ¯ 4 ) 0 0 0 0 7 16 7 0 0 0 0 1 0 1 15 ( P ¯ j 2 P ¯ j ) 0 0 0 0 4 0 4 0 0 0 0 1 2 3 1 2 10 ( P ¯ j 2 2 P ¯ j 1 + P ¯ j ) 7 0 0 0 0 7 16 1 0 0 0 0 1 0 15 ( P ¯ j 1 P ¯ 1 ) 4 0 0 0 0 4 0 1 2 0 0 0 0 1 2 3 10 ( P ¯ j 1 2 P ¯ j + P ¯ 1 ) 16 7 0 0 0 0 7 0 1 0 0 0 0 1 15 ( P ¯ j P ¯ 2 ) 0 4 0 0 0 0 4 3 1 2 0 0 0 0 1 2 10 ( P ¯ j 2 P ¯ 1 + P ¯ 2 )  
The matrix of generalized system of equations consists of 2 j linear equations in 2 j unknown P ¯ 1 ,   P ¯ 2 ,   P ¯ j 1 ,   P ¯ j ; P ¯ 1 ,   P ¯ 2 ,   P ¯ j 1 ,   P ¯ j and is of size 2 j × 2 j . Its elements are also real numbers. It is invertible and therefore the system of linear equations is uniquely solvable. It can also be solved through the Gauss–Jordan method. The matrix Formula (17) conforms to this method.
Example 4.
Figure 11 and Table 4 show the results of construction of a closed Hermite spline curve of 14 segments given the knot points: P ¯ 1 ( 0 , 0 , 0 ) , P ¯ 2 ( 20 , 30 , 10 ) , P ¯ 3 ( 50 , 30 , 20 ) , P ¯ 4 ( 80 , 40 , 30 ) , P ¯ 5 ( 110 , 40 , 40 ) , P ¯ 6 ( 140 , 50 , 30 ) , P ¯ 7 ( 200 , 50 , 20 ) , P ¯ 8 ( 240 , 0 , 10 ) , P ¯ 9 ( 200 , 50 , 0 ) , P ¯ 10 ( 140 , 50 , 10 ) , P ¯ 11 ( 110 , 30 , 30 ) , P ¯ 12 ( 80 , 40 , 40 ) , P ¯ 13 ( 50 , 30 , 50 ) , P ¯ 14 ( 20 , 30 , 10 ) . The method and the algorithm are identical to the ones applied in Example 3.

3.4. Construction of a Hermite Segment Given Boundary Derivatives of First, Second, and Third Orders

Given points P ¯ 1 ( x 1 , y 1 , z 1 ) and P ¯ 2 ( x 2 , y 2 , z 2 ) with the respective boundary conditions P ¯ 1 , P ¯ 1 , P ¯ 1 and P ¯ 2 , P ¯ 2 , P ¯ 2 (see Figure 12), it is required to construct a segment of a Hermite spline curve.
Obviously, a segment of Hermite spline curve has to be described by a polynomial
p ¯ ( t ) = i = 1 8 A ¯ i t i 1 ,   t 1 t t 2 .
Vectors P ¯ 1 , P ¯ 2 are the first vector derivatives constituting tangent vectors at the endpoints of the sought segment s. P ¯ 1 ,   P ¯ 2 are the second vector derivatives constituting vectors of acceleration of a point tracing out the segment s and P ¯ 1 ,   P ¯ 2 are the third vector derivatives constituting vectors of jerk of a point tracing out the segment s. Obviously, the given conditions are sufficient in order to define the vector coefficients A ¯ i of the Formula (18). Let us express the first, the second, and the third derivatives of vector function p ¯ ( t )
p ¯ ( t ) = i = 2 8 A ¯ i ( i 1 ) t i 2 , p ¯ ( t ) = i = 3 8 A ¯ i ( i 1 ) ( i 2 ) t i 3 ,   p ¯ ( t ) = i = 4 8 A ¯ i ( i 1 ) ( i 2 ) ( i 3 ) t i 4 .
We apply parameterization 0 t 1 . In this case the values of the first four vector coefficients can be acquired
p ¯ ( 0 ) = P ¯ 1 = A ¯ 1 ;   p ¯ ( 0 ) = P ¯ 1 = A ¯ 2 ;   p ¯ ( 0 ) = P ¯ 1 = 2 A ¯ 3 ,   i . e .   A ¯ 3 = 1 2 P ¯ 1 ; p ¯ ( 0 ) = P ¯ 1 = 6 A ¯ 4 ,   i . e .   A ¯ 4 = 1 6 P ¯ 1 .
The rest of the vector coefficients are determined through the equations
p ¯ ( t 2 ) = P ¯ 2 ,   p ¯ ( t 2 ) = P ¯ 2 ,   p ¯ ( t 2 ) = P ¯ 2 ,   p ¯ ( t 2 ) = P ¯ 2 ,
that lead us to the system of four linear equations
{ i = 1 8 A ¯ i t 2 i 1 P ¯ 2 = 0 , i = 2 8 A ¯ i ( i 1 ) t 2 i 2 P ¯ 2 = 0 , i = 3 8 A ¯ i ( i 1 ) ( i 2 ) t 2 i 3 P ¯ 2 = 0 , i = 4 8 A ¯ i ( i 1 ) ( i 2 ) ( i 3 ) t 2 i 4 P ¯ 2 = 0 .
The values of coefficients A ¯ 5 ,   A ¯ 6 ,   A ¯ 7 and A ¯ 8 follow from the system of Equation (20)
A ¯ 5 = 35 P ¯ 1 + 35 P ¯ 2 20 P ¯ 1 15 P ¯ 2 5 P ¯ 1 + 5 2 P ¯ 2 2 3 P ¯ 1 1 2 P ¯ 2 ,
A ¯ 6 = 84 P ¯ 1 84 P ¯ 2 + 45 P ¯ 1 + 39 P ¯ 2 + 10 P ¯ 1 7 P ¯ 2 + P ¯ 1 + 1 2 P ¯ 2 ,
A ¯ 7 = 70 P ¯ 1 + 70 P ¯ 2 36 P ¯ 1 34 P ¯ 2 15 2 P ¯ 1 + 13 2 P ¯ 2 2 3 P ¯ 1 1 2 P ¯ 2 ,
A ¯ 8 = 20 ( P ¯ 1 P ¯ 2 ) + 10 ( P ¯ 1 + P ¯ 2 ) + 2 ( P ¯ 1 P ¯ 2 ) + 1 6 ( P ¯ 1 + P ¯ 2 ) .
Let us transform the expressions (19) and (20) into the matrix form
[ A ¯ ] = [ A ¯ 1 A ¯ 2 A ¯ 3 A ¯ 4 A ¯ 5 A ¯ 6 A ¯ 7 A ¯ 8 ] = [ 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0.5 0 0 0 0 0 0 0 0 0 1 6 0 35 35 20 15 5 5 2 2 3 1 2 84 84 45 39 10 7 1 1 2 70 70 36 34 15 2 13 2 2 3 1 2 20 20 10 10 2 2 1 6 1 6 ] [ P ¯ 1 P ¯ 2 P ¯ 1 P ¯ 2 P ¯ 1 P ¯ 2 P ¯ 1 P ¯ 2 ] .
If we substitute the expressions of vector coefficients (21) into the Formula (18), we acquire the sought equation of a Hermite spline curve segment.

3.5. Construction of a Seventh-Degree Hermite Spline Curve of Two Segments and Generalization for the Case of (j − 1) Segments

Let us consider connection of two segments s 1 and s 2 (see Figure 13) given the same boundary conditions as for the case of one segment s previously considered in Section 3.4. Parameterization of segments is fulfilled in ranges t 1 t t 2 and t 2 t t 3 for respective segments s 1 and s 2 . Without loss of generality, we accept that t 1 = 0 at the initial point of segment s 1 and t 2 = 0 at the initial point of segment s 2 . Let us express the polynomial equation of the segments in the following form: p ¯ k ( t ) = i = 1 8 A ¯ i ( k ) t i 1 ;   k = 1 , 2 . Let us express the derivatives of vector function p ¯ k ( t )
p ¯ k ( t ) = i = 2 8 A ¯ i ( k ) ( i 1 ) t i 2 ,   p ¯ k ( t ) = i = 3 8 A ¯ i ( k ) ( i 1 ) ( i 2 ) t i 3 , p ¯ k ( t ) = i = 4 8 A ¯ ( k ) i ( i 1 ) ( i 2 ) ( i 3 ) t i 4 .  
For k =1 at the initial point   P ¯ 1 ( t 1 = 0 ) of segment s 1 we acquire
  p ¯ 1 ( 0 ) = P ¯ 1 = A ¯ 1 ( 1 ) ,   p ¯ 1 ( 0 ) = P ¯ 1 = A ¯ 2 ( 1 ) ,   p ¯ 1 ( 0 ) = P ¯ 1 = 2 A ¯ 3 ( 1 ) ,   p ¯ 1 ( 0 ) = P ¯ 1 = 6 A ¯ 4 ( 1 ) .
At the final point   P ¯ 2 ( t 2 ) of segment s 1 we acquire
p ¯ 1 ( t 2 ) = P ¯ 2 = i = 1 8 A ¯ i ( 1 ) t 2 i 1 ,   p ¯ 1 ( t 2 ) = P ¯ 2 = i = 2 8 A ¯ i ( 1 ) ( i 1 ) t 2 i 2 ,   p ¯ 1 ( t 2 ) = P ¯ 2 = i = 3 6 A ¯ i ( 1 ) ( i 1 ) ( i 2 ) t 2 i 3 , p ¯ 1 ( t 2 ) = i = 4 8 A ¯ ( 1 ) i ( i 1 ) ( i 2 ) ( i 3 ) t 2 i 4 .
For k = 2 at the initial point   P ¯ 2 ( t 2 = 0 ) of segment s 2 we acquire
p ¯ 2 ( 0 ) = P ¯ 2 = A ¯ 1 ( 2 ) ,   p ¯ 2 ( 0 ) = P ¯ 2 = A ¯ 2 ( 2 ) ,   p ¯ 2 ( 0 ) = P ¯ 2 = 2 A ¯ 3 ( 2 ) ,   p ¯ 2 ( 0 ) = P ¯ 2 = 6 A ¯ 4 2 .
At the final point P ¯ 3 ( t 3 ) of segment s 2 we acquire
p ¯ 2 ( t 3 ) = P ¯ 3 = i = 1 8 A ¯ i ( 2 ) t 3 i 1 ,   p ¯ 2 ( t 3 ) = P ¯ 3 = i = 2 8 A ¯ i ( 2 ) ( i 1 ) t 3 i 2 ,   p ¯ 2 ( t 3 ) = P ¯ 3 = i = 3 8 A ¯ i ( 2 ) ( i 1 ) ( i 2 ) t 3 i 3 , p ¯ 2 ( t 3 ) = i = 4 8 A ¯ ( 2 ) i ( i 1 ) ( i 2 ) ( i 3 ) t 3 i 4 .
Thus, through (22), we acquire the expressions for the first four coefficients of the equation for the first segment s 1 :   A ¯ 1 ( 1 ) = P ¯ 1 ,   A ¯ 2 ( 1 ) = P ¯ 1 ,   A ¯ 3 ( 1 ) = 1 2 P ¯ 1 ,   A ¯ 4 ( 1 ) = 1 6 P ¯ 1 . The remaining vector coefficients   A ¯ 5 ( 1 ) ,   A ¯ 6 ( 1 ) ,   A ¯ 7 ( 1 ) , A ¯ 8 ( 1 ) are determined through the system of four linear equations
{ i = 1 8 A ¯ i ( 1 ) t 2 i 1 P ¯ 2 = 0 , i = 2 8 A ¯ i ( 1 ) ( i 1 ) t 2 i 2 P ¯ 2 = 0 , i = 3 8 A ¯ i ( 1 ) ( i 1 ) ( i 2 ) t 2 i 3 P ¯ 2   = 0 , i = 4 8 A ¯ ( 1 ) i ( i 1 ) ( i 2 ) ( i 3 ) t 2 i 4 P ¯ 2 .
The expressions of the first four vector coefficients of segment s 2 follow from (23): A ¯ 1 ( 2 ) = P ¯ 2 ,   A ¯ 2 ( 2 ) = P ¯ 2 ,   A ¯ 3 ( 2 ) = 1 2 P ¯ 2 ,   A ¯ 4 ( 2 ) = 1 6 P ¯ 2 . The remaining vector coefficients   A ¯ 5 ( 2 ) ,   A ¯ 6 ( 2 ) ,   A ¯ 7 ( 2 ) , and   A ¯ 8 ( 2 ) are determined through the system of four linear equations
{ i = 1 8 A ¯ i ( 2 ) t 3 i 1 P ¯ 3 = 0 , i = 2 8 A ¯ i ( 2 ) ( i 1 ) t 3 i 2 P ¯ 3 = 0 , i = 3 8 A ¯ i ( 2 ) ( i 1 ) ( i 2 ) t 3 i 3 P ¯ 3   = 0 , i = 4 8 A ¯ ( 2 ) i ( i 1 ) ( i 2 ) ( i 3 ) t 3 i 4 P ¯ 3 .
Vectors P ¯ 2 , P ¯ 2 , and P ¯ 2 at the knot P ¯ 2 of connection of segments s 1 and s 2 are unknown. These vectors are determined through the conditions of equality of fourth, fifth, and sixth derivatives of vector functions at the connection knot:
p ¯ 1   ( t = t 2 ) = p ¯ 2 ( t = 0 )   , or in expanded form
4 A ¯ 5 ( 1 ) + 120 A ¯ 6 ( 1 ) t 2 + 360 A ¯ 7 ( 1 ) t 2 2 + 840 A ¯ 8 ( 1 ) t 2 3 = 24 A ¯ 5 ( 2 ) .
p ¯ 1   ( t = t 2 ) = p ¯ 2   ( t = 0 )   , or in expanded form
120 A ¯ 6 ( 1 ) + 720 A ¯ 7 ( 1 ) t 2 + 2520 A ¯ 8 ( 1 ) t 2 2 = 120 A ¯ 6 ( 2 ) .
p ¯ 1   ( t = t 2 ) = p ¯ 2 ( t = 0 ) , or in expanded form
720 A ¯ 7 ( 1 ) + 5040 A ¯ 8 ( 1 ) t 2 = 720 A ¯ 7 ( 2 ) .
The sought vectors P ¯ 2 , P ¯ 2 , and P ¯ 2 are determined through the system of linear Equations (25)–(27) taking into account the Equations (23) and (24) with parameterization 0 t 1 for segments s 1 and s 2
P ¯ 2 = 19 32 P ¯ 1 19 32 P ¯ 3 1 8 P ¯ 1 +   1 8 P ¯ 3 1 96 P ¯ 1   1 96 P ¯ 3 35 32   ( P ¯ 1   P ¯ 3 ) ,
P ¯ 2 = 39 20 P ¯ 1 39 20 P ¯ 3 + 7 20 P ¯ 1 +   7 20 P ¯ 3 + 1 40 P ¯ 1   1 40 P ¯ 3 + 21 5   ( P ¯ 1 2 P ¯ 2 +   P ¯ 3 )
P ¯ 2 = 105 16 P ¯ 1 + 105 16 P ¯ 3 + 15 8 P ¯ 1 15 8 P ¯ 3 + 3 16 P ¯ 1 + 3 16 P ¯ 3 + 105 16   ( P ¯ 1   P ¯ 3 )
The matrix Formula (21) and Algorithm 2 allow us to generalize to the case of the formation of a smooth spline Hermite curve from (j − 1) segments.
In the generalized representation the matrix of vector coefficients [ A ¯ ] = [ T ] [ G ¯ ] for the equations of ( j 1 ) segments of the Hermitian spline curve of the seventh-degree, connected by the smoothness C 6 , has the Formula (32).
  [ A ¯ ] = [ A ¯ 1 ( 1 ) A ¯ 2 ( 1 ) A ¯ 3 ( 1 ) A ¯ 4 ( 1 ) A ¯ 5 ( 1 ) A ¯ 6 ( 1 ) A ¯ 7 ( 1 ) A ¯ 8 ( 1 ) A ¯ 1 ( j 1 ) A ¯ 2 ( j 1 ) A ¯ 3 ( j 1 ) A ¯ 4 ( j 1 ) A ¯ 5 ( j 1 ) A ¯ 6 ( j 1 ) A ¯ 7 ( j 1 ) A ¯ 8 ( j 1 ) ] = [ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 0 0 0 35 35 0 0 20 15 0 0 5 5 2 0 0 3 2 1 2 0 0 84 84 0 0 45 39 0 0 10 7 0 0 1 1 2 0 0 70 70 0 0 36 34 0 0 15 2 13 2 0 0 2 3 1 2 0 0 20 20 0 0 10 10 0 0 2 2 0 0 1 6 1 6 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 0 0 0 35 35 0 0 20 15 0 0 5 5 2 0 0 2 3 1 2 0 0 84 84 0 0 45 39 0 0 10 7 0 0 1 1 2 0 0 70 70 0 0 36 34 0 0 15 2 13 2 0 0 2 3 1 2 0 0 20 20 0 0 10 10 0 0 2 2 0 0 1 6 1 6 ] [ P ¯ 1 P ¯ 2 P ¯ j 1 P ¯ j P ¯ 1 P ¯ 2 P ¯ j 1 P ¯ j P ¯ 1 P ¯ 2 P ¯ j 1 P ¯ j P ¯ 1 P ¯ 2 P ¯ j 1 P ¯ j ] .
Example 5.
It is required to construct a Hermite spline curve of the seventh degree consisting of three segments given the following boundary conditions: P ¯ 1 ( 20 , 0 , 0 ) , P ¯ 2 ( 20 , 10 , 10 ) , P ¯ 3 ( 50 , 15 , 20 ) , P ¯ 4 ( 80 , 0 , 20 ) , P ¯ 1 ( 1 , 0 , 1 ) , P ¯ 4 ( 1 , 0 , 2 ) , P ¯ 1 ( 1 , 1 , 2 ) , P ¯ 4 ( 1 , 3 , 0 ) , P ¯ 1   ( 1 , 0 , 1 ) , P ¯ 4   ( 1 , 1 , 0 ) .
In order to construct a spline curve, let us apply the matrix Formula (32) for the case ( j 1 ) = 3 . In this case, the vector parameters of the geometric matrix [ G ¯ ] are determined through a uniquely solvable system of six linear equations in six unknowns.
Figure 14 depicts visual rendering of the result of the calculation. It demonstrates the sought three segments and their subsequent connection with order of smoothness C 6 .
Algorithm 2 For obtaining a spline curve with polynomial equations of the seventh degree of segments s 1 and s 2 has the following text form:
  • Vector derivatives P ¯ 2 , P ¯ 2 , and P ¯ 2 at the joining point P ¯ 2 of segments s 1 and s 2 are determined based on the Formulas (29)–(31).
  • Determine the vector coefficients A ¯ i ( 1 ) in the segment equation s 1 based on the matrix (20). In this case, the boundary conditions of the segment s 1 are the given vector derivatives P ¯ 1 , P ¯ 1 , and P ¯ 1 at the knot P ¯ 1 and the vector derivatives P ¯ 2 , P ¯ 2 , and P ¯ 2 at the knot P ¯ 2 determined according to item 1.
  • Determine the vector coefficients A ¯ i ( 2 ) in the segment equation s 2 based on matrix (21). In this case, the boundary conditions of the segment s 2 are the vector derivatives P ¯ 2 , P ¯ 2 , and P ¯ 2 at the knot P ¯ 2 determined according to item 1 and the given vector derivatives P ¯ 3 , P ¯ 3 , and P ¯ 3 at the knot P ¯ 3 .
Table 5 shows the calculation results from Example 5.
The mathematical models of shaping of polynomial spline curves obtained in Section 3.2, Section 3.3, Section 3.4 and Section 3.5 have scientific novelty and have not been considered in the scientific literature known to the authors.

3.6. Construction of a Bézier Spline Curve Segment Given Boundary Derivatives of the First and the Second Order

In works [1,12,13,15,18,21], the theoretical foundations of analytical and geometric models of formation of Bézier spline curves are presented. In this paper we propose the method of segmental shaping of these curves based on the same mathematical model as used for Hermite spline curves in Section 3.1, Section 3.2 and Section 3.3.
The points P ¯ 1 ( x 1 , y 1 , z 1 ) and P ¯ 2 ( x 2 , y 2 , z 2 ) as well as the respective boundary conditions P ¯ 1 , P ¯ 1 and P ¯ 2 , P ¯ 2 are given (see Figure 15).
Under the given conditions it is possible to construct a Bézier spline curve segment described by the formula [1,10,13]
p ¯ ( t ) = i = 0 n n ! i ! ( n i ) ! t i ( 1 t ) n i A ¯ i + 1 ,   n =   5 ,   t 1 t t 2 ,
where the set of functions B i n ( t ) = n ! i ! ( n i ) ! t i ( 1 t ) n i forms the Bernstein basis.
Let us express the first, the second, the third and the fourth derivatives of vector function p ¯ ( t )
p ¯ ( t ) = 5 ( 1 t ) 4 A ¯ 1 + ( 5 ( 1 t ) 4 20 t ( 1 t ) 3 ) A ¯ 2 + ( 20 t ( 1 t ) 3 30 t 2 ( 1 t ) 2 ) A ¯ 3 + + ( 30 t 2 ( 1 t ) 2 20 t 3 ( 1 t ) ) A ¯ 4 + ( 20 t 3 ( 1 t ) 5 t 4 ) A ¯ 5 + 5 t 4 A ¯ 6 , p ¯ ( t ) = 20 ( 1 t ) 3 A ¯ 1 + ( 40 ( 1 t ) 3 + 60 t ( 1 t ) 2 ) A ¯ 2 + ( 20 ( 1 t ) 3 120 t ( 1 t ) 2 + 60 t 2 ( 1 t ) ) A ¯ 3 + + ( 60 t ( 1 t ) 2 120 t 2 ( 1 t ) + 20 t 3 ) A ¯ 4 + ( 60 t 2 ( 1 t ) 40 t 3 ) A ¯ 5 + 20 t 3 A ¯ 6 , p ¯ ( t ) = 60 ( 1 t ) 2 A ¯ 1 + ( 120 t ( 1 t ) + 180 ( 1 t ) 2 ) A ¯ 2 + ( 180 ( 1 t ) 2 + 360 t ( 1 t ) 60 t 2 ) A ¯ 3 + + ( 60 ( 1 t ) 2 + 180 t 2 360 t ( 1 t ) ) A ¯ 4 + ( 120 t ( 1 t ) 180 t 2 ) A ¯ 5 + 60 t 2 A ¯ 6 , p ¯ ( t ) = 120 ( 1 t ) A ¯ 1 ( 480 600 t ) A ¯ 2 + ( 720 1200 ) A ¯ 3 ( 480 1200 t ) A ¯ 4 + + ( 120 600 t ) A ¯ 5 + 120 t A ¯ 6 .
Vectors P ¯ 1 , P ¯ 2 are the first vector derivatives constituting tangent vectors at the endpoints of the sought segment s. Vectors P ¯ 1 ,   P ¯ 2 are the second vector derivatives constituting vectors of acceleration of a point tracing out the segment s. Vectors P ¯ 1 ,   P ¯ 2 are the third vector derivatives constituting vectors of jerk of a point tracing out the segment s. Vectors P ¯ 1 ,   P ¯ 2 are the fourth vector derivatives constituting vectors of snap of a point tracing out the segment s.
This allows us to acquire the values of the first three vector coefficients
p ¯ ( 0 ) = P ¯ 1 = A ¯ 1 ;   p ¯ ( 0 ) = P ¯ 1 = 5 A ¯ 1 + 5 A ¯ 2 ,   i . e .   A ¯ 2 = 1 5 P ¯ 1 + P ¯ 1 , p ¯ ( 0 ) = P ¯ 1 = 20 A ¯ 1 40 A ¯ 2 + 20 A ¯ 3 , i . e . ,   A ¯ 3 = P ¯ 1 + 2 5 P ¯ 1 + 1 20 P ¯ 1 .
The three remaining vector coefficients are determined through the equations
p ¯ ( t 2 ) = P ¯ 2 ,   p ¯ ( t 2 ) = P ¯ 2 ,   p ¯ ( t 2 ) = P ¯ 2 .
From the Equation (35) follows the system of three linear equations
i = 0 5 n ! i ! ( n i ) ! t i ( 1 t 2 ) n i A ¯ i + 1 P ¯ 2 = 0 , i = 0 5 ( 120 A i + 1 t 2 i i ( 1 t 2 ) 5 i i ! ( 5 i ) ! t 2 120 A i + 1 t 2 i ( 1 t 2 ) 5 i ( 5 i ) i ! ( 5 1 ) ! ( 1 t 2 ) ) P ¯ 2 = 0 , i = 0 5 ( 120 A i + 1 t 2 i i 2 ( 1 t 2 ) 5 i ( i 1 ) i ! ( 5 i ) ! t 2 2 240 A i + 1 t 2 i i ( 1 t 2 ) 5 i ( 5 i ) i ! ( 5 i ) ! t 2 ( 1 t 2 ) + + 120 A i + 1 t 2 i ( 1 t 2 ) 5 i ( 5 i ) ( ( 5 i ) 1 ) i ! ( 5 i ) ! ( 1 t 2 ) 2 ) P ¯ 2   = 0 .
The expressions for coefficients A ¯ 4 ,   A ¯ 5 , and   A ¯ 6 follow from the system of the Equation (36)
A ¯ 4 = ( t 2 3 1 ) P ¯ 1 t 2 3 + P ¯ 2 t 2 3 + 0.6 P ¯ 1 t 2 3 0.4 P ¯ 2 t 2 2 + 0.15 ( t 2 3 t 2 2 ) P ¯ 1 t 2 3 + 0.05 P ¯ 2 t 2 ,
A ¯ 5 = ( t 2 4 4 t 2 + 3 ) P ¯ 1 t 2 4 + ( 4 t 2 3 ) P ¯ 2 t 2 4 + ( 0.8 t 2 4 2.4 t 2 2 + 16 t 2 ) P ¯ 1 t 2 4 ( 1.6 t 2 2 + 1.4 t 2 ) P ¯ 2 t 2 4 + + 0.3 ( t 2 4 2 t 2 3 + t 2 2 ) P ¯ 1 t 2 4 + 0.2 ( t 2 3 t 2 2 ) P ¯ 2 t 2 4 ,
A ¯ 6 = ( t 2 5 10 t 2 2 + 15 t 2 6 ) P ¯ 1 t 2 5 + ( 10 t 2 2 15 t 2 6 ) P ¯ 2 t 2 5 + ( t 2 5 6 t 2 3 + 8 t 2 3 ) P ¯ 1 t 2 5 ( 4 t 2 3 7 t 2 2 + 3 t 2 ) P ¯ 2 t 2 5 + 0.5 ( t 2 5 0.3 t 2 4 + 0.3 t 2 3 t 2 2 ) P ¯ 1 t 2 5 + 0.5 ( t 2 4 2 t 2 3 + t 2 2 ) P ¯ 2 t 2 5 .
The expressions (34) and (36) can be expressed in the matrix form with parameterization 0 t t 2 = 1
[ A ¯ ] = [ A ¯ 1 A ¯ 2 A ¯ 3 A ¯ 4 A ¯ 5 A ¯ 6 ] = [ 1 0 0 0 0 0 1 0 1 5 0 0 0 1 0 2 5 0 1 20 0 0 1 0 2 5 0 1 20 0 1 0 1 5 0 0 0 1 0 0 0 0 ] [ P ¯ 1 P ¯ 2 P ¯ 1 P ¯ 2 P ¯ 1 P ¯ 2 ] .

3.7. Construction of a Fifth-Degree Bézier Spline Curve of Two Segments

Let us consider the connection of two segments of a fifth-degree Bézier spline curve (see Figure 16) given the same boundary conditions as for the case of one segment s previously considered in Section 3.6.
Let us express the equation of the segments in the following form: p ¯ k ( t ) = i = 0 n = 5 n ! i ! ( n i ) ! t i ( 1 t ) 5 i A ¯ i + 1 ( k ) ;   k = 1 , 2 , 0 t 1 . A Bézier spline segment has control points A ¯ 2 ( k ) , A ¯ 3 ( k ) , A ¯ 4 ( k ) , A ¯ 5 ( k ) and passes through knot points A ¯ 1 ( k ) = P ¯ k , A ¯ 6 ( k ) = P ¯ k + 1 .
For k = 1 at the initial point   P ¯ 1 ( t 1 = 0 ) of segment s 1 we acquire
  p ¯ 1 ( 0 ) = P ¯ 1 = A ¯ 1 ( 1 ) ,   p ¯ 1 ( 0 ) = P ¯ 1 = 5 ( A ¯ 1 ( 1 ) + A ¯ 2 ( 1 ) ) ,   p ¯ 1 ( 0 ) = P ¯ 1 = 20 ( A ¯ 1 ( 1 ) 2 A ¯ 2 ( 1 ) + A ¯ 3 ( 1 ) ) .
For k = 1 at the final point   P ¯ 2 ( t 2 = 1 ) of segment s 1 we acquire
  p ¯ 1 ( 1 ) = P ¯ 2 = A ¯ 6 ( 1 ) ,   p ¯ 1 ( 1 ) = P ¯ 2 = 5 ( A ¯ 5 ( 1 ) + P ¯ 2 ) ,   p ¯ 1 ( 1 ) = P ¯ 2 = 20 ( A ¯ 4 ( 1 ) 2 A ¯ 5 ( 1 ) + P ¯ 2 ) .
For k = 2 at the initial point   P ¯ 2 ( t 2 = 0 ) of segment s 2 we acquire
  p ¯ 2 ( 0 ) = P ¯ 2 = A ¯ 1 ( 2 ) ,   p ¯ 2 ( 0 ) = P ¯ 2 = 5 ( A ¯ 1 ( 2 ) + A ¯ 2 ( 2 ) ) ,   p ¯ 2 ( 0 ) = P ¯ 2 = 20 ( A ¯ 1 ( 2 ) 2 A ¯ 2 ( 2 ) + A ¯ 3 ( 2 ) )
At the final point   P ¯ 3 ( t 3 = 1 ) of segment s 2 we acquire
  p ¯ 2 ( 1 ) = P ¯ 3 = A ¯ 6 ( 2 ) ,   p ¯ 2 ( 1 ) = P ¯ 3 = 5 ( A ¯ 5 ( 2 ) + P ¯ 3 ) ,   p ¯ 2 ( 1 ) = P ¯ 3 = 20 ( A ¯ 4 ( 2 ) 2 A ¯ 5 ( 2 ) + P ¯ 3 ) .
It is required to determine eight vector coefficients corresponding to vectors of the four control points of each segment. At the initial point of segment s 1 and the final point of segment s 2 the following boundary conditions are given: P ¯ 1 , P ¯ 1 and P ¯ 3 , P ¯ 3 . Therefore, through (38), we acquire the expressions for the first three vector coefficients of the equation for the first segment s 1 : A ¯ 1 ( 1 ) = P ¯ 1 , A ¯ 2 ( 1 ) = 1 5 P ¯ 1 + P ¯ 1 and A ¯ 3 ( 1 ) = 1 20 P ¯ 1 + P ¯ 1 + 2 5 P ¯ 1 . The remaining vector coefficients   A ¯ 4 ( 1 ) ,   A ¯ 5 ( 1 ) , and A ¯ 6 ( 1 ) are determined through the system of three linear equations
{ A ¯ 6 ( 1 ) P ¯ 2 = 0 , 5 ( A ¯ 5 ( 1 ) A ¯ 6 ( 1 ) ) P ¯ 2 = 0 , 20 ( A ¯ 4 ( 1 ) 2 A ¯ 5 ( 1 ) + A ¯ 6 ( 1 ) ) P ¯ 2   = 0 .
Through (39) we acquire the expressions for the first three vector coefficients of the equation for the second segment s 2 : A ¯ 1 ( 2 ) = P ¯ 2 , A ¯ 2 ( 2 ) = 1 5 P ¯ 2 + P ¯ 2 , A ¯ 3 ( 2 ) = 1 20 P ¯ 2 + P ¯ 2 + 2 5 P ¯ 2 . The remaining vector coefficients   A ¯ 4 ( 2 ) ,   A ¯ 5 ( 2 ) , and A ¯ 6 ( 2 ) are determined through the system of three linear equations
{ A ¯ 6 ( 2 ) P ¯ 3 = 0 , 5 ( A ¯ 5 ( 2 ) A ¯ 6 ( 2 ) ) P ¯ 3 = 0 , 20 ( A ¯ 4 ( 2 ) 2 A ¯ 5 ( 2 ) + A ¯ 6 ( 2 ) ) P ¯ 3   = 0 .
In the connection of segments s 1 and s 2 at the point P 2 with smoothness C 4 , vectors P ¯ 2 and P ¯ 2 are unknown. These vectors are determined through the condition of equality of the third and the fourth derivatives of vector functions of the segments at the connection point: p ¯ 1 ( t = 1 ) = p ¯ 2 ( t = 0 )   , or in expanded form
60 ( A ¯ 3 ( 1 ) + 3 A ¯ 4 ( 1 ) 3 A ¯ 5 ( 1 ) ) = 60 ( 3 A ¯ 2 ( 2 ) 3 A ¯ 3 ( 2 ) + 3 A ¯ 4 ( 2 ) ) ,
and p ¯ 1 ( t = 1 ) = p ¯ 2 ( t = 0 )   , or in expanded form
120 ( A ¯ 2 ( 1 ) 4 A ¯ 3 ( 1 ) + 6 A ¯ 4 ( 1 ) 4 A ¯ 5 ( 1 ) ) = 120 ( 4 A ¯ 2 ( 2 ) + 6 A ¯ 3 ( 2 ) 4 A ¯ 4 ( 2 ) + 4 A ¯ 5 ( 2 ) ) .
The sought vectors P ¯ 2 and P ¯ 2 are determined through the system of two linear Equations (43) and (44) taking into account the system of Equations (39)–(42)
P ¯ 2 = 1 16 ( 7 P ¯ 1 15 P ¯ 1 7 P ¯ 3 + 15 P ¯ 3 P ¯ 1 + P ¯ 3 ) .
P ¯ 2 = 1 3 ( 20 P ¯ 2 + 4 P ¯ 1 + 10 P ¯ 1 4 P ¯ 3 + 10 P ¯ 3 + 1 2 P ¯ 1 + 1 2 P ¯ 3 ) .
The Equations (44) and (45) in calculation of the unknown vector derivatives P ¯ 2 and P ¯ 2 at the point of connection of fifth-degree Bézier spline curve segments s 1 and s 2 match the corresponding Equations (9) and (10) of the unknown vector derivatives P ¯ 2 and P ¯ 2 at the point of connection of fifth-degree Hermite spline curve segments s 1 and s 2 . In this case, in the Formulas (9) and (10), the coefficients k r ( t ) ,   n r ( t ) ,   r = 1 , , 7 ;   α , β take values according to (11) for 0 t 1 .
This allows us to speak of universality of the proposed algorithm of determination of the unknown vector derivatives in the tasks of formation of various polynomial curves. Thus, the vector derivatives P ¯ 2 and P ¯ 2 at the points of connection of fifth-degree Bézier spline curve segments are determined through the Equations (9) and (10), same as for the case of a Hermite spline curve. However, the acquired equations for the unknown vector coefficients of Bézier spline curves and Hermite spline curves are different. The unknown vector coefficients A ¯ i ( k ) ,   k = 1 , , n ;   i = 1 , , 6 corresponding to the control points of the composite Bézier spline curve are calculated through (46). The generalized matrix form [ A ¯ ] = [ T ] [ G ¯ ] for calculating vector coefficients A ¯ i k for a non-closed fifth-degree Bézier spline has the form
  [ A ¯ ] = [ A ¯ 1 ( 1 ) A ¯ 2 ( 1 ) A ¯ 3 ( 1 ) A ¯ 4 ( 1 ) A ¯ 5 ( 1 ) A ¯ 6 ( 1 ) A ¯ 1 ( j 1 ) A ¯ 2 ( j 1 ) A ¯ 3 ( j 1 ) A ¯ 4 ( j 1 ) A ¯ 5 ( j 1 ) A ¯ 6 ( j 1 ) ] = [ 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 5 0 0 0 0 0 0 0 1 0 0 0 2 5 0 0 0 1 20 0 0 0 0 1 0 0 0 2 5 0 0 0 1 20 0 0 0 1 0 0 0 1 5 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 5 0 0 0 0 0 0 0 1 0 0 0 2 5 0 0 0 1 20 0 0 0 0 1 0 0 0 2 5 0 0 0 1 20 0 0 0 1 0 0 0 1 5 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 ] [ P ¯ 1 P ¯ 2 P ¯ j 1 P ¯ j P ¯ 1 P ¯ 2 P ¯ j 1 P ¯ j P ¯ 1 P ¯ 2 P ¯ j 1 P ¯ j ] .
Example 6.
The following conditions for the three segments are given: P ¯ 1 ( 0 , 50 , 0 ) , P ¯ 2 ( 150 , 100 , 50 ) , P ¯ 3 ( 250 , 200 , 60 ) , P ¯ 4 ( 300 , 300 , 0 ) , P ¯ 1 ( 50 , 100 , 1 ) , P ¯ 4 ( 301 , 210 , 1 ) , P ¯ 1 ( 50 , 100 , 2 ) , P ¯ 4 ( 280 , 280 , 1 ) . It is required to construct a Bézier spline curve of these segments. The unknown vector derivatives P ¯ 2 ,   P ¯ 2 ,   P ¯ 3 and P ¯ 3 at the points of connection of the segments are calculated as in the case of a smooth connection of three segments for a Hermite spline curve of the fifth degree consisting of three segments (see Example 1). The unknown vector coefficients A ¯ i ( k ) ,   k = 1 , , 3 ;   i = 1 , , 6 are calculated through (46).
Figure 17 depicts visual rendering of the result of the calculation. It demonstrates the sought three segments of a Bézier spline curve and their subsequent connection with smoothness C 4 .
Table 6 lists the values of curvature and torsion at the boundary points P ¯ j of the connected segments, where j = 1, …, 4.
Example 7.
It is required to construct a closed fifth-degree Bézier spline curve of five segments subsequently connected in knot points P ¯ 1 ( 0 , 0 , 0 ) , P ¯ 2 ( 0 , 100 , 10 ) , P ¯ 3 ( 100 , 50 , 20 ) , P ¯ 4 ( 100 , 300 , 100 ) , P ¯ 5 ( 300 , 0 , 0 ) .
The unknown vector derivatives P ¯ j and P ¯ j , j = 1,…,5 are determined through the matrix form of the generalized system of Equation (17). This is due to the fact that the calculation of the unknown vector derivatives P ¯ j and P ¯ j at the connection points of Hermite and Bézier spline segments are formally identical.
The system of equations for the unknown vector derivatives for the current example is of the following matrix form:
P ¯ 1 P ¯ 2 P ¯ 3 P ¯ 4 P ¯ 5 P ¯ 1 P ¯ 2 P ¯ 3 P ¯ 4 P ¯ 5 7 16 7 0 0 1 0 1 0 0 15 ( P ¯ 1 P ¯ 3 ) 4 0 4 0 0 1 2 3 1 2 0 0 10 ( P ¯ 1 2 P ¯ 2 + P ¯ 3 ) 0 7 16 7 0 0 1 0 1 0 15 ( P ¯ 2 P ¯ 4 ) 0 4 0 4 0 0 1 2 3 1 2 0 10 ( P ¯ 2 2 P ¯ 3 + P ¯ 4 ) 0 0 7 16 7 0 0 1 0 1 15 ( P ¯ 3 P ¯ 5 ) 0 0 4 0 4 0 0 1 2 3 1 2 10 ( P ¯ 3 2 P ¯ 4 + P ¯ 5 ) 7 0 0 7 16 1 0 0 1 0 15 ( P ¯ 4 P ¯ 1 ) 4 0 0 4 0 1 2 0 0 1 2 3 10 ( P ¯ 4 2 P ¯ 5 + P ¯ 1 ) 16 7 0 0 7 0 1 0 0 1 15 ( P ¯ 5 P ¯ 2 ) 0 4 0 0 4 3 1 2 0 0 1 2 10 ( P ¯ 5 2 P ¯ 1 + P ¯ 2 )
The unknown vector coefficients A ¯ i ( k ) ,   k = 1 , , 5 ;   i = 1 , , 6 are calculated through the system of Equation (46) expanded by adding a closing segment equation containing the vector coefficients A ¯ i ( k ) , i = 1 , , 6 .
Figure 18 and Table 7 present the results of the construction of a closed fifth-degree Bézier spline curve of five segments.
The mathematical models of shaping of Bézier spline curves obtained in Section 3.6 and Section 3.7 also have scientific novelty. These models were not previously considered in the scientific literature on computational geometry known to the authors.
The considered examples were tested using the software package of the Waterloo Maple computer mathematics system—Maple 2020 Free Trial. Access to the computer code for the examples No.1–No.7 considered in the work is possible by the link: https://www.mapleprimes.com/posts/213421-Spline-Curves-Formation-Given-Extreme-Derivatives?sp=213421.

4. Discussion

The mathematical models of formation of various polynomial spline curves considered in Section 3 determine the computational algorithms of formation. These algorithms are validated on numerous examples provided in Section 3. The uniformity and systematic nature of the algorithms allows us to present them in the form of a general algorithm of spline curve formation (see Figure 19).
This general algorithm allows us to perform calculation of vector derivatives at points of connection of segments forming a spline curve as well as vector coefficients of polynomials. The algorithm consists of modules providing the following functions:
Module 1: Initial conditions input. The initial conditions for spline curve formation include: the number of points of discrete array j; the vectors of discrete array of points P ¯ 1 , , P ¯ j ; the number of pairs of extreme derivatives m; the vectors of extreme derivatives P ¯ 1 , P ¯ 1 , P ¯ 1 at point P ¯ 1 ; the vectors of extreme derivatives P ¯ j , P ¯ j , P ¯ j at point P ¯ j .
Module 2: Determination of order n = 2 m + 1 of the polynomial.
Module 3: Conditional step: check whether the curve is closed. The curve is considered closed if the vectors of extreme derivatives at points P ¯ 1 and P ¯ j are not given as the initial conditions.
Module 4: Formation of a matrix of size ( ( N j ) × ( N j ) ) for the unknown vector derivatives at connection points of a closed spline curve, where N represents the total number of conditions.
Module 5: Formation of a matrix of size ( ( N ( 2 m + j ) ) × ( N ( 2 m + j ) ) ) for the unknown vector derivatives at connection points of a non-closed spline curve, where N represents the total number of conditions.
Module 6: Calculation of vector derivatives at segment connection points.
Module 7: Calculation of polynomial vector coefficients for each spline curve segment.
Module 8: Acquiring the vector equations of spline curve segments.
Aside from uniformity, the proposed algorithms are to a certain extent universal and can be applied in solutions to the problems of formation of polynomial spline curves of various types generated through Hermite splines, Bézier splines, B-splines. It has to be mentioned that the Gauss–Jordan method has time complexity O ( i 3 + ( log p ) i ) , where p is the size of the initial data for solution of a system of i equations in i unknown. These systems are present in every computational algorithm proposed in Section 3.
Analysis of Algorithms 1–3 (Section 3.2, Section 3.5, and Section 3.7, respectively), analysis of matrices for the formation of vector coefficients in the equations of segments of formed spline curves (Section 3.1, Section 3.2, Section 3.3, Section 3.4, Section 3.5, Section 3.6 and Section 3.7) and analysis of the set of considered numerical examples (examples 1–7, Table 1, Table 2, Table 3, Table 4, Table 5, Table 6 and Table 7) allow us to conclude about the scalability of our proposed method of forming spline curves. The scalability of the method is reduced to the obvious scalability of the matrices of vector coefficients of the segment equations, the connection of which, according to a given degree of smoothness, forms a certain spline curve.
The accuracy of the obtained computational results depends on the specified computation accuracy of scalar invariants at the segments junction point and does not depend on the scalability of the proposed computation method. The examples discussed in the work (electronic link on Page 27) support this thesis. For a given accuracy of calculations (100 decimal places) of an open spline of the Hermite curve of the fifth degree, the resulting absolute calculation error is from 10−99 to 10−94. As an example, the formation of a spline curve consisting of 100 knots is considered. In this case, the obtained absolute error in calculating the curvature at the segments joining knots is as follows: knot P ¯ 2 : 5.31 10 99 ,..., knot P ¯ 50 : 2.4 10 99 ,..., knot P ¯ 99 : 3.0 10 100 . The obtained absolute error in the calculation of the torsion at the knots of joining the segments is as follows: knot P ¯ 2 : 9.59 10 94 ,…, knot P ¯ 50 : 1.05 10 97 ,…, knot P ¯ 99 : 1.73 10 97 . The accuracy of calculating scalar invariants can be quite high, depending on practical feasibility, as well as on the capabilities of the computer hardware.
Algorithm 3 For obtaining a fifth-degree Bézier spline curve of segments s 1 and s 2 has the following text form:
  • Vector derivatives P ¯ 2 and P ¯ 2 at the joining point P ¯ 2 of segments s 1 and s 2 are determined based on the Formulas (44) and (45).
  • Determine the vector coefficients A ¯ i ( 1 ) in the segment equation s 1 based on the matrix (37). In this case, the boundary conditions of the segment s 1 are the given vector derivatives P ¯ 1 and P ¯ 1 at the knot P ¯ 1 and the vector derivatives P ¯ 2 and P ¯ 2 at the knot P ¯ 2 determined according to item 1.
  • Determine the vector coefficients A ¯ i ( 2 ) in the segment equation s 2 based on matrix (37). In this case, the boundary conditions of the segment s 2 are the vector derivatives P ¯ 2 and P ¯ 2 at the knot P ¯ 2 determined according to item 1 and the given vector derivatives P ¯ 3 and P ¯ 3 at the knot P ¯ 3 .

5. Conclusions

Vector derivatives form scalar invariants at each regular point of curve p ¯ = p ¯ ( t ) , p ¯ ( 1 ) ( t ) = d p ¯ d t 0 . Scalar invariants formed by vector derivatives p ¯ ( 1 ) , p ¯ ( 2 ) , p ¯ ( 3 ) ,..., p ¯ ( m ) have to meet certain requirements. They have to be coordinate system independent, i.e., invariant with respect to coordinate system transformation; they have to be independent of transformations of parameter t = f ( t ) , where f is an analytic function of form
p ¯ ( t ) = p ¯ ( f ( t ) ) = p ¯ ( t ) , d p ¯ ( t ) = d p ¯ d t f ( 1 ) , f ( 1 ) = d f d t 0 .
The formation of scalar invariants of a curve can be considered on the following examples: scalar invariants of the first order (by the highest order of the applied vector derivatives) ( p ¯ ( 1 ) ( t ) ) 2 , scalar invariants of the second order (curvature) k ( t ) = G ( p ¯ ( 1 ) ( t ) ,   p ¯ ( 2 ) ( t ) ) = G ( t ) , scalar invariants of the third order (torsion) χ ( t ) = F ( p ¯ ( 1 ) ( t ) ,   p ¯ ( 2 ) ( t ) ,   p ¯ ( 3 ) ( t ) ) = F ( t ) . It is obvious that the scalar invariants of the segments have to be equal at the points of smooth connection of spline curve segments. Let us consider smooth connection of adjacent segments s k and s k + 1 of the constructed spline
s k : p ¯ k ( t k ) = i = 1 n A ¯ i ( k ) t k i 1 ,   t k [ 0 , T k ] ,
s k + 1 : p ¯ k + 1 ( t k + 1 ) = i = 1 n A ¯ i ( k + 1 ) t k + 1 i 1 ,   t k + 1 [ 0 , T k + 1 ] .
Let us express in general form the scalar functions of vector arguments (derivatives) of the segments s k and s k + 1
H ( p ¯ k ( 1 ) ( t k ) ,   p ¯ k ( 2 ) ( t k ) , , p ¯ k ( m ) ( t k ) ) = H ( t k ) .
V ( p ¯ k + 1 ( 1 ) ( t k + 1 ) ,   p ¯ k + 1 ( 2 ) ( t k + 1 ) , , p ¯ k + 1 ( m ) ( t k + 1 ) ) = V ( t k + 1 ) .
The scalar functions (47) and (48) are of the equivalent mathematical form, i.e., they accept the equivalent set of vector arguments (derivatives) and perform the equivalent set of mathematical operations over said arguments.
In order to achieve connections of segments s k and s k + 1 with smoothness C m , it is necessary to satisfy the following conditions:
p ¯ k ( 1 ) ( t k = T k ) = p ¯ k + 1 ( 1 )   ( t k + 1 = 0 ) , p ¯ k ( 2 ) ( t k = T k ) = p ¯ k + 1 ( 2 )   ( t k + 1 = 0 ) , p ¯ k ( m ) ( t k = T k ) = p ¯ k + 1 ( m )   ( t k + 1 = 0 ) .
In that case, the Equation (49) and the equivalence of the mathematical form of the scalar functions (47) and (48) result in the equality of values H ( t k = T k ) = V ( t k + 1 = 0 ) that effectively means the equality of scalar invariants at the point of connection with smoothness C m .
What does this mean? It means that formation of splines through smooth connection of segments described by polynomials of higher degree determines objective existence of scalar invariants of orders higher than three (as for the case of torsion) at the connection point. These invariants generate multidimensional number space of scalar invariants of segmentally formed spline curves. It has not been studied previously. To study this space for completeness and practicality is the objective of further development of the spline formation problem considered in the present paper. We believe that further study of algorithms for the formation of scalar invariants of high orders and mathematical manipulation of these invariants in the indicated space will contribute to the appearance of spline curves of a new level of quality. As for the precision of calculation of second- and third-order scalar invariants (curvature and torsion), the calculation results provided in Table 1, Table 2, Table 3, Table 4, Table 5, Table 6 and Table 7 show that it can be sufficiently high and is determined on the grounds of practicality.

Author Contributions

Conceptualization, K.P. and T.M.; Methodology, K.P.; Software, T.M.; Formal analysis, E.L.; Investigation, K.P. and T.M.; Data curation, K.P. and T.M.; Writing—original draft preparation, K.P., T.M., and E.L.; Writing—review and editing, K.P.; Visualization, T.M.; Supervision, K.P.; Project administration, E.L. and K.P. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Salomon, D. Curves and Surfaces for Computer Graphics; Springer Science+Business Media, Inc.: New York, NY, USA, 2006; pp. 11–164. [Google Scholar]
  2. Zhong, W.B.; Luo, X.C.; Chang, W.L.; Cai, Y.K.; Ding, F.; Liu, H.T.; Sun, Y.Z. Toolpath interpolation and smoothing for computer numerical control machining of freeform surfaces: A review. Int. J. Autom. Comput. 2020, 17, 1–16. [Google Scholar] [CrossRef] [Green Version]
  3. Sorokin, V.; Kombarov, V. Sravnenie kinematicheskix parametrov dvizheniya pri modelirovanii traektorij vy‘sokoskorostnoj CHPu obrabotki splajnami tret‘ej i pyatoj stepenej. [Comparison of the kinematic parameters of motion when modeling the trajectories of high-speed CNC machining with splines of the third and fifth degrees]. Aerosp. Eng. Technol. 2012, 8, 11–17. [Google Scholar]
  4. Kombarov, V.; Sorokin, V.; Fojtů, O.; Aksonov, Y.; Kryzhyvets, Y. S-curve algorithm of acceleration/deceleration with smoothlylimited jerk in high-speed equipment control tasks. MM Sci. J. 2019, 2019, 3264–3270. [Google Scholar] [CrossRef]
  5. Shen, X.; Xie, F.; Liu, X.J.; Xie, Z. A smooth and undistorted toolpath interpolation method for 5-DoF parallel kinematic machines. Robot. Comput. Integr. Manuf. 2019, 57, 347–356. [Google Scholar] [CrossRef]
  6. Mellinger, D.; Kumar, V. Minimum snap trajectory generation and control for quadrotors. In Proceedings of the 2011 IEEE International Conference on Robotics and Automation, Shanghai, China, 9–13 May 2011; pp. 2520–2525. [Google Scholar]
  7. Smulsky, J.J.; Smulsky, Y.J. Asteroids Apophis and 1950 DA: 1000 years orbit evolution and possible use. Horiz. Earth Sci. Res. 2012, 6, 63–97. [Google Scholar]
  8. Smulsky, J.J.; Smulsky, Y.J. Asteroid Apophis: Orbital Evolution and Possible Uses. Colon. Space 2014, 10, 1–17. [Google Scholar]
  9. Farouki, R.T. Pythagorean-Hodograph Curves: Algebra and Geometry Inserparable; Springer: Berlin/Heidelberg, Germany, 2008; pp. 323–552. [Google Scholar]
  10. Agoston, M.K. Computer Graphics and Geometric Modeling; Springer: London, UK, 2005; pp. 373–470. [Google Scholar]
  11. Shikin, E.V.; Plis, A.I. Krivy‘e i Poverxnosti na E‘Krane Komp‘Yutera [Curves and Surfaces on a Computer Screen]; Dialog-Mifi: Moscow, Russia, 1996; pp. 90–150. [Google Scholar]
  12. Farin, G. Curves and Surfaces for Computer Aided Geometric Design. Implementation and Algorithms, A Practical Guide, 4th ed.; Academic Press: San Diego, CA, USA, 1997; pp. 44–140. [Google Scholar]
  13. Farin, G.; Hoschek, J.; Kim, M.S. Handbook of Computer Aided Geometric Design; Elsevier Science B.V.: Amsterdam, The Netherlands, 2002; pp. 75–87. [Google Scholar]
  14. Knott, G.D. Interpolating Cubic Splines; Birkhauser: Boston, MA, USA, 1999; pp. 63–178. [Google Scholar]
  15. Hirz, M.; Dietrich, W.; Gfrerrer, A.; Lang, J. Integrated Computer-Aided Design in Automotive Development; Springer: Berlin/Heidelberg, Germany, 2013; pp. 86–136. [Google Scholar]
  16. Bartels, R.H.; Beatty, J.C.; Barsky, B.A. An Introduction to Splines for Use in Computer Graphics and Geometric Modeling; Morgan Kaufmann Publishers, Inc.: Los Altos, CA, USA, 1987; pp. 9–17. [Google Scholar]
  17. Kornishin, M.S.; Pajmushin, V.N.; Snigirev, V.F. Vy‘chislitel‘naya Geometriya v Zadachax Mexaniki Obolochek [Computational Geometry in Problems of Shell Mechanics]; Nauka: Moscow, Russia, 1989; pp. 28–53. [Google Scholar]
  18. Gallier, J. Curves and Surfaces in Geometric Modeling: Theory and Algorithms; University of Pennsylvania: Philadelphia, PA, USA, 2018; pp. 61–114. [Google Scholar]
  19. Rogers, D.F.; Adams, J.A. Mathematical Elements for Computer Graphics, 2nd ed.; McGraw-Hill: New York, NY, USA, 1990; pp. 247–289. [Google Scholar]
  20. Piegl, L.A.; Tiller, W. Curve interpolation with arbitrary and derivatives. Eng. Comput. 2000, 16, 73–79. [Google Scholar] [CrossRef]
  21. Marsh, D. Applied Geometry for Computer Graphics and CAD, 2nd ed.; Springer: London, UK, 2005; pp. 135–185. [Google Scholar]
Figure 1. Hermitian cubic segment.
Figure 1. Hermitian cubic segment.
Mathematics 09 00047 g001
Figure 2. Two-segment Hermite cubic spline curve.
Figure 2. Two-segment Hermite cubic spline curve.
Mathematics 09 00047 g002
Figure 3. Hermitian fifth-degree segment.
Figure 3. Hermitian fifth-degree segment.
Mathematics 09 00047 g003
Figure 4. Fifth-degree Hermite spline curve of two segments.
Figure 4. Fifth-degree Hermite spline curve of two segments.
Mathematics 09 00047 g004
Figure 5. Closed spline curve based on a fifth-degree polynomial.
Figure 5. Closed spline curve based on a fifth-degree polynomial.
Mathematics 09 00047 g005
Figure 6. Initial conditions for construction of a fifth-degree Hermite spline curve segment.
Figure 6. Initial conditions for construction of a fifth-degree Hermite spline curve segment.
Mathematics 09 00047 g006
Figure 7. Calculated fifth-degree Hermite spline curve of two segments.
Figure 7. Calculated fifth-degree Hermite spline curve of two segments.
Mathematics 09 00047 g007
Figure 8. Fifth-degree Hermite spline curve of three segments.
Figure 8. Fifth-degree Hermite spline curve of three segments.
Mathematics 09 00047 g008
Figure 9. Fifth-degree Hermite spline curve of seven segments.
Figure 9. Fifth-degree Hermite spline curve of seven segments.
Mathematics 09 00047 g009
Figure 10. Closed fifth-degree Hermite spline curve of four segments.
Figure 10. Closed fifth-degree Hermite spline curve of four segments.
Mathematics 09 00047 g010
Figure 11. Closed fifth-degree Hermite spline curve of 14 segments.
Figure 11. Closed fifth-degree Hermite spline curve of 14 segments.
Mathematics 09 00047 g011
Figure 12. Initial conditions for construction of a seventh-degree Hermite spline curve segment.
Figure 12. Initial conditions for construction of a seventh-degree Hermite spline curve segment.
Mathematics 09 00047 g012
Figure 13. Seventh-degree Hermite spline curve of two segments.
Figure 13. Seventh-degree Hermite spline curve of two segments.
Mathematics 09 00047 g013
Figure 14. Initial data and the result of connection of three segments of a seventh-degree Hermite spline curve.
Figure 14. Initial data and the result of connection of three segments of a seventh-degree Hermite spline curve.
Mathematics 09 00047 g014
Figure 15. Initial conditions for construction of a Bézier spline curve segment.
Figure 15. Initial conditions for construction of a Bézier spline curve segment.
Mathematics 09 00047 g015
Figure 16. Knot and control points of two connected segments of a fifth-degree Bézier spline curve.
Figure 16. Knot and control points of two connected segments of a fifth-degree Bézier spline curve.
Mathematics 09 00047 g016
Figure 17. Fifth-degree Bézier spline curve of three segments.
Figure 17. Fifth-degree Bézier spline curve of three segments.
Mathematics 09 00047 g017
Figure 18. Closed fifth-degree Bézier spline curve of five segments.
Figure 18. Closed fifth-degree Bézier spline curve of five segments.
Mathematics 09 00047 g018
Figure 19. General algorithm of spline curve formation.
Figure 19. General algorithm of spline curve formation.
Mathematics 09 00047 g019
Table 1. Curvature and torsion values at boundary points of the segments.
Table 1. Curvature and torsion values at boundary points of the segments.
Segment Segment Boundary Knot Point P ¯ j Curvature Value Torsion Value
s 1 :   p ¯ 1 ( t ) P ¯ 1 , t = 03.941914854−0.5087014266
P ¯ 2 , t = 10.02817282676−0.002966524102
s 2 :   p ¯ 2 ( t ) P ¯ 2 , t = 00.02817282676−0.002966524102
P ¯ 3 , t = 10.020368954630.006197310968
s 3 :   p ¯ 3 ( t ) P ¯ 3 , t = 00.020368954630.006197310968
P ¯ 4 , t = 15.6416933377.620878085
Table 2. Curvature and torsion values at boundary points of the segments.
Table 2. Curvature and torsion values at boundary points of the segments.
Segment Segment Boundary Knot Point P ¯ j Curvature ValueTorsion Value
s 1 :   p ¯ 1 ( t ) P ¯ 1 , t = 00.19381883315.856231764
P ¯ 2 , t = 10.022788191200.000690202
s 2 :   p ¯ 2 ( t ) P ¯ 2 , t = 00.022788191200.000690202
P ¯ 3 , t = 10.048374837830.019236811
s 6 :   p ¯ 6 ( t ) P ¯ 6 , t = 00.006905882170.182303253
P ¯ 7 , t = 10.010159520780.001620745
s 7 :   p ¯ 7 ( t ) P ¯ 7 , t = 00.010159520780.001620745
P ¯ 8 , t = 11.060660172215.2425767
Table 3. Curvature and torsion values at boundary points of the segments.
Table 3. Curvature and torsion values at boundary points of the segments.
Segment Segment Boundary Knot Point P ¯ j Curvature ValueTorsion Value
s 1 :   p ¯ 1 ( t ) P ¯ 1 , t = 00.0017816061460.2447808764
P ¯ 2 , t = 10.005681042934−0.001318648614
s 2 :   p ¯ 2 ( t ) P ¯ 2 , t = 00.005681042934−0.001318648614
P ¯ 3 , t = 10.02148171241−0.005905294855
s 3 :   p ¯ 3 ( t ) P ¯ 3 , t = 00.02148171241−0.005905294855
P ¯ 4 , t = 10.016547904050.02790910517
s 4 :   p ¯ 4 ( t ) P ¯ 4 , t = 00.016547904050.02790910517
P ¯ 5 , t = 10.0017816061460.2447808764
Table 4. Curvature and torsion values at boundary points of the segments.
Table 4. Curvature and torsion values at boundary points of the segments.
SegmentSegment Boundary Knot Point P ¯ j Curvature ValueTorsion Value
s 1 :   p ¯ 1 ( t ) P ¯ 1 , t = 00.028040733130.01755939453
P ¯ 2 , t = 10.03647568313−0.009461103708
s 2 :   p ¯ 2 ( t ) P ¯ 2 , t = 00.03647568313−0.009461103708
P ¯ 3 , t = 10.028721438690.006884363759
s 13 :   p ¯ 13 ( t ) P ¯ 13 , t = 00.067562814370.008605623218
P ¯ 13 , t = 10.025786605800.005023460581
s 14 :   p ¯ 14 ( t ) P ¯ 14 , t = 00.025786605800.005023460581
P ¯ 14 , t = 10.028040733130.01755939453
Table 5. Curvature and torsion values at boundary points of the segments.
Table 5. Curvature and torsion values at boundary points of the segments.
Segment Segment Boundary Knot Point P ¯ j Curvature ValueTorsion Value
s 1 :   p ¯ 1 ( t ) P ¯ 1 , t = 01.1726039400.1818181818
P ¯ 2 , t = 10.02093508808−0.09371726576
s 2 :   p ¯ 2 ( t ) P ¯ 2 , t = 00.02093508808−0.09371726576
P ¯ 3 , t = 10.006860422253−0.01505071941
s 3 :   p ¯ 3 ( t ) P ¯ 3 , t = 00.006860422253−0.01505071941
P ¯ 4 , t = 10.6260990337−0.1632653061
Table 6. Curvature and torsion values at boundary points of the segments.
Table 6. Curvature and torsion values at boundary points of the segments.
Segment Segment Boundary Knot Point P ¯ j Curvature ValueTorsion Value
s 1 : p ¯ 1 ( t ) P ¯ 1 , t = 00.00023997120298.722088677
P ¯ 2 , t = 10.00031815765050.02375800221
s 2 :   p ¯ 2 ( t ) P ¯ 2 , t = 00.00031815765050.02375800221
P ¯ 3 , t = 10.001200350474−0.01488694419
s 3 :   p ¯ 3 ( t ) P ¯ 3 , t = 00.001200350474−0.01488694419
P ¯ 4 , t = 10.00051562205010.04777943587
Table 7. Curvature and torsion values at boundary points of the segments.
Table 7. Curvature and torsion values at boundary points of the segments.
SegmentSegment Boundary Knot Point P ¯ j Curvature ValueTorsion Value
s 1 : p ¯ 1 ( t ) P ¯ 1 , t = 00.0031003536690.0005995357794
P ¯ 2 , t = 10.006264502175–0.001862804412
s 2 :   p ¯ 2 ( t ) P ¯ 2 , t = 00.006264502175–0.001862804412
P ¯ 3 , t = 10.003451401672–0.01338727745
s 4 :   p ¯ 4 ( t ) P ¯ 4 , t = 00.02757323507–0.0001744660457
P ¯ 5 , t = 10.0089213531170.0001689425348
s 5 :   p ¯ 5 ( t ) P ¯ 5 , t = 00.0089213531170.0001689425348
P ¯ 1 , t = 10.0031003536690.0005995357794
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Panchuk, K.; Myasoedova, T.; Lyubchinov, E. Spline Curves Formation Given Extreme Derivatives. Mathematics 2021, 9, 47. https://doi.org/10.3390/math9010047

AMA Style

Panchuk K, Myasoedova T, Lyubchinov E. Spline Curves Formation Given Extreme Derivatives. Mathematics. 2021; 9(1):47. https://doi.org/10.3390/math9010047

Chicago/Turabian Style

Panchuk, Konstantin, Tatyana Myasoedova, and Evgeniy Lyubchinov. 2021. "Spline Curves Formation Given Extreme Derivatives" Mathematics 9, no. 1: 47. https://doi.org/10.3390/math9010047

APA Style

Panchuk, K., Myasoedova, T., & Lyubchinov, E. (2021). Spline Curves Formation Given Extreme Derivatives. Mathematics, 9(1), 47. https://doi.org/10.3390/math9010047

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