Next Article in Journal
Modelling of Reliability Indicators of a Mining Plant
Previous Article in Journal
Learning Rate of Regularized Regression Associated with Zonal Translation Networks
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Inverse Relations for Blossoms and Parametrisations of Rational Curves and Surfaces

by
Leonardo Fernández-Jambrina
Matemática e Informática Aplicadas, E.T.S.I. Navales, Universidad Politécnica de Madrid, Avenida de la Memoria 4, E-28040 Madrid, Spain
Mathematics 2024, 12(18), 2841; https://doi.org/10.3390/math12182841
Submission received: 27 July 2024 / Revised: 5 September 2024 / Accepted: 10 September 2024 / Published: 12 September 2024

Abstract

:
In this paper, we make use of an inverse formula that relates the blossom of a NURBS curve, surface or Bézier triangle with its parametrisation, with no explicit reference to the control points and weights of the parametrisation. We make use of this inverse formula to raise and lower the degree elevation and reduction.

1. Introduction

The blossoming principle has been successfully used in many contexts in Computer Aided Geometric Design (CAGD) [1,2,3,4]. Blossoms of B-splines and Bézier curves and surfaces are used for degree elevation, for obtaining new control polygons and nets on transforming the domain, for knot insertion [5] or even for computing derivatives.
The parametrisation of a curve or surface is then just a simple case of blossom for which all the values of the parameter are equal.
This paper aims to show the relation that exists between parametrisations and blossoms of NURBS curves and surfaces by expressing the blossom in terms of just the parametrisation. It may be argued that this can be accomplished by computing the control polygon or net by iterated derivation of the parametrisation and then constructing the blossom. But here, a closed formula for writing the blossom as a fairly simple combination of points on the curve or surface is shown to be useful for many purposes.
In Section 2, the construction of the blossom of a Bézier curve or surface is reviewed. The construction of n-linear polar forms in a closed formula is derived and its extension to n-affine forms is shown in Section in Section 3. The applications of these results to the calculation of control points and degree elevation and reduction are included in Section 4.

2. Blossoms or Polar Forms

A Bézier curve of degree n is just a curve with polynomial parametrisation of degree n,
b ( t ) = i = 0 n b i B i n ( t ) ,
where B i n ( t ) are the usual Bernstein polynomials,
B i n ( t ) = n ! i ! ( n i ) ! ( 1 t ) i t n i ,
and the shape of the curve is controlled by n + 1 points b i , i = 0 , , n , which are the vertices of the control polygon { b 0 , , b n } of the curve [2].
Points b ( t ) on the curve are obtained by iterated interpolation at parameter t of the vertices of the control polygon by the de Casteljau algorithm,
b i 1 ) ( t ) : = ( 1 t ) b i + t b i + 1 , i = 0 , , n 1 , b i r ) ( t ) : = ( 1 t ) b i r 1 ) ( t ) + t b i + 1 r 1 ) ( t ) , i = 0 , , n r , r = 1 , , n , b ( t ) : = b 0 n ) ( t ) .
The blossom of a Bézier curve [2] is constructed by iterated application of the linear interpolation algorithm with different values t 1 , , t n of the interpolation parameter t. Its uniqueness is shown in [6].
If { b 0 , , b n } is the control polygon of a Bézier curve of degree n defined in the interval [ 0 , 1 ] and t 1 , , t n are values of the parameter of the curve, the blossom at t 1 , , t n is denoted by b [ t 1 , , t n ] ,
b i 1 ) [ t 1 ] : = ( 1 t 1 ) b i + t 1 b i + 1 , i = 0 , , n 1 , b i r ) [ t 1 , , t r ] : = ( 1 t r ) b i r 1 ) [ t 1 , , t r 1 ] + t r b i + 1 r 1 ) [ t 1 , , t r 1 ] , b [ t 1 , , t n ] : = b 0 n ) [ t 1 , , t n ] , i = 0 , , n r , r = 1 , , n .
Since both the blossom b [ t 1 , , t n ] and the parametrisation b ( t ) are related to the control polygon { b 0 , , b n } , we are using the same letter b for both functions, with squared brackets for the blossom and curly brackets for the parametrisation.
In this notation, we readily check that the vertices of the control polygon are
b 0 = b [ 0 , , 0 ] , , b i = b [ 0 , , 0 , 1 , 1 ] , , b n = b [ 1 , 1 ] .
In the case of degree n = 2 , for a control polygon { b 0 , b 1 , b 2 } , we get its explicit form,
b 0 1 ) [ t 1 ] = ( 1 t 1 ) b 0 + t 1 b 1 , b 1 1 ) [ t 1 ] = ( 1 t 1 ) b 1 + t 1 b 2 ,
b [ t 1 , t 2 ] : = ( 1 t 2 ) b 0 1 ) [ t 1 ] + t 2 b 1 1 ) [ t 1 ] = ( 1 t 1 ) ( 1 t 2 ) b 0 + t 1 ( 1 t 2 ) + t 2 ( 1 t 1 ) b 1 + t 1 t 2 b 2 ,
and we see it is symmetric, b [ t 1 , t 2 ] = b [ t 2 , t 1 ] .
This is a pyramidal algorithm in which each value is obtained from just two correlative ones in the previous step. For instance, for degree three,
b 0 b 1 b 2 b 3 b 0 1 ) [ t 1 ] b 1 1 ) [ t 1 ] b 2 1 ) [ t 1 ] b 0 2 ) [ t 1 , t 2 ] b 1 2 ) [ t 1 , t 2 ] b 0 3 ) [ t 1 , t 2 , t 3 ]
Obviously, b [ t 1 , , t n ] is not a point on the curve unless all values of the parameter t 1 , , t n are equal. In this case, the original de Casteljau algorithm is recovered, b [ t , , t ] = b ( t ) .
This construction has nice properties [2]. It is symmetric under any permutation σ of the order of the parameters b [ t 1 , , t n ] = b [ t σ ( 1 ) , , t σ ( n ) ] and is multiaffine. If one of the parameters is a barycentric combination of two numbers, λ t i + μ s i with λ + μ = 1 , then
b [ t 1 , , t i 1 , λ t i + μ s i , t i + 1 , , t n ] = λ b [ t 1 , , t i 1 , t i , t i + 1 , , t n ] + μ b [ t 1 , , t i 1 , s i , t i + 1 , , t n ] ,
that is, the blossom is affine in every variable.
Due to these properties the blossom is just a symmetric multiaffine polar form.
The blossom may be used for obtaining the control polygon, { b ^ 0 , , b ^ n } , of the restriction, or extrapolation, of the Bézier curve to an interval [ α , β ] ,
b ^ i = b [ α , , α n i , β , , β i ] , i = 0 , , n .
In case we want to elevate formally the degree of the curve to n + 1 , the blossom at t 1 , , t n + 1 may be obtained as the mean of the blossoms for n parameters,
b 1 [ t 1 , , t n + 1 ] = 1 n + 1 i = 0 n + 1 b [ t 1 , , t i 1 , t i + 1 , , t n + 1 ] .
Rational curves of degree n are also included in this framework, since a rational parametrisation b ( t ) = p 1 ( t ) / q ( t ) , , p n ( t ) / q ( t ) can be cast in polynomial form as b ˜ ( t ) = ( q ( t ) , p 1 ( t ) , , p n ( t ) ) in a projective space, such that its components are b ˜ 0 ( t ) = q ( t ) , b ˜ i ( t ) = p i ( t ) , i = 1 , n . The additional component of b ˜ [ t 1 , , t n ] provides the denominator for the blossom of the rational parametrisation:
b ˜ [ t 1 , , t n ] = b ˜ 0 [ t 1 , , t n ] , b ˜ 1 [ t 1 , , t n ] , , b ˜ m [ t 1 , , t n ] , b [ t 1 , , t n ] = b ˜ 1 [ t 1 , , t n ] b ˜ 0 [ t 1 , , t n ] , , b ˜ m [ t 1 , , t n ] b ˜ 0 [ t 1 , , t n ] .
If we are dealing with a spline curve segment with knots { u 0 , , u 2 n 1 } , such that u 0 u i u i + 1 u 2 n 1 , the corresponding B-spline polygon, { d 0 , , d n } is recovered accordingly:
d i = b [ u i , , u i + n 1 ] , i = 0 , , n .
For a segment of a B-spline curve, the blossom is computed by a modified de Casteljau algorithm:
d i 1 ) [ v 1 ] : = b [ u i + 1 , , u i + n 1 , v 1 ] , = u i + n v 1 u i + n u i d i + v 1 u i u i + n u i d i + 1 , i = 0 , , n 1 , d i r ) [ v 1 , , v r ] : = b [ u i + r , , u i + n 1 , v 1 , , v r ] = u i + n v r u i + n u i + r 1 d i r 1 ) [ v 1 , , v r 1 ] + v r u i + r 1 u i + n u i + r 1 d i + 1 r 1 ) [ v 1 , , v r 1 ] , i = 0 , , n r , r = 1 , , n , d [ v 1 , , v n ] : = d 0 n ) [ v 1 , , v n ] = b [ v 1 , , v n ] = u n v n u n u n 1 d 0 n 1 ) [ v 1 , , v n 1 ] = v n u n 1 u n u n 1 d 1 n 1 ) [ v 1 , , v n 1 ] .
Again, we have a pyramidal algorithm. For instance, for degree three,
d 0 d 1 d 2 d 3 d 0 1 ) [ t 1 ] d 1 1 ) [ t 1 ] d 2 1 ) [ t 1 ] d 0 2 ) [ t 1 , t 2 ] d 1 2 ) [ t 1 , t 2 ] d 0 3 ) [ t 1 , t 2 , t 3 ]
The blossoming principle is also extended to tensor product patches of surfaces of degree ( m , n ) parametrised by b ( u , v ) , u , v [ 0 , 1 ] , defined by a control net { b 00 , , b 0 n , , b m 0 , , b m n } ,
b ( u , v ) = B 0 m ( u ) , , B m m ( u ) b 00 b 0 n b m 0 b m n B 0 n ( v ) B n n ( v ) .
Note that for surface patches, the parametrisation b ( u , v ) depends on two variables; however, we are keeping the same notation b for both of them.
The formulas are applied in two steps, one for each of the variables,
b [ u 1 , , u m ; v 1 , , v n ] : = b [ u 1 , , u m ] [ v 1 , , v n ] ,
that is, the blossom is evaluated first on u 1 , , u m for each of the columns of the control net and the resulting polygon { b 0 [ u 1 , , u m ] , , b n [ u 1 , , u m ] } is used to evaluate the blossom on v 1 , , v n . Or, conversely, the blossom may be evaluated on v 1 , , v n for each of the rows of the control net and the resulting polygon { b ˜ 0 [ v 1 , , v n ] , , b ˜ m [ v 1 , , v n ] } is used to evaluate the blossom on u 1 , , u m . A similar construction is used to extend the blossoming principle to B-spline surfaces.
Finally, the extension to triangular Bézier patches (cfr. for instance [7] for a review) of surfaces of degree n parametrised by
b ( u , v , w ) , u , v , w [ 0 , 1 ] , u + v + w = 1 ,
defined by a triangular control net { b i j k R 3 : 0 i , j , k n , i + j + k = n } ,
b ( u , v , w ) = i + j + k = n b i j k n ! i ! j ! k ! u i v j w k ,
is achieved in a similar fashion.
The blossom is evaluated on triplets of values of the parameters u 1 , , u n , u i = ( u i , v i , w i ) , such that u i + v i + w i = 1 ,
b i j k 1 ) [ u 1 ] : = u 1 b i + 1 j k + v 1 b i j + 1 k + w 1 b i j k + 1 , 0 i , j , k n 1 , i + j + k = n 1 , b i r ) [ u 1 , , u r ] : = u r b i + 1 j k r 1 ) [ u 1 , , u r 1 ] + v r b i j + 1 k r 1 ) [ u 1 , , u r 1 ] + w r b i j k + 1 r 1 ) [ u 1 , , u r 1 ] , 0 i , j , k n r , i + j + k = n r , b [ u 1 , , u n ] : = b 000 n ) [ u 1 , , u r ] .
Written in its de Casteljau form, the blossom requires knowing the control polygon of the curve beforehand; that is, the curve must be written in Bézier or B-spline form. If we just have the parametrisation of the curve, we have to obtain the control points before calculating the blossom.
This could be achieved in principle taking into account the relation that exists between derivatives of the parametrisations at the endpoints. For instance, for Bézier curves over the interval [ 0 , 1 ] ,
d r b ( 0 ) d u r = n ! Δ r b 0 ( n r ) ! , Δ 1 b i = b i + 1 b i , Δ s b i = Δ s 1 b i + 1 Δ s 1 b i ,
but derivation is not an algebraic operation and it is numerically unstable.
However, an algebraic approach may be used for relating the parametrisation and the blossom directly.
A simple example of this arises naturally in Euclidean geometry. The scalar product and the length or norm of a vector v in a real vector space are related by the usual expression,
v 2 = v , v .
This relation may be inverted provided that the norm comes from a scalar product,
v , w = v + w 2 v 2 w 2 2 .
Of course, this inverse expression is not unique. One can resort to the polarisation identity,
v , w = v + w 2 v w 2 4 ,
with the same result.
Therefore, it is possible to relate a quadratic form, the norm, with a symmetric bilinear form, the scalar product. This is pretty obvious, since they share the same matrix representation, the Gram matrix.
In our case, we are not dealing with symmetric multilinear forms but with symmetric multiaffine forms. However, this example suggests that we may exchange the role of the square of the length for the parametrisation, and the scalar product for the blossom.

3. Multilinear Polar Forms

As a previous step before tackling the issue of writing the blossom of a parametrisation of degree n in terms of the parametrisation itself, we shall handle a related problem: the inversion formula, which expresses a symmetric multilinear form in terms of the associated n-atic form.
Let us denote by f ( x 1 , , x n ) a symmetric n-linear form on a real linear space and q ( x ) , the associated n-atic form,
q ( x ) : = f ( x , , x ) ,
which is a homogeneous function of degree n,
q ( λ x ) = λ n q ( x ) , λ R .
Also, we denote by q N ( S ) the sum of the values of q acting on all ordered subsets of N elements of S,
q N ( S ) : = 1 i 1 < < i N n q ( x i 1 + + x i N ) .
For instance,
q 1 ( S ) : = q ( x 1 ) + + q ( x n ) , q 2 ( S ) : = q ( x 1 + x 2 ) + + q ( x 1 + x n ) + q ( x 2 + x 3 ) + + q ( x 2 + x n ) + + q ( x n 1 + x n ) , q n ( S ) : = q ( x 1 + + x n ) .
We would like to split the previous expression for q n ( S ) in terms with just one, two, …, n different values of x i :
q n ( S ) = f ( x 1 + + x n , , x 1 + + x n ) = N = 1 n f N ( S ) ,
that is, we denote by f N ( S ) the sum of all values of f ( x i 1 , , x i n ) where { x i 1 , , x i n } are permutations, allowing for repetition, of just N different elements of S = { x 1 , , x n } . For instance, the first and last terms are
f 1 ( S ) : = f ( x 1 , , x 1 ) + + f ( x n , , x n ) , f n ( S ) : = n ! f ( x 1 , , x n ) .
With these definitions, we may split every expression for q N ( S ) in terms with one to N different elements of S
q 1 ( S ) = f 1 ( S ) , q n 1 ( S ) = ( n 1 ) f 1 ( S ) + ( n 2 ) f 2 ( S ) + + f n 1 ( S ) , q N ( S ) = M = 1 N n M N M f M ( S ) .
The reasoning leading to these expressions is clear. A term with just M different values of x i as the ones in f M ( S ) , for instance f ( x 1 , , x M ) , appears in q N ( S ) in all terms of the sort q ( x 1 + + x N ) , where { x 1 , , x M } is a subset of { x 1 , , x N } . These terms arise in the sum q N ( S ) by fixing M values of x i , which leaves free n M values, among which we are to choose the remaining N M ones.
The polar form f ( x 1 , , x n ) appears just in q ( x 1 + + x n ) ; however, we may use the other expressions to simplify the unwanted terms. The alternating combination
N = 1 n ( 1 ) n N q N ( S ) = N = 1 n ( 1 ) n N M = 1 N n M N M f M ( S ) = M = 1 n N = M n ( 1 ) n N n M N M f M ( S ) = M = 1 n ( 1 1 ) n M f M ( S ) = f n ( S ) ,
is the required one for isolating the expression for the polar form in terms of the n-atic form. This result may be summarised as follows:
Theorem 1.
A symmetric n-linear form f on a real linear space may be written in terms of its associated n-atic form q,
f ( x 1 , , x n ) = 1 n ! N = 1 n ( 1 ) n N 1 i 1 < < i N n q ( x i 1 + + x i N ) .
This result is concise and useful; however, in CAGD, it deals with multiaffine instead of multilinear forms. This is not much of a problem, since we may consider barycentric combinations as linear combinations in which the sum of the coefficients is one.
Now, terms like q ( x 1 + + x N ) are not allowed since they are not evaluated on a barycentric combination. However, this difficulty can be easily overcome, since we may substitute this term in Theorem 1 by N n q ( x 1 + + x N N ) , because q is homogeneous of degree n. This expression is suitable for the multiaffine case.
We keep the previous notations, but now f is a symmetric multiaffine form and q is the associated n-atic form.
Theorem 2.
A symmetric n-affine form f on a real affine space may be written in terms of its associated n-atic form q,
f ( x 1 , , x n ) = 1 n ! N = 1 n ( 1 ) n N N n 1 i 1 < < i N n q x i 1 + + x i N N .
Therefore, the problem of writing the blossom of a Bézier curve in terms of its parametrisation has a simple solution in closed form for every degree [3]:
Corollary 1.
The blossom of a curve of degree n may be written in terms of its parametrisation,
b [ t 1 , , t n ] = 1 n ! N = 1 n ( 1 ) n N N n 1 i 1 < < i N n b t i 1 + + t i N N .
We may write the first examples:
n = 2 :
b [ t 1 , t 2 ] = 1 2 4 b t 1 + t 2 2 b ( t 1 ) b ( t 2 ) .
n = 3 :
b [ t 1 , t 2 , t 3 ] = 1 6 27 b t 1 + t 2 + t 3 3 + b ( t 1 ) + b ( t 2 ) + b ( t 3 ) 8 b t 1 + t 2 2 + b t 2 + t 3 2 + b t 1 + t 3 2 .
We see that the calculation of the blossom of a curve of degree n involves evaluating the parametrisation 2 n 1 times and adding them. This means that the calculation increases exponentially with the degree, but in CAGD the standard case is n = 3 , since interpolation with high degree polynomials causes undesired problems, such as the Runge phenomenon.
It must be noted that these formulas are valid also for B-splines, provided that t 1 , , t n lie in the same segment of the spline, since splines are piecewise functions of degree n.
Formula (20) is also valid for Bézier triangles by replacing the values of t with the barycentric coordinates u i = ( u i , v i , w i ) , u i + v i + w i = 1 , of points in the parametric plane,
b [ u 1 , , u n ] = 1 n ! N = 1 n ( 1 ) n N N n 1 i 1 < < i N n b u i 1 + + u i N N .
For tensor product patches, the formulas may be applied in two steps, since
b [ u 1 , , u m ; v 1 , , v n ] = b [ u 1 , , u m ] [ v 1 , , v n ] .
Therefore, there are simple inverse relations for blossoms and parametrisations for both curves and surfaces.

4. Restriction, Degree Elevation and Reduction

One of the straightforward applications of the inverse formula is the possibility of calculating control and B-spline polygons and nets and weights directly from the parametrisation of the curve or surface. This is useful for instance to restrict the parametrisation of a curve to an interval [ α , β ] [ 0 , 1 ] .
According to (4), we may calculate the vertices of the control polygon of a curve of degree n:
Corollary 2.
The vertices { b 0 , , b n } of a parametrised curve of degree n, b ( t ) , defined on an interval [ α , β ] are
b i = 1 n ! N = 1 n ( 1 ) n N N n I = 0 i i I n i N I b ( N I ) α + I β N ,
for i = 0 , , n , where the binomial coefficients are non-zero if and only if 0 N I n i .
We may write the first instances of this formula as follows:
n = 2 :
b 0 = b ( α ) , b 1 = b ( α ) 2 b ( β ) 2 + 2 b α + β 2 , b 2 = b ( β ) .
n = 3 :
b 0 = b ( α ) , b 1 = b ( α ) + b ( β ) 6 8 3 b α + β 2 + 9 2 b 2 α + β 3 , b 2 = b ( α ) 6 b ( β ) 8 3 b α + β 2 + 9 2 b α + 2 β 3 , b 3 = b ( β ) .
n = 4 :
b 0 = b ( α ) , b 1 = 3 2 b ( α ) b ( β ) 24 + 2 b α + β 2 81 8 b 2 α + β 3 + 32 3 b 3 α + β 4 , b 2 = 7 b ( α ) + b ( β ) 12 + 40 3 b α + β 2 27 4 b 2 α + β 3 + b α + 2 β 3 , b 3 = b ( α ) 24 3 2 b ( β ) + 2 b α + β 2 81 8 b α + 2 β 3 + 32 3 b α + 3 β 4 , b 4 = b ( β ) .
Similarly, for Bézier triangles, we have
Corollary 3.
The vertices { b i j k : 1 i , j , k n , i + j + k = n } of a Bézier triangle of degree n, b ( u , w , w ) , such that 0 u , v , w 1 , u + v + w = 1 , restricted to a triangle of vertices a , b , c are
b i j k = 1 n ! N = 1 n ( 1 ) n N N n J = 0 j K = 0 k j J k K i N J K × b ( N J K ) a + J b + K c N ,
where the binomial coefficients are non-zero if and only if 0 N J K i .
Another nice and interesting property of these formulas is that the concept of degree elevation is already built-in. Since a parametrisation b ( t ) of degree n is formally of any degree m greater than n, application of the blossom formula for degree m provides the degree-elevated blossom of b ( t ) directly.
Example 1.
Control polygon and weights for an arc of a circle.
Let us consider an arc of a circle and its usual rational parametrisation
b ( t ) = 1 t 2 1 + t 2 , 2 t 1 + t 2 , t [ α , β ] [ 1 , 1 ] .
The control points and weights for these parametrisations are readily derived
b 0 = 1 α 2 1 + α 2 , 2 α 1 + α 2 , b 1 = 1 α β 1 + α β , α + β 1 + α β , b 2 = 1 β 2 1 + β 2 , 2 β 1 + β 2 w 0 = 1 + α 2 , w 1 = 1 + α β , w 2 = 1 + β 2 .
And if we wish to write the parametrisation of the arc formally as a quartic,
b 0 = 1 α 2 1 + α 2 , 2 α 1 + α 2 , w 0 = 1 + α 2 , b 1 = 2 α 2 α β 2 + α 2 + α β , 3 α + β 2 + α 2 + α β , w 1 = 1 + α 2 + α β 2 , b 2 = 6 α 2 4 α β β 2 6 + α 2 + 4 α β + β 2 , 6 ( α + β ) 6 + α 2 + 4 α β + β 2 , w 2 = 1 + α 2 + 4 α β + β 2 6 , b 3 = 2 α β β 2 2 + α β + β 2 , α + 3 β 2 + α β + β 2 , w 3 = 1 + α β + β 2 2 , b 4 = 1 β 2 1 + β 2 , 2 β 1 + β 2 , w 4 = 1 + β 2 .
For instance, if we start from an arc of a circle with α = 0 , β = 1 , we get { ( 1 , 0 ) , ( 1 , 1 ) , ( 0 , 1 ) } as the control polygon and { 1 , 1 , 2 } as weights. As a quartic, the control polygon is { ( 1 , 0 ) , ( 1 , 1 / 2 ) , ( 5 / 7 , 6 / 7 ) , ( 1 / 3 , 1 ) , ( 0 , 1 ) } and the list of weights is { 1 , 1 , 7 / 6 , 3 / 2 , 2 } . Both polygons for this arc may be seen in Figure 1.
The inversion formula is not only helpful to elevate the degree of a parametrisation, but also provides an approximation method for degree reduction.
There are several procedures in the literature for degree reduction. According to [8], degree reduction of a polynomial curve b ( t ) of degree n by another one of lower degree b ˜ ( t ) is a special case of polynomial approximation of lower degree. One approach makes use of Chebychev polynomials to obtain the uniform approximation of b ( t ) ; that is, the one for which
b b ˜ : = max t [ 0 , 1 ] | b ( t ) b ˜ ( t ) | ,
is smaller [9,10,11]. The use of dual Bernstein basis is shown in [12].
One could use another norm to minimize the error produced by degree reduction. For instance, any of the L p norms for p N ,
b b ˜ p : = 0 1 b ( t ) b ˜ ( t ) p d t p .
In [13], it is shown that the degree reduction that minimizes the error in the L 2 norm (least squares approximation) is given by the best Euclidean approximation to the degree-raised control polygon. One of the problems of least squares approximations is that, unless we impose it, the resulting curve does not pass through the first and last vertices of the control polygon [2]. Extensions of the result by [13] to constrained degree reduction are to be found in [14] and to the Jacobi L 2 -norm in [15].
A unified approach for degree reduction methods may be found in [16]. Degree reduction for spline curves is discussed in [17,18,19]. An extension to composite curves may be found in [20], considering geometric continuity [21,22,23].
Another approach would be a discrete approximation for which we impose some points on the curve instead of minimizing the distance from the approximating curve to the original curve. For achieving this, we just have to apply the blossom formula to the parametrisation with a degree lower than the actual one.
We must take into account that, although degree reduction is approximating a curve by one of a lower degree, we are conducting a standard Lagrange interpolation of points on the curve by a polynomial curve, with the nice feature of having closed formulas in terms of the parametrisation of the original curve. It has, of course, the same problems as Lagrange interpolation, such as the undesired Runge’s phenomenon when the degree is high; however, it can be managed using standard spline interpolation, for which the previous formulas are also valid.
Some advantages of this procedure are that the approximating curve passes through the endpoints of the original curve and the data are taken symmetrically along the curve. On the contrary, we may lose control of the mean distance to the original curve.
Example 2.
Degree reduction of a polynomial curve parametrised by b ( t ) .
b ( t ) = t 10 3 t 8 + 2 t 7 t 5 + t 2 + t 3 , 2 t 10 + t 9 t 7 + t 5 + t 3 + t 2 .
The control polygon for this curve of degree 10 is formed by the points
3 , 0 , 29 10 , 0 , 25 9 , 1 45 , 79 30 , 3 40 , 37 15 , 1 6 , 575 252 , 13 42 ,
439 210 , 11 21 , 19 10 , 5 6 , 26 15 , 56 45 , 9 5 , 9 5 , 2 , 1 ;
however, we may reduce the degree to 6 directly with the blossom inverse formula or with the least squares formalism. The results are compared in Figure 2, Figure 3 and Figure 4. The blue curve is the original one and the red curve is the degree-reduced one. The last case corresponds to least squares approximation, but imposing the values of b ( 0 ) and b ( 1 ) as the right ones.
It is true that the least squares formalism provides a globally closer fitting; however, on the contrary, the blossom inverse formula provides a control polygon that oscillates less and keeps the endpoints of the original one.
The degree reduction procedure need not be applied only to polynomial or rational curves, but can be used for approximating non-algebraic curves. With this procedure the approximating curve passes through the endpoints and is exact for polynomial curves of the same degree.
Example 3.
Approximating curve for the logarithm function, b ( t ) = ( t , ln t ) , t [ 1 / 2 , 1 ] .
If we approximate b ( t ) with a cubic curve, b ˜ ( t ) , with control polygon
1 2 , ln 2 , 2 3 , 65 ln 2 43 ln 3 6 , 5 6 , 27 ln 5 + 4 ln 2 43 ln 3 6 , 1 , 0 ,
the L 2 -error committed, 2 · 10 7 ,
1 / 2 1 b ˜ ( t ) b ( t ) 2 d t ,
is of the same order as the best L 2 -cubic approximation, 10 7 , as can be seen in Figure 5, where the logarithm and the approximating curve are nearly indistinguishable.

5. Conclusions

In this paper, a formula that furnishes the blossom of a NURBS parametrisation with no explicit reference to control points, just in terms of points on the NURBS, is provided for all cases of polynomial, rational, NURBS curves and surfaces. The provided solution is not unique, but it is the most symmetric.
It has been shown that this inverse formula may be useful for obtaining control points and weights for any domain of the parametrisation. As applications, it has been used for restricting the domain of a parametrisation, for elevating and reducing its degree and for approximating non-rational parametrisations.

Funding

This research received no external funding.

Data Availability Statement

The original contributions presented in the study are included in the article, further inquiries can be directed to the corresponding author.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. de Casteljau, P. Shape Mathematics and CAD; Kogan Page: London, UK, 1986. [Google Scholar]
  2. Farin, G. Curves and Surfaces for CAGD, 5th ed.; Morgan Kaufmann: San Francisco, CA, USA, 2001. [Google Scholar]
  3. Ramshaw, L. Blossoms are polar forms. Comput. Aided Geom. Des. 1989, 6, 323–359. [Google Scholar] [CrossRef]
  4. Seidel, H.-P. A new multiaffine approach to B-splines. Comput. Aided Geom. Des. 1989, 6, 23–32. [Google Scholar] [CrossRef]
  5. Seidel, H.-P. Knot insertion from a blossoming point of view. Comput. Aided Geom. Des. 1988, 5, 81–86. [Google Scholar] [CrossRef]
  6. Tuncer, O.O.; Simeonov, P.; Goldman, R. On the uniqueness of the multirational blossom. Comput. Aided Geom. Des. 2023, 107, 102252. [Google Scholar] [CrossRef]
  7. Farin, G. Triangular Bernstein-Bézier patches. Comput. Aided Geom. Des. 1986, 3, 83–127. [Google Scholar] [CrossRef]
  8. Farouki, R.T. The Bernstein polynomial basis: A centennial retrospective. Comput. Aided Geometric Des. 2012, 29, 379–419. [Google Scholar] [CrossRef]
  9. Eck, M. Degree reduction of Bézier curves. Comput. Aided Geom. Des. 1993, 10, 237–252. [Google Scholar]
  10. Peterson, J. Degree reduction of Bézier curves. Comput.-Aided Des. 1991, 23, 460–461. [Google Scholar]
  11. Watkins, M.A.; Worsey, A.J. Degree reduction of Bézier curves. Comput.-Aided Des. 1988, 20, 398–405. [Google Scholar] [CrossRef]
  12. Woźny, P.; Lewanowicz, S. Multi-degree reduction of Bézier curves with constraints, using dual Bernstein basis polynomials. Comput. Aided Geometric Des. 2009, 26, 566–579. [Google Scholar] [CrossRef]
  13. Lutterkort, D.; Peters, J.; Reif, U. Polynomial degree reduction in the L2-norm equals best Euclidean approximation of Bézier coefficients. Comput. Aided Geom. Des. 2000, 16, 607–612. [Google Scholar] [CrossRef]
  14. Ahn, Y.J.; Lee, B.; Park, Y.; Yoo, J. Constrained polynomial degree reduction in the L2-norm equals best weighted Euclidean approximation of Bézier coefficients. Comput. Aided Geom. Des. 2004, 21, 181–191. [Google Scholar] [CrossRef]
  15. Ait-Haddou, R.; Bartoň, M. Constrained multi-degree reduction with respect to Jacobi norms. Comput. Aided Geom. Des. 2016, 42, 23–30. [Google Scholar] [CrossRef]
  16. Szafnicki, B. A unified approach for degree reduction of polynomials in the Bernstein basis. Part I: Real polynomials. J. Comput. Appl. Math. 2002, 142, 287–312. [Google Scholar] [CrossRef]
  17. Piegl, L.; Tiller, W. Algorithm for degree reduction of B-spline curves. Comput. Aided Design 1995, 27, 101–110. [Google Scholar] [CrossRef]
  18. Wolters, H.; Wu, G.; Farin, G. Degree reduction of B-spline curves. In Geometric Modelling; Farin, G., Bieri, H., Brunnett, G., DeRose, T., Eds.; Springer: Berlin/Heidelberg, Germany, 1998. [Google Scholar]
  19. Yong, J.; Hu, S.; Sun, J.; Tan, X. Degree reduction of B-spline curves. Comput. Aided Geometric Des. 2001, 18, 117–128. [Google Scholar] [CrossRef]
  20. Gospodarczyk, P.; Lewanowicz, S.; Woźny, P. Degree reduction of composite Bézier curves. Appl. Math. Comput. 2017, 293, 40–48. [Google Scholar] [CrossRef]
  21. Lu, L. Explicit G2-constrained degree reduction of Bézier curves by quadratic optimization. J. Comput. Appl. Math. 2013, 253, 80–88. [Google Scholar] [CrossRef]
  22. Lu, L.; Wang, G. Optimal multi-degree reduction of Bézier curves with G2-continuity. Comput. Geom. Des. 2006, 23, 673–683. [Google Scholar] [CrossRef]
  23. Rababah, A.; Mann, S. Linear methods for G1, G2 and G3—Multi-degree reduction of Bézier curves. Comput.-Aided Des. 2013, 45, 405–414. [Google Scholar] [CrossRef]
Figure 1. Circle arc as a formally quartic curve.
Figure 1. Circle arc as a formally quartic curve.
Mathematics 12 02841 g001
Figure 2. Degree reduction with blossom inverse formula.
Figure 2. Degree reduction with blossom inverse formula.
Mathematics 12 02841 g002
Figure 3. Degree reduction with least squares formalism.
Figure 3. Degree reduction with least squares formalism.
Mathematics 12 02841 g003
Figure 4. Degree reduction with least squares formalism, enforcing the first and last vertices.
Figure 4. Degree reduction with least squares formalism, enforcing the first and last vertices.
Mathematics 12 02841 g004
Figure 5. Approximating curve for the logarithm function.
Figure 5. Approximating curve for the logarithm function.
Mathematics 12 02841 g005
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Fernández-Jambrina, L. Inverse Relations for Blossoms and Parametrisations of Rational Curves and Surfaces. Mathematics 2024, 12, 2841. https://doi.org/10.3390/math12182841

AMA Style

Fernández-Jambrina L. Inverse Relations for Blossoms and Parametrisations of Rational Curves and Surfaces. Mathematics. 2024; 12(18):2841. https://doi.org/10.3390/math12182841

Chicago/Turabian Style

Fernández-Jambrina, Leonardo. 2024. "Inverse Relations for Blossoms and Parametrisations of Rational Curves and Surfaces" Mathematics 12, no. 18: 2841. https://doi.org/10.3390/math12182841

APA Style

Fernández-Jambrina, L. (2024). Inverse Relations for Blossoms and Parametrisations of Rational Curves and Surfaces. Mathematics, 12(18), 2841. https://doi.org/10.3390/math12182841

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