Next Article in Journal
Elementary Error Model Applied to Terrestrial Laser Scanning Measurements: Study Case Arch Dam Kops
Previous Article in Journal
A Generic Approach to Covariance Function Estimation Using ARMA-Models
Previous Article in Special Issue
Family of Enneper Minimal Surfaces
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Efficient Method for Forming Parabolic Curves and Surfaces

Department of Computer Aided Design, Saint Petersburg Electrotechnical University “LETI”, Professora Popova 5, 197376 Saint Petersburg, Russia
Mathematics 2020, 8(4), 592; https://doi.org/10.3390/math8040592
Submission received: 26 February 2020 / Revised: 9 April 2020 / Accepted: 10 April 2020 / Published: 15 April 2020
(This article belongs to the Special Issue Geometric and Topological Methods for Imaging, Graphics and Networks)

Abstract

:
A new method for the formation of parabolic curves and surfaces is proposed. It does not impose restrictions on the relative positions in space of the sequence of reference points relative to each other, meaning it compares favorably with other prototypes. The disadvantages of the Overhauser and Brever–Anderson methods are noted. The method allows one to effectively form and edit curves and surfaces when changing the coordinates of any given point. This positive effect is achieved due to the appropriate choice of local coordinate systems for the mathematical description of each parabola, which together define a composite interpolation curve or surface. The paper provides a detailed mathematical description of the method of parabolic interpolation of curves and surfaces based on the use of matrix calculations. Analytical descriptions of a composite parabolic curve and its first and second derivatives are given, and continuity analysis of these factors is carried out. For the matrix of points of the defining polyhedron, expressions are presented that describe the corresponding surfaces, as well as the unit normal at any point. The comparative table of the required number of pseudo-codes for calculating the coordinates of one point for constructing a parabolic curve for the three methods is given.

1. Introduction

In many practical CAD tasks in geometric modeling of graphic objects, the description of analytical formulas for a curve or surface is not known. However, to analyze a projected object, it is required that the curve or surface passes through the specified points, has a certain degree of smoothness, or has specific derivatives at points. To obtain analytical expressions for descriptions and to build on the basis of these expressions of curves or surfaces, a number of different mathematical interpolation methods are presented in [1,2,3,4,5,6]. Such curves are usually called splines, and depending on the formation method they are classed as cubic, parabolic, Hermite, Lagrange, or Newton-shaped splines, among others. For most splines, obtaining their mathematical description requires you to immediately determine the entire sequence of set points, and in some cases specify different additional terms. Moreover, if the view of the calculated curve or surface does not satisfy the user and the position of at least one point requires redefinition (editing), then the entire curve or surface must be recalculated, since the coordinates of each point affect the appearance of the curve or surface along their entire length. With a large number of specified points, obtaining an interpolation curve of the desired shape requires considerable time.
Sequential parabolic interpolation methods were developed by Overhauser [5,6,7] and modified by Brewer–Anderson [5,7,8]. These methods avoid these problems. The formed curves and surfaces are described by equations of the third degree and maintain continuity along their entire length. However, there is a gap between the first and second derivatives at the connection points of some segments. The curve and the surface do not require volumetric recalculations, since segments are formed sequentially as the user enters the next point, allowing their online appearance to be quickly controlled. During the subsequent editing of the set points, the recalculation must be done only within the four segments connected with the point that is being edited.
The peculiarity of the spatial parabolic curve formation method based on two flat overlapping parabolas proposed by Overhauser is that this curve is determined based on the linear interpolation operations of the corresponding vectors of two parabolic points, P(r) and Q(s). The vector P(r) is defined in the local coordinate system (LSC) based on the coordinates of the points of the first triad of four consecutive points specified in space. The second vector Q(s) is calculated in another LSC for the subsequent triad of these points. In this case, the abscissa axis of these LSCs is determined by the position of the first and third points of each triad. For the formation of parabolas with this method, it is necessary that in each LSC the second (middle) points of the triads of tasks of each individual parabola must be located within the ranges of the task of the first and third points (i.e., in the zone their abscissas are set along the r and s axes). However, this requirement cannot always be met in real conditions. In the case of assignment or editing (Figure 1a) the midpoint 1, (1′, 1″, 1‴) goes beyond the boundaries of this zone (0–2), then the parabola seems to be “turned inside out”. This leads to abrupt changes in both the shape and the adjacent parabolic curve sections (Figure 1b), which are shown by dotted and dashed lines, respectively.
Thus, the midpoint of a curve setting changes its location when editing. This turns out to be the extreme point of the parabola, although the order in which the points are set does not change. In this case, the part of the curve located in the area between the first and second points of the task is drawn twice (i.e., there definition in this range is ambiguous). The smoothness of the curve at the corresponding vertex (see Figure 1b, vertex 2) is also violated. The arising effect of “inversion” when the middle point of the triad goes beyond the limits of defining the extreme points, the ambiguity of the definition of the parabola, and the violation of smoothness are unexpected for the user. This fact does not allow them to intuitively feel the correctness of the construction of the curve, and this phenomenon should be considered as a significant disadvantage of the Overhauser method.
The Brever–Anderson curve is formed on the basis of matrix multiplication and is constructed much faster than the Overhauser curve. However, when the median point of the task triad deviates from a position that corresponds exactly to the middle of the task area of the triad’s extreme points for an individual parabola, the smoothness of the mixed curve is broken, which is unacceptable, particularly with the automatic development of surfaces on mechanical devices. To exclude such situations and ensure the continuity of the first derivative and the smoothness of the mixed curve, the authors provide an artificial method. They introduce special coefficients, which are calculated depending on the relative positions of the points of each triad, and provide an additional chord approximation for the resulting curve. This artificial method for ensuring the smoothness of the curve means it cannot be considered parabolic. In addition, it requires additional memory and time resources.

2. Modified Method of Forming Parabolic Curves and Surfaces

The drawbacks of these methods can be avoided with the correct choice of LSCs, in which descriptions of each individual parabola are created [9]. For this, the beginning of each LSC must be tied to the point Pm, which is located exactly in the middle between the extreme points P1 and P3 (Figure 2), rather than to the first triad point P1 in each parabola task. The axes of ordinates of such LSCs should then pass through the second P2 (middle) points of the task triad, and the abscissa axes should lie in planes, each of which is determined by the points of the corresponding triad.
This choice of LSCs allows us to uniquely determine the parabolic curve along its entire length and ensure its smoothness without introducing any additional restrictions, since the second triad point P2 of the parabola always:
  • lies between the values of the extreme points of the triad (P1 and P3) along the abscissa axis of the corresponding LSC, regardless of its location in space;
  • is located exactly in the middle of the setting interval for the extreme points of the triad.
The proposed choice of LSCs means additional restrictions are imposed on the construction and editing of the curve and surface.
In this case, the parametric representation of pure parabolas passing through points P1, P2, and P3; and P2, P3, and P4, respectively, in the 3D space in the matrix form are represented as:
P ( r ) = [ r 2 r 1 ] [ B ] ,   where   0 , 5 r + 0 , 5 ,
Q ( s ) = [ s 2 s 1 ] [ D ] ,   where   0 , 5 s + 0 , 5 ,
where [B] and [D] are matrices, whose parameters are determined from the conditions of passing parabolas through the corresponding points of the task.
In this case, the equation for the mixed parabolic curve is represented as a linear interpolation of two parabolas P (r) and Q (s)in a common interval, each of which is represented in its own LSC:
C(t) = (1 −t)P(t) + tQ(s), 0 ≤ t ≤ 1.
Given the values of parameter r corresponding to task points P1, P2, and P3, we can write:
r = 0 , 5 P ( 0 , 5 ) = P 1 =   [ 0 , 25 0 , 5 1 ] [ B ] ; r = 0 P ( 0 ) = P 2 = [ 0 0 1 ] [ B ] ; r = 0 , 5 P ( 0 , 5 ) = P 3 = [ 0 , 25 0 , 5 1 ] [ B ] ,
After combining these expressions, we have:
  [ P 1 P 2 P 3 ] = [ 0 , 25 0 , 5 1 0 0 1 0 , 25 0 , 5 1 ]   [ B ] = [ M ] [ B ] .
This equation allows you to calculate the parameters of matrix [B] for Equation (1):
[ B ] = [ M ] 1 [ P 1 P 2 P 3 ] = [ 2 4 2 1 0 1 0 1 0 ]   [ P 1 P 2 P 3 ] .
Substituting the obtained value of matrix [B] into Equation (1), one can form the first parabola. This value is particularly relevant for the initial segment (the segment corresponding to the “pure” parabola) of the general parabolic curve, when the r parameter changes in the range from −0.5 to 0.
Similarly, the calculation of the parameters of matrix [B] in accordance with Equation (2) is determined by the values of the elements of matrix [D]:
[ D ] = [ 2 4 2 1 0 1 0 1 0 ]   [ P 2 P 3 P 4 ] .
Substituting the obtained value of matrix [D] into Equation (2), we can form the second parabola. This value is particularly relevant for the final segment of the total parabolic curve from point Pn−1 to Pn, when the parameter s changes in the range from 0 to 0,5 (i.e., another area corresponding to a “clean” parabola).
Based on the equations of two consecutive parabolas (Equations (1) and (2)), the equation of a mixed parabola can be represented:
C(t) = (1 − t)P(t) + tQ(s) = [r2 r 1][B] (1 − t) + [ s2 s 1][D]t = [R][B](1 − t) + [S][D]t.
At the same time, the parameters for these parabolas lie within the following limits:
0 t 1 ;   0 r + 0 , 5 ;   0 , 5 s 0 ,
The relationship between the job parameters for mixed and pure parabolas is defined as:
r = 0,5t, s = 0,5(t − 1).
Substituting the values of r and s into Equation (5), depending on parameter t and the values of matrices [B] (Equation (3)) and [D] (Equation (4)), we can get the equation forthe mixed parabola in the interval between P2 and P3 when setting the parameters of the 4 points in 3D space:
C ( t ) = [ t 3 t 2 t 1 ] [ 0 , 5 1 , 5 1 , 5 0 , 5 1 2 , 5 2 0 , 5 0 , 5 0 0 , 5 0 0 1 0 0 ] [ P 1 P 2 P 3 P 4 ] = [ T ] [ K ] [ P ] ,
where 0 t 1 .
In this case, the parabolic spline P(m), defined by «n» points (P1, P2, …, Pn) in 3D space, can be represented as:
P ( m ) = [ R ] [ M ] 1 [ P 1   P 2   P 3 ] T + m = 1 n 3 [ T ] [ K ] [ P m   P m + 1   P m + 2   P m + 3 ] T + [ S ] [ M ] 1 [ P n 2   P n 1   P n ] T .
With the proposed interpolation, in the case of a shift of the midpoints of the parabolic curve triads beyond the boundaries defined by the extreme points of these triads will be uniquely determined on a given area and will not be distorted.
For comparison, Figure 3 shows undistorted parabolas in accordance with the changed position of the second point in each given set of triads. For each such set, its own LSC is determined, in which the parameters of this parabola are uniquely calculated. The beginnings of these LSCs lie at point Pm, located exactly in the middle of the first and third points of the assigned triad for the corresponding parabola.
It should be noted that the main drawback of such splines is the reduced but visually imperceptible degree of smoothness in the connections of the segments. For such curves, only the first derivative remains uninterrupted at the junctions of the segments of mixed parabolas. At the same time, the first derivatives undergo a break at the beginning of the parabolic curve—at the junction of the initial clean and mixed parabolas, and at the end—when moving from mixed to pure parabolas. The second derivatives undergo breaks at the conjugation points of all segments. This is easy to verify if we have the analytical expression for the spline (Equation (7)), for which it is easy to obtain an analytical expression describing the behavior of the first (Equation (8)) and second (Equation (9)) derivatives on separate segments along such a composite parabolic curve:
P ( m ) = [ 2 r   1   0 ] [ M ] 1 [ P 1   P 2   P 3 ] T + m = 1 n 3 [ 3 t 2   2 t   1   0 ] [ K ] [ P m   P m + 1   P m + 2   P m + 3 ] T + + [ 2 s   1   0 ] [ M ] 1 [ P n 2   P n 1   P n ] T ,
P ( m ) = [ 2   0   0 ] [ M ] 1 [ P 1   P 2   P 3 ] T + m = 1 n 3 [ 6 t   2   0   0 ] [ K ] [ P m   P m + 1   P m + 2   P m + 3 ] T + + [ 2   0   0 ] [ M ] 1 [ P n 2   P n 1   P n ] T
An analysis of these expressions (Equations (8) and (9)) confirms that at some connection points between individual segments of such a parabolic curve, a discontinuity (abrupt change) in the values and the first derivative occurs.
Therefore, the value in the proposed method changes stepwise during transitions from:
-
the first segment corresponding to a pure parabola (at r = 0) to the first mixed parabola (at t = 0) at point P2—from the value (−P1 + P3) to the value 0.5(−P1 + P3);
-
the last segment of the mixed parabola (at t = 1) to the pure parabola, completing the parabolic curve (at s = 0) (at the point Pn−1)—from the value 0.5(−Pm = n−2 + Pm = n) to value (−Pn−2 + Pn).
When passing from one segment of a mixed parabola to the next (from the m-th at t = 1 to the (m + 1)-th at t = 0), the value of the first derivative does not change, but remains equal to 0.5 (−Pm+1 + Pm+3).
The value of the second derivative changes abruptly at all points when the description changes from one segment of the parabolic curve to another.
If we have a polyhedron P(u, w):
P ( u ,   w ) = [ P 1   1 P 2   1 P ( k 1 ) 1 P k   1 P 1   2 P 2   2 P ( k 1 )   2 P k   2 P 1   n P 2 , n P ( k 1 )   n P k   n ]
then the family of « parabolic splines in the U direction with different values of the parameter « lying in the range from 1 to «n» is represented by:
P ( u ,   w ) | U = w = 1 n ( [ R ] [ M ] 1 [ P 1 ,   w   P 2 ,   w   P 3 ,   w ] T + u = 1 k 3 [ T ] [ K ] [ P u ,   w   P u + 1 ,   w   P u + 2 ,   w   P u + 3 ,   w ] T + + [ S ] [ M ] 1 [ P k 2 ,   w   P k 1 ,   w   P k ,   w ] T ) .
A family of «k» parabolic splines in the W direction for different values of the parameter «, ranging from 1 to «k», is described as:
P ( u ,   w ) | W = u = 1 k ( [ R ] [ M ] 1 [ P u ,   1   P u ,   2   P u ,   3 ] T + w = 1 n 3 [ T ] [ K ] [ P u ,   w   P u ,   w + 1   P u ,   w + 2   P u ,   w + 3 ] T + + [ S ] [ M ] 1 [ P u ,   n 2   P u ,   n 1   P u ,   n ] T ) .
Based on the mathematical description of the families of parabolic splines formed in the U and W directions, the equation for the parabolic surface is presented in the form:
Q ( u , w ) = Ρ ( u , w ) | U + Ρ ( u , w ) | W .
Having the analytical equation of a parabolic surface, the values of the partial derivatives at any point P(u, w) are easily determined, and therefore the value of the unit normal at this point is:
P ( u ,   w ) | U w = w = 1 n ( [ 2 r   1   0 ] [ M ] 1 [ P 1 ,   w   P 2 ,   w   P 3 ,   w ] T + u = 1 k 3 [ 3 t 2   2 t   1   0 ] [ K ] [ P u ,   w   P u + 1 ,   w   P u + 2 ,   w   P u + 3 ,   w ] T + + [ 2 s   1   0 ] [ M ] 1 [ P k 2 ,   w   P k 1 ,   w   P k ,   w ] T ) .
P ( u ,   w ) | U w = w = 1 n ( [ 2 r   1   0 ] [ M ] 1 [ P 1 ,   w   P 2 ,   w   P 3 ,   w ] T + u = 1 k 3 [ 3 t 2   2 t   1   0 ] [ K ] [ P u ,   w   P u + 1 ,   w   P u + 2 ,   w   P u + 3 ,   w ] T + + [ 2 s   1   0 ] [ M ] 1 [ P k 2 ,   w   P k 1 ,   w   P k ,   w ] T ) .
Then, the value of the unit normal is:
n = P ( u ,   w ) | U w | P ( u ,   w ) | U w | × P ( u ,   w ) | W u | P ( u ,   w ) | W u |
As indicated earlier, in cases where it is necessary to edit the position of any point P(i, j) to specify a curve or face, recalculation should be carried out only in limited assignment ranges—from point Pi−2, j to Pi+2, j in one direction and from point Pi, j−2 to Pi, j+2 in another direction—rather than on the entire curve or surface.
One can see from Table 1, that the necessary number of pseudo-codes is determined to calculate the coordinates of only one point of the curve belonging to the corresponding segment of the parabolic curve. If we assume that the entire curve in each segment (both pure and mixed) is formed on the basis of the same number of points (for example, N) and the number of segments in the mixed parabola is K, then it is easy to calculate the total number of pseudo-codes needed for its formation. Thus, the data shown in Table 1 must be multiplied by:
-
(N − 1) for the initial segment (pure parabola);
-
(N − 1) for the final segment (pure parabola);
-
(N − 1) × K for K segments of mixed parabola.
From the data presented in the table, it seems that the Overhauser method is faster than the rest. However, this is not true, since it is likely that a relatively long time is spent on operations with vectors and to calculate the square root of the number. The work is much slower than the other two methods. This is confirmed both by our observations and by the indication in [8] that the Brever–Anderson method works faster.
A temporary analysis of the real complexity of the presented algorithms will be presented in future studies.

3. Conclusions

The proposed parabolic approximation method, which is based on matrix calculations and local coordinate systems, the origin of which is located exactly in the middle of the first and third points and the ordinate axis, passes through the second (middle) point of the task of each parabola. The proposed method:
  • eliminates the drawbacks of the Overhauser and Brever–Anderson methods associated with the possibility of generating ambiguous descriptions and with the violation of the smoothness of curves and surfaces;
  • does not require the introduction of a normalized chord approximation to provide artificial smoothing of curves, which requires additional memory and time resources;
  • allows one to effectively form, and if necessary, predictably edit the points of the parabolic job curves and surfaces;
  • allows relatively simple determination of the normal value at each point of the surface using the presented analytical expressions when forming a realistic image of such surface.
The proposed method is supposed to be used in the development of automated tools for the formation and editing of realistic images of surfaces of objects with complex configurations, such as car bodies. It can be recommended for use in the field of construction for the representation of membrane roofing [10]. This method could be also useful for civil engineers and in the calculation of models by the finite element method. In particular, when designing cable structures, developers only need parabolic shapes traction design. This method is also useful for physicists for evaluating sound propagation contours.

Funding

This research received no external funding.

Conflicts of Interest

The author declare no conflict of interest.

References

  1. Stechkin, S.B.; Subbotin, Y.N. Splines in Computational Mathematics; Nauka: Moscow, Russia, 1976. (In Russian) [Google Scholar]
  2. Bohm, W.; Farin, G.; Kahmann, J. A Survey of Curve and Surface Methods in CAGD. Comp. Aid. Geom. Des. 1984, 1, 1–60. [Google Scholar] [CrossRef]
  3. Adams, J.A. A Comparison of Methods for Cubic Spline Curve Fitting. Nav. Acad. Annap. MD DIV Eng. Weapons 1973, 6, 1–9. [Google Scholar]
  4. Gordon, W.J.; Riesenfeld, R.F. Bernstein-Bezier Methods for the Computer Aided Design of Free-form Curves and Surfaces. J. ACM 1974, 21, 293–310. [Google Scholar] [CrossRef]
  5. Rogers, D.F.; Adams, J.A. Mathematical Elements for Computer Graphics, 2nd ed.; McGraw-Hill Book Company: New York, NY, USA, 1975. [Google Scholar]
  6. Rogers, D.F.; Adams, J.A. Mathematical Elements for Computer Graphics, 2nd ed.; McGraw-Hill Publishing Company: New York, NY, USA, 1989. [Google Scholar]
  7. Overhauser, A.W. Analytic Definition of Curves and Surfaces by Parabolic Blending; Ford Motor Company Scientific Laboratory: Dearborn, MI, USA, 1968. [Google Scholar]
  8. Brewer, J.A.; Anderson, D.C. Visual Interaction with Overhauser Curves and Surfaces. ACM SIGGRAPH Comput. Gr. 1977, 11, 132–137. [Google Scholar] [CrossRef]
  9. Lyachek, Y.T.; Vasil’ev, A.A.; Martinov, V.Y. New Methods of Generating Parabolic Curves of Overhauser. Izvest. SPbGETU LETI 2017, 8, 17–23. (In Russian) [Google Scholar]
  10. Rizzo, F.; Zazzini, P. Improving the acoustical properties of an elliptical plan space with a cable net membrane roof. Acoust. Aust. 2016, 44, 449–456. [Google Scholar] [CrossRef]
Figure 1. Parabolic Overhauser curves: (a) curve through three points, with a changed midpoint position; (b) curves obtained with the repositioning of the second reference point.
Figure 1. Parabolic Overhauser curves: (a) curve through three points, with a changed midpoint position; (b) curves obtained with the repositioning of the second reference point.
Mathematics 08 00592 g001
Figure 2. A new method for specifying parabola points in a local coordinate system.
Figure 2. A new method for specifying parabola points in a local coordinate system.
Mathematics 08 00592 g002
Figure 3. Parabolic curves formed using the new method: (a) curves passing through three points with their own local coordinate systems (LSCs); (b) curves obtained by editing the position of point number 2.
Figure 3. Parabolic curves formed using the new method: (a) curves passing through three points with their own local coordinate systems (LSCs); (b) curves obtained by editing the position of point number 2.
Mathematics 08 00592 g003
Table 1. The pseudo-code complexity analysis table for the three methods.
Table 1. The pseudo-code complexity analysis table for the three methods.

p/o
Parabola SegmentsUsed MethodPseudo-Code Operations
MultiplicationAdditionSqrt
1Starting or ending sections (pure parabola)Overhauser16322
Brever–Anderson6137
Proposed5527
2Mixed parabola segmentOverhauser39684
Brever–Anderson13982
Proposed10245

Share and Cite

MDPI and ACS Style

Lyachek, Y. An Efficient Method for Forming Parabolic Curves and Surfaces. Mathematics 2020, 8, 592. https://doi.org/10.3390/math8040592

AMA Style

Lyachek Y. An Efficient Method for Forming Parabolic Curves and Surfaces. Mathematics. 2020; 8(4):592. https://doi.org/10.3390/math8040592

Chicago/Turabian Style

Lyachek, Yuliy. 2020. "An Efficient Method for Forming Parabolic Curves and Surfaces" Mathematics 8, no. 4: 592. https://doi.org/10.3390/math8040592

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