Next Article in Journal
Predicting Fire Brigades Operational Breakdowns: A Real Case Study
Next Article in Special Issue
Further Properties of Quantum Spline Spaces
Previous Article in Journal
C*-Algebra Valued Partial b-Metric Spaces and Fixed Point Results with an Application
Previous Article in Special Issue
Normal Partner Curves of a Pseudo Null Curve on Dual Space Forms
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Improvement on the Upper Bounds of the Partial Derivatives of NURBS Surfaces

1
School of Mechanical Engineering and Automation, Beihang University, Beijing 100191, China
2
The Aviation Industry Corporation of China-Digital, Beijing 100028, China
3
School of Computer Engineering, Nanyang Technological University, 50 Nanyang Avenue, Singapore 63979, Singapore
*
Author to whom correspondence should be addressed.
Mathematics 2020, 8(8), 1382; https://doi.org/10.3390/math8081382
Submission received: 24 July 2020 / Revised: 10 August 2020 / Accepted: 12 August 2020 / Published: 18 August 2020
(This article belongs to the Special Issue Computer Aided Geometric Design)

Abstract

:
The Non-Uniform Rational B-spline (NURBS) surface not only has the characteristics of the rational Bézier surface, but also has changeable knot vectors and weights, which can express the quadric surface accurately. In this paper, we investigated new bounds of the first- and second-order partial derivatives of NURBS surfaces. A pilot study was performed using inequality theorems and degree reduction of B-spline basis functions. Theoretical analysis provides simple forms of the new bounds. Numerical examples are performed to illustrate that our method has sharper bounds than the existing ones.

1. Introduction

The bounds on derivatives of NURBS surfaces have very important applications for Computer Aided Geometric Design (CAGD). For example, various algorithms for parametric curves and surfaces, such as linear approximation, subdivision of trimmed surfaces and segmentation errors of surfaces [1], depend on knowing the bounds of the estimated derivatives. Therefore, a tight upper bound on the derivative contributes to improve the efficiency and stability of these algorithms.
For this reason, many researchers have concentrated on the bounds of the derivatives of representative curves and surfaces. Since Floater [2] gave a classical inequality to estimate the upper bounds of the first-order derivatives of Bézier curves, several improved results have been derived for rational Bézier curves and surfaces [3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]. Huang [19] obtained the bounds on derivatives of rational Bézier curves. Cao [20], Hu [21] and Liu [22] presented methods for the bounds estimation of the second-order derivatives of rational triangular Bézier surfaces. Wang [23] obtained the upper bounds expression of the third-order derivatives of the rational Bézier curves by moving control points. To the best of our knowledge, few published articles have studied the bounds of derivatives on NURBS surfaces. This usually involves tedious expressions and knot vector analysis of B-spline basis functions. Unfortunately, it is difficult to generalize the study of derivative bounds on NURBS surfaces to the second-order derivative form due to the complex product representation. One available reference for obtaining the bounds of the derivatives of rational Bézier surfaces was presented by Selimovic [24]. Subsequently, Wang [25] estimated the partial derivative bounds for NURBS surfaces.
As the case stands, the NURBS surfaces with the characteristics of changeable knot vectors and weights are a natural extension of the Bézier surfaces. They control the curves of the object surfaces better than traditional mesh modeling. Furthermore, NURBS surfaces are considered to be more suitable for complex surface modeling and surface subdivision. Obtaining a tight upper bound of the second-order derivative can achieve a more perfect surface tessellation without increasing the amount of data.
In this paper, we deduce powerful unified bounds of the first- and second-order derivatives of NURBS surfaces based on the degree reduction of the B-spline basis functions, geometrical properties of NURBS surfaces and some basic inequality skills. The bounds on first-order derivatives of NURBS surfaces given in this paper are sharper than the existing ones [24,25]. Furthermore, they are less affected by the change of weights, knot vectors and control points. We also present a novel estimation method for the bounds of the second-order derivatives of NURBS surfaces. The new proposed approach is more practical in application. For instance, the new method can also be applied to rational Bézier surfaces, which means it can be used for estimating derivatives of surfaces without judging the surface type. Moreover, tighter upper bounds than some existed methods are also given in our method. In the piecewise linear approximation algorithm proposed by Filip et al. [26], a more convergent derivative bound can make the result of surface subdivision more accurate. Both theoretical analysis and numerical examples are provided to verify the superiority of the proposed method.
The rest of the paper is organized as follows. Section 2 briefly reviews the definition and properties of NURBS surfaces. Furthermore, it introduces the preliminary lemma that will be needed later. Section 3 deduces new bounds on the first- and second-order partial derivatives of NURBS surfaces. The numerical experiments are shown in Section 4 to compare the existing bounds and the new bounds. Finally, Section 5 concludes this paper.

2. Preliminary

Before deducing the main results, we briefly introduce some definitions and notations in this section.
The degree reduction method of B-spline functions is given below. Let T = ( t 0 , t 1 , , t n ) be a knot vector. B-spline function of order p (degree k ) is defined as
{ N i , 1 ( t ) = { 1   for   t [ t i , t i + 1 ) 0   otherwise N i , p ( t ) = t     t i t i + p 1     t i N i , p 1 ( t ) + t i + p     t t i + p     t i + 1 N i + 1 , p 1 ( t ) w h e r e   p = k + 1 ,   0 i n p ,   2 p n ,   0 0 = 0
Let P 0 , P 1 , , P m ( P i R d ) be m + 1 control points, T = ( t 0 , t 1 , , t m + p + 1 ) knot vector. B-spline curve of order p for control points P i and knot vector T is defined as
C ( t ) = i = 0 m P i N i , p ( t )
The first derivative of the B-spline curve defined in (2) can be evaluated as
{ C ( t ) = i = 0 m N i , p ( t ) P i N i , p ( t ) = p     1 t i + p 1     t i N i , p 1 ( t ) p     1 t i + p     t i + 1 N i + 1 , p 1 ( t )
In cases where the first and the last p knots are identical, we have
{ N 0 , p 1 ( t ) 0 ,   t p 1 t 0 = 0 N m + 1 , p 1 ( t ) 0 ,   t m + p t m + 1 = 0
Equation (3) is proved in [27]. Using (1), (2) and (3), the degree of B-spline functions is reduced. The degree reduction method of B-spline curves can be extended to B-spline surfaces. Both u parameter direction and v parameter direction need to use a method of degree reduction. Projecting the result of the B-spline surfaces onto the ω = 1 hyperplane, the result of the NURBS surface is obtained.
The NURBS book [28] provides the definition of a NURBS surface. Given the control points P i j and positive weights ω i j , a NURBS surface R ( u , v ) of order p × q is defined by
R ( u , v ) = i = 0 n j = 0 m N i , p ( u ) N j , q ( v ) P i j ω i j i = 0 n j = 0 m N i , p ( u ) N j , q ( v ) ω i j = P ( u , v ) W ( u , v )
where the B-spline basis functions N i , p ( u ) , N j , q ( v ) ( i = 0 , , n , j = 0 , , m ) are defined on the knot vectors [ u 0 , u 1 , , u n + p ] and [ v 0 , v 1 , , v m + q ] , respectively, and assume that the two knot vectors satisfy the endpoint conditions:
u 0 = u 1 = u p 1 , u n + 1 = u n + 2 = u n + p ,   v 0 = v 1 = v q 1 ,   v m + 1 = v m + 2 = v m + q
According to the properties of B-spline basis functions, some basic derivative formulas of NURBS surfaces are listed in Appendix A; P u , P v , P u u , P v v , P u v , W u , W v , W u u , W v v , and W u v are included. It should also be noted that the notations Q i j u , Q i j v , R i j u , R i j v , Q i j u v , d i j u , d i j v , e i j u , e i j v , d i j u v , ω ¯ i j u , ω ¯ i j v , ω ˜ i j u , ω ˜ i j v , d ¯ i j u and d ¯ i j v are introduced in Appendix A to simplify the expressions, and these notations will appear repeatedly in later theorems and proofs. In addition, in the remainder of this paper, if the scope of an intermediate variable is not given, the variables i , I , and s are always from 0 to n , and the variable j , J , and t are from 0 to m .
Additionally, to estimate the derivative bounds of NURBS surfaces, the following lemma will be used for the proof of our results. A similar lemma was used in references [7,19] to estimate upper bounds for Bézier curves.
Lemma 1.
If a i ( t ) 0 , b i ( t ) > 0 , c i ( t ) 0 , i = 0 , , n , parameter t [ t 1 , t 2 ] , and t [ t 1 , t 2 ] , i = 0 n c i ( t ) b i ( t ) > 0 , then i = 0 n c i ( t ) a i ( t ) i = 0 n c i ( t ) b i ( t ) max i , t [ t 1 , t 2 ] a i ( t ) b i ( t ) .

3. Estimation of Bounds on the Partial Derivatives of NURBS Surfaces

In this section, we provide the bounds on the first- and second-order partial derivatives of the NURBS surfaces.

3.1. Bounds on the First-Order Partial Derivatives

Theorem 1.
For a NURBS surface R ( u , v ) of order p × q defined by (4), a bound on the magnitude of the first-order partial derivative with respect to u can be expressed as
R u ( p 1 ) max 1 i n , j , I , J ( P i j P I J ) ω i j ( P i 1 j P I J ) ω i 1 j ( u i + p 1 u i ) min { ω i j , ω i 1 j }
Proof. 
The first-order partial derivative of a NURBS surface with respect to u can be written as
R u = P u W P W u W 2
Rewrite the numerator and denominator of P u W     P W u W 2 , so that we can get the bound by applying Lemma 1. By replacing P u and W u in (7) with (A1) and (A6), it follows that
P u W P W u = ( p 1 ) i = 1 n j = 0 m I = 0 n J = 0 m N i , p 1 ( u ) N j , q ( v ) N I , p ( u ) N J , q ( v ) ( Q i j u P I J d i j u ) ω I J
Rearranging all the terms in W 2 by applying (A11), rewrite W 2 as
W 2 = i = 1 n j = 0 m I = 0 n J = 0 m N i , p 1 ( u ) N j , q ( v ) N I , p ( u ) N J , q ( v ) ω ¯ i j u ω I J
Now, considering the bound of R u , we have
R u = P u W     P W u W 2 = ( p     1 ) i = 1 n j = 0 m I = 0 n J = 0 m N i , p 1 ( u ) N j , q ( v ) N I , p ( u ) N J , q ( v ) ( Q i j u     P I J d i j u ) ω I J i = 1 n j = 0 m I = 0 n J = 0 m N i , p 1 ( u ) N j , q ( v ) N I , p ( u ) N J , q ( v ) ω ¯ i j u ω I J ( p     1 ) max 1 i n , j , I , J Q i j u     P I J d i j u ω ¯ i j u ( p     1 ) max 1 i n , j , I , J ( P i j     P I J ) ω i j     ( P i 1 j     P I J ) ω i 1 j ( u i + p 1     u i ) min { ω i j , ω i 1 j }
Similarly,
R v ( q 1 ) max i , 1 j m , I , J ( P i j P I J ) ω i j ( P i j 1 P I J ) ω i j 1 ( v j + q 1 v j ) min { ω i j , ω i j 1 }

3.2. Bounds on the Second-Order Partial Derivatives

Theorem 2.
For a NURBS surface R ( u , v ) of order p × q defined by (4), a bound on the magnitude of the second-order partial derivative with respect to u can be expressed as
R u u < ( p 1 ) max i , j , 1 I n , J , 2 s n , t max F i j I J s t u u ( u ) min { ω I J , ω I 1 J }   ·   min { ω s t , ω s 1 t , ω s 2 t }
where each component of F i j I J s t u u ( u ) denotes a linear polynomial of u ,
F i j I J s t u u ( u ) = ( p 2 ) ( R s t u P i j e s t u ) ω ¯ I J u 2 ( p 1 ) ( Q I J u P i j d I J u ) d ¯ s t u
Proof. 
The second-order partial derivative of a NURBS surface with respect to u can be written as
R u u = ( P u u W P W u u ) W 2 ( P u W P W u ) W u W 3
First, we need to estimate the bound of R u u using Lemma 1. The following theorem will use the main results (A1), (A3), (A6), (A8), (A11), (A13), and (A15) in Appendix A. Following degree reduction of B-spline functions and rearrange subscripts, we have
W 3 = i = 0 n j = 0 m I = 1 n J = 0 m s = 2 n t = 0 m N i , p ( u ) N j , q ( v ) N I , p 1 ( u ) N J , q ( v ) N s , p 2 ( u ) N t , q ( v ) ω i j ω ¯ I J u ω ˜ s t u
( P u u W P W u u ) W = ( p 1 ) ( p 2 ) i = 0 n j = 0 m I = 1 n J = 0 m s = 2 n t = 0 m N i , p ( u ) N j , q ( v ) N I , p 1 ( u ) N J , q ( v ) N s , p 2 ( u ) N t , q ( v ) ω i j ω ¯ I J u ( R s t u P i j e s t u )
( P u W P W u ) W u = ( p 1 ) 2 i = 0 n j = 0 m I = 1 n J = 0 m s = 2 n t = 0 m N i , p ( u ) N j , q ( v ) N I , p 1 ( u ) N J , q ( v ) N s , p 2 ( u ) N t , q ( v ) ω i j ( Q I J u P i j d I J u ) d ¯ s t u
( P u u W P W u u ) W 2 ( P u W P W u ) W u = ( p 1 ) i = 0 n j = 0 m I = 1 n J = 0 m s = 2 n t = 0 m N i , p ( u ) N j , q ( v ) N I , p 1 ( u ) N J , q ( v ) N s , p 2 ( u ) N t , q ( v ) F i j I J s t u u ( u ) ω i j
Before we estimate the bound of R u u , the minimum value of ω ¯ I J u ω ˜ s t u should be given. It is easy to confirm that
min ω ¯ I J u = min ( u u I ) ω I J + ( u I + p 1 u ) ω I 1 J u I + p 1 u I = min { ω I J , ω I 1 J }
min ω ˜ s t u = min ( u u s ) ω ¯ s t u + ( u s + p 2 u ) ω ¯ s 1 t u u s + p 2 u s min { ω s t , ω s 1 t , ω s 2 t }
Hence
ω ¯ I J u ω ˜ s t u min { ω I J , ω I 1 J }   ·   min { ω s t , ω s 1 t , ω s 2 t }
Each component of F i j I J s t u u ( u ) is a linear polynomial of u. By estimating the maximum value of F i j I J s t u u ( u ) , we obtain
max F i j I J s t u u ( u ) = max { F i j I J s t u u ( u α ) , F i j I J s t u u ( u β ) }
where [ u α , u β ] = [ u i , u i + p ] [ u I , u I + p 1 ] [ u s , u s + p 2 ] ; here, [ u i , u i + p ] , [ u I , u I + p 1 ] and [ u s , u s + p 2 ] are support intervals of B-spline basis functions N i , p ( u ) , N I , p 1 ( u ) and N s , p 2 ( u ) , and 0 i n , 1 I n , 2 s n . [ u α , u β ] may be empty, but it does not affect the following results. It is easy to obtain u α = max { u i , u I , u s } and u β = min { u i + p , u I + p 1 , u s + p 2 } . □
Based on the above discussion, the bound of the partial derivative can be estimated by
R u u = ( P u u W     P W u u ) W     2 ( P u W     P W u ) W u W 3 = ( p     1 ) i = 0 n j = 0 m I = 1 n J = 0 m s = 2 n t = 0 m N i , p ( t ) N j , q ( t ) N I , p 1 ( t ) N J , q ( t ) N s , p 2 ( t ) N t , q ( t ) F i j I J s t u u ( u ) ω i j i = 0 n j = 0 m I = 1 n J = 0 m s = 2 n t = 0 m N i , p ( t ) N j , q ( t ) N I , p 1 ( t ) N J , q ( t ) N s , p 2 ( t ) N t , q ( t ) ω i j ω ¯ I J u ω ˜ s t u ( p     1 ) max i , j , 1 I n , J , 2 s n , t max F i j I J s t u u ( u ) min { ω I J , ω I 1 J }   ·   min { ω s t , ω s 1 t , ω s 2 t }
Due to the symmetric property of parameter u and v of NURBS surface, the bound on R v v can be derived in the same way as R u u . It can be expressed as
R v v ( q 1 ) max i , j , I , 1 J m , s , 2 t m max F i j I J s t v v ( v ) min { ω I J , ω I J 1 }   ·   min { ω s t , ω s t 1 , ω s t 2 }
where each component of F i j I J s t v v ( v ) is a linear polynomial of v,
F i j I J s t v v ( v ) = ( q 2 ) ( R s t v P i j e s t v ) ω ¯ I J v 2 ( q 1 ) ( Q I J v P i j d I J v ) d ¯ s t v
From (22), it is easy to determine that
max F i j I J s t v v ( v ) = max { F i j I J s t v v ( v α ) , F i j I J s t v v ( v β ) }
where [ v α , v β ] = [ v j , v j + q ] [ v J , v J + q 1 ] [ v t , v t + q 2 ] ; here, [ v j , v j + q ] , [ v J , v J + q 1 ] and [ v t , v t + q 2 ] are support intervals of B-spline basis functions N j , q ( v ) , N J , q 1 ( v ) and N t , q 2 ( v ) , and v α = max { v j , v J , v t } , v β = min { v j + q , v J + q 1 , v t + q 2 } .
In the following, we will derive the bound on the mixed partial derivative in a similar way.
Theorem 3.
For a NURBS surface R ( u , v ) of order p × q defined by (4), its mixed partial derivative satisfies
R u v ( p 1 ) ( q 1 ) max i , j , 1 I n , J , s , 1 t m F i j I J s t u v min { ω I J , ω I 1 J }   ·   min { ω s t , ω s t 1 }
where F i j I J s t u v is a constant vector and can be expressed by the control points, weights and knot vectors of the NURBS surface R ( u , v ) explicitly as
F i j I J s t u v = Q I t u v ω s J Q I J u d s t v Q s t v d I J u P s J ω s J d I t u v + 2 P i j d I J u d s t v
Proof. 
The mixed partial derivative of a NURBS surface can be expressed as
R u v = P u v W 2 P u W v W P v W u W P W u v W + 2 P W u W v W 3
We deal with the numerator and denominator of R ( u , v ) separately. Applying (A11) and (A12), we have
W 3 = i = 0 n j = 0 m I = 1 n J = 0 m s = 0 n t = 1 m N i , p ( u ) N j , q ( v ) N I , p 1 ( u ) N J , q ( v ) N s , p ( u ) N t , q 1 ( v ) ω i j ω ¯ I J u ω ¯ s t v
By recalling the definitions of ω ¯ i j u and ω ¯ i j v in (A11) and (A12), the minimum of ω ¯ I J u ω ¯ s t v can be computed. We know that ω ¯ i j u and ω ¯ i j v are linear polynomials of u and v, respectively; thus, it is easy to obtain that
ω ¯ I J u min { ω I J , ω I 1 J }
ω ¯ s t v min { ω s t , ω s t 1 }
Next, we substitute the expressions of (A1), (A2), (A5), (A6), (A7) and (A10) into the numerator of (29). Therefore, we find that
P u v W 2 P u W v W P v W u W P W u v W + 2 P W u W v = ( p 1 ) ( q 1 ) i = 0 n j = 0 m I = 1 n J = 0 m s = 0 n t = 1 m N i , p ( u ) N j , q ( v ) N I , p 1 ( u ) N J , q ( v ) N s , p ( u ) N t , q 1 ( v ) ( Q I t u v ω s J Q I J u d s t v Q s t v d I J u P s J ω s J d I t u v + 2 P i j d I J u d s t v ) ω i j = ( p 1 ) ( q 1 ) i = 0 n j = 0 m I = 1 n J = 0 m s = 0 n t = 1 m N i , p ( u ) N j , q ( v ) N I , p 1 ( u ) N J , q ( v ) N s , p ( u ) N t , q 1 ( v ) F i j I J s t u v ω i j
Combing with (30), (31), (32) and (33), the following result is obtained.
R u v = P u v W 2     P u W v W     P v W u W     P W u v W   +   2 P W u W v W 3 ( p 1 ) ( q 1 ) i = 0 n j = 0 m I = 1 n J = 0 m s = 0 n t = 1 m N i , p ( u ) N j , q ( v ) N I , p 1 ( u ) N J , q ( v ) N s , p ( u ) N t , q 1 ( v ) F i j I J s t u v ω i j i = 0 n j = 0 m I = 1 n J = 0 m s = 0 n t = 1 m N i , p ( u ) N j , q ( v ) N I , p 1 ( u ) N J , q ( v ) N s , p ( u ) N t , q 1 ( v ) ω i j ω ¯ I J u ω ¯ s t v ( p 1 ) ( q 1 ) max i , j , 1 I n , J , s , 1 t m F i j I J s t u v min { ω I J , ω I 1 J }   ·   min { ω s t , ω s t 1 }

4. Numeric Examples

In this section, numerical experiments are provided to show the correctness and superiority of the proposed bounds of the derivative of NURBS surfaces. In the following experiments, the ratios of the approximate bounds of the NURBS surface to their exact bounds instead of the true value are used for comparison. Let the parameter domain of a NURBS surface be [ a 1 , a 2 ] × [ b 1 , b 2 ] . The repeated control points can be supplemented to ensure that the surface always meets the endpoint condition (5), and the properties of the surface will not change. The ground truth bound of a derivative is approximated by iteratively selecting the maximum value of the derivatives at the sampled points { ( u , v ) | u = a 1 + i / 100 · ( a 2 a 1 ) , v = b 1 + j / 100 · ( b 2 b 1 ) , 0 i , j 100 } on the surface. The horizontal axis represents the number of experiments, and the vertical axis means the ratio of the estimated bound to the exact bound. For each experiment, the closer the result is to the true bound (represented by the green line in the figure), the more accurate it is. All numeric examples are included in the Supplementary Materials.
Since our bounds of NURBS surfaces involve knot vectors, weights and control points, we compare ours with the results in Selimovic [24] and Wang [25] in three ways. In Figure 1 and Figure 2, we set the NURBS surface with control points R = [ ( 1 , 1 , 1 ) , ( 1 , 1 , 2 ) , ( 0 , 5 , 5 ) , ( 4 , 3 , 2 ) , ( 7 , 2 , 1 ) , ( 6 , 2 , 1 ) , ( 3 , 1 , 1 ) , ( 8 , 6 , 3 ) , ( 0 , 1 , 2 ) ] and corresponding knot vectors U   =   { 0 ,   1 ,   1.3 ,   2.1 ,   3.6 ,   4.0 } ,   V   =   { 0 ,   0.8 ,   1.2 ,   2.3 ,   3.1 ,   4.2 } . Weights are randomly generated in the interval [1,100]. This experiment was conducted 50 times. It can be seen that our results are closer to the true bounds than those in Selimovic [24] and Wang [25]. Moreover, the new bounds are less affected by fluctuations of weights. The effectiveness of the bounds on the second-order partial derivatives can also be seen in Figure 2.
The second comparison group (Figure 3 and Figure 4) has the same control points as the first group. The monotonic non-decreasing knot vectors of the NURBS surfaces are randomly sampled in interval [ 0 , 300 ] . Then the weights are defined as ω = [ 0.85 , 0.76 , 0.82 , 0.88 , 0.79 , 0.85 , 0.75 , 0.84 , 0.78 ] . Again, this experiment was performed 50 times. It can be observed that our bounds are closer to the green line than the results in Selimovic [24] and Wang [25]. It is easy to conclude that the knot vector has little effect on our bounds, proving that our bounds are stronger than those in Selimovic [24] and Wang [25]. It is worth noting that the method in Selimovic [24] fails in some examples. The situation of the | R u v | also illustrates the superiority of the new bounds.
In the third comparison group (Figure 5 and Figure 6), we set knot vectors U   =   { 0 ,   1 ,   1.3 ,   2.1 ,   3.6 ,   4.0 } , V   =   { 0 ,   0.8 ,   1.2 ,   2.3 ,   3.1 ,   4.2 } and weights ω = [ 0.85 , 0.76 , 0.82 , 0.88 , 0.79 , 0.85 , 0.75 , 0.84 , 0.78 ] . Control points are randomly selected in the interval [ 0 , 10 ] . Similarly, the experiment was conducted 50 times. It can be concluded from the comparison that our bounds are sharper than the known bounds in Selimovic [24] and Wang [25], confirming that the new bounds are more stable.
A set of all randomly selected variables comparison group is also provided in Figure 7 and Figure 8. We first select the same examples as in Wang [25]. Then we extend these examples by changing the parameters. Weights are randomly generated in the interval [ 1 , 100 ] , knot vectors are randomly sampled in the interval [ 0 , 300 ] , and control points are randomly selected in the interval [ 0 , 10 ] . The remaining cases of surfaces are provided in Appendix B. The experiment was still performed 50 times. Under the combined influence of the changes of the three factors, our method still guarantees better stability. The bounds on the second-order partial derivatives are very close to the real bound, confirming the superiority of the method.

5. Conclusions

This paper presents a novel method for estimating the bounds of the first- and second-order partial derivatives of NURBS surfaces. Theoretical analysis and numerical examples show that the new bounds we provide are closer to the exact bounds than the existing ones. Furthermore, our bounds are less affected by changes in weights, knot vectors and control points, verifying the superiority of our method. It is particularly useful for studies on computer graphics and complex geometric modeling. We compared the bounds of R u u ( u ) and R v v ( u ) of NURBS surfaces, and discovered that the results were similar to those in Section 4, and hence are not reported. The proposed method also performs well for the bounds of derivatives of rational Bézier surfaces. We tested some estimation methods using many numerical examples. The existing bounds in the literature have large errors when the weights change greatly. Thus, a natural problem is whether the influence of the weight factor can be reduced or not. This is a valuable research direction for studying the influence of the weight factors of different positions on the upper bounds of the derivatives of freeform surfaces.

Supplementary Materials

The following are available online at https://www.mdpi.com/2227-7390/8/8/1382/s1, Folder 1: Numeric examples of the first comparison group. Folder 2: Numeric examples of the second comparison group. Folder 3: Numeric examples of the second comparison group. Folder 4: Numeric examples of the fourth comparison group.

Author Contributions

Conceptualization, T.N. and Y.T.; methodology, T.N.,Y.T. and J.Z.; software, T.N.; validation, Y.T. and J.L.; formal analysis, Y.T.; investigation, T.N. and Z.C.; resources, Y.T.; data curation, Y.T.; writing—original draft preparation, Y.T. and J.L.; writing—review and editing, Y.T. and T.N.; visualization, J.Z.; supervision, T.N.; project administration, T.N.; funding acquisition, T.N. and Z.C.; All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by National Natural Science Foundation of China, grant number 51075021 and National Key Project of China GJXM92579.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

We provide some derivative formulas of NURBS surfaces. For a NURBS surface R ( u , v ) of order p × q defined by (4), the two knot vectors satisfy the endpoint condition (5). Then we have:
P u = ( p 1 ) i = 1 n j = 0 m N i , p 1 ( u ) N j , q ( v ) P i j ω i j P i 1 j ω i 1 j u i + p 1 u i = ( p 1 ) i = 1 n j = 0 m N i , p 1 ( u ) N j , q ( v ) Q i j u
P v = ( q 1 ) i = 0 n j = 1 m N i , p ( u ) N j , q 1 ( v ) P i j ω i j P i j 1 ω i j 1 v j + q 1 v j = ( q 1 ) i = 0 n j = 1 m N i , p ( u ) N j , q 1 ( v ) Q i j v
P u u = ( p 1 ) ( p 2 ) i = 2 n j = 0 m N i , p 2 ( u ) N j , q ( v ) Q i j u Q i 1 j u u i + p 2 u i = ( p 1 ) ( p 2 ) i = 2 n j = 0 m N i , p 2 ( u ) N j , q ( v ) R i j u
P v v = ( q 1 ) ( q 2 ) i = 0 n j = 2 m N i , p ( u ) N j , q 2 ( v ) Q i j v Q i j 1 v v j + q 2 v j = ( q 1 ) ( q 2 ) i = 0 n j = 2 m N i , p ( u ) N j , q 2 ( v ) R i j v
P u v = ( p 1 ) ( q 1 ) i = 1 n j = 1 m N i , p 1 ( u ) N j , q 1 ( v ) P i j ω i j     P i 1 j ω i 1 j     P i j 1 ω i j 1   +   P i 1 j 1 ω i 1 j 1 ( u i + p 1     u i ) ( v j + q 1     v j ) = ( p 1 ) ( q 1 ) i = 1 n j = 1 m N i , p 1 ( u ) N j , q 1 ( v ) Q i j u v
W u = ( p 1 ) i = 1 n j = 0 m N i , p 1 ( u ) N j , q ( v ) ω i j ω i 1 j u i + p 1 u i = ( p 1 ) i = 1 n j = 0 m N i , p 1 ( u ) N j , q ( v ) d i j u
W v = ( q 1 ) i = 0 n j = 1 m N i , p ( u ) N j , q 1 ( v ) ω i j ω i j 1 v j + q 1 v j = ( q 1 ) i = 0 n j = 1 m N i , p ( u ) N j , q 1 ( v ) d i j v
W u u = ( p 1 ) ( p 2 ) i = 2 n j = 0 m N i , p 2 ( u ) N j , q ( v ) d i j u d i 1 j u u i + p 2 u i = ( p 1 ) ( p 2 ) i = 2 n j = 0 m N i , p 2 ( u ) N j , q ( v ) e i j u
W v v = ( q 1 ) ( q 2 ) i = 0 n j = 2 m N i , p ( u ) N j , q 2 ( v ) d i j v d i j 1 v v j + q 2 v j = ( q 1 ) ( q 2 ) i = 0 n j = 2 m N i , p ( u ) N j , q 2 ( v ) e i j v
W u v = ( p 1 ) ( q 1 ) i = 1 n j = 1 m N i , p 1 ( u ) N j , q 1 ( v ) ω i j ω i 1 j ω i j 1 + ω i 1 j 1 ( u i + p 1 u i ) ( v j + q 1 v j ) = ( p 1 ) ( q 1 ) i = 1 n j = 1 m N i , p 1 ( u ) N j , q 1 ( v ) d i j u v
W = i = 1 n j = 0 m N i , p 1 ( u ) N j , q ( v ) ( u u i ) ω i j + ( u i + p 1 u ) ω i 1 j u i + p 1 u i = i = 1 n j = 0 m N i , p 1 ( u ) N j , q ( v ) ω ¯ i j u
W = i = 0 n j = 1 m N i , p ( u ) N j , q 1 ( v ) ( v v j ) ω i j + ( v j + q 1 v ) ω i j 1 v j + q 1 v j = i = 0 n j = 1 m N i , p ( u ) N j , q 1 ( v ) ω ¯ i j v
W = i = 2 n j = 0 m N i , p 2 ( u ) N j , q ( v ) ( u     u i ) ω ¯ i j u   +   ( u i + p 2     u ) ω ¯ i 1 j u u i + p 2     u i = i = 2 n j = 0 m N i , p 2 ( u ) N j , q ( v ) ω ˜ i j u
W = i = 0 n j = 2 m N i , p ( u ) N j , q 2 ( v ) ( v     v j ) ω ¯ i j v   +   ( v j + q 2     v ) ω ¯ i j 1 v v j + q 2     v j = i = 0 n j = 2 m N i , p ( u ) N j , q 2 ( v ) ω ˜ i j v
W u = ( p 1 ) i = 2 n j = 0 m N i , p 2 ( u ) N j , q ( v ) ( u     u i ) d i j u   +   ( u i + p 2     u ) d i 1 j u u i + p 2     u i = ( p 1 ) i = 2 n j = 0 m N i , p 2 ( u ) N j , q ( v ) d ¯ i j u
W v = ( q 1 ) i = 0 n j = 2 m N i , p ( u ) N j , q 2 ( v ) ( v     v j ) d i j v   +   ( v j + q 2     v ) d i j 1 v v j + q 2     v j = ( q 1 ) i = 0 n j = 2 m N i , p ( u ) N j , q 2 ( v ) d ¯ i j v

Appendix B

Appendix B provides some cases of NURBS surfaces. The control point is represented as R = ( x · ω , y · ω , z · ω , ω ) . It should be noted that the X, Y, and Z coordinate values are the products of the original coordinate values and the weight factors.
surface 1
knot vectors
U   = V =   { 0 ,   0 ,   0 ,   0 ,   0 ,   1 ,   1 ,   1 ,   1 ,   1 }
control points
R =   { ( 1100 ,   0 ,   1152.16 ,   1 ) , ( 1346.039 ,   0 ,   1179.584 ,   0.9 ) , ( 1759.944 ,   0 ,   1183.001 ,   0.85 ) , ( 2106.247 ,   0 ,   1170.398 ,   0.9 ) , ( 2423.92 ,   0 ,   1125.107 ,   1 ) ( 1100 ,   110 ,   1152.16 ,   1 ) , ( 1346.042 ,   107.497 ,   1179.584 ,   0.9 ) , ( 1759.944 ,   106.267 ,   1183.004 ,   0.85 ) , ( 2106.256 ,   105.456 ,   1170.398 ,   0.9 ) , ( 2423.93 ,   105.717 ,   1125.106 ,   1 ) ( 1103.501 ,   261.46 ,   1149.032 ,   1 ) , ( 1346.958 ,   255.018 ,   1174.579 ,   0.9 ) , ( 1757.105 ,   251.123 ,   1179.499 ,   0.85 ) , ( 2105.748 ,   248.074 ,   1166.389 ,   0.9 ) , ( 2423.757 ,   247.157 ,   1121.237 ,   1 ) ( 1112.49 ,   381.271 ,   1143.468 ,   1 ) , ( 1352.778 ,   374.12 ,   1167.984 ,   0.9 ) , ( 1759.297 ,   370.788 ,   1176.456 ,   0.85 ) , ( 2107.294 ,   368.714 ,   1159.028 ,   0.9 ) , ( 2423.544 ,   369.86 ,   1114.724 ,   1 ) ( 1124.09 ,   477.71 ,   1133.9 ,   1 ) , ( 1355.83 ,   468.671 ,   1158.768 ,   0.9 ) , ( 1762.75 ,   459.989 ,   1167.514 ,   0.85 ) , ( 2109.434 ,   455.245 ,   1147.262 ,   0.9 ) , ( 2423.214 ,   454.897   1106.062 ,   1 ) }
surface 2
knot vectors
U   = V =   { 0 ,   0 ,   0 ,   0.5 ,   1 ,   1 ,   1 }
control points
R =   { ( 7.8 ,   16.9 ,   13.65 ,   0.65 ) , ( 23.76 ,   7.92 ,   8.64 ,   0.72 ) , ( 4.15 ,   24.07 ,   14.94 ,   0.83 ) , ( 34.78 ,   7.52 ,   11.28 ,   0.94 ) ( 0.82 ,   11.48 ,   5.74 ,   0.82 ) , ( 4.76 ,   4.08 ,   6.12 ,   0.68 ) , ( 2.96 ,   14.06 ,   7.4 ,   0.74 ) , ( 28.21 ,   20.02 ,   11.83 ,   0.91 ) ( 1.38 ,   1.38 ,   4.83 ,   0.69 ) , ( 18.24 ,   15.96 ,   6.84 ,   0.76 ) , ( 33.3 ,   20.7 ,   18 ,   0.9 ) , ( 20.16 ,   8.4 ,   1.68 ,   0.84 ) ( 23.76 ,   22 ,   7.92 ,   0.88 ) , ( 2.84 ,   6.39 ,   2.13 ,   0.71 ) , ( 10.14 ,   10.92 ,   8.58 ,   0.78 ) , ( 13.86 ,   18.48 ,   7.26 ,   0.66 ) }
surface 3
knot vectors
U   = V =   { 0 ,   0 ,   0 ,   1 ,   1 ,   1 }
control points
R =   { ( 680 ,   0.0 ,   0.0 ,   85 ) , ( 144 ,   216 ,   360 ,   72 ) , ( 486 ,   162 ,   324 ,   81 ) ( 264 ,   352 ,   88 ,   88 ) , ( 525 ,   75 ,   225 ,   75 ) , ( 498 ,   332 ,   83 ,   83 ) ( 675 ,   300 ,   225 ,   75 ) , ( 336 ,   168 ,   168 ,   84 ) , ( 390 ,   234 ,   468 ,   78 ) }
surface 4
knot vectors
U = V =   { 0 ,   0 ,   0 ,   0 ,   1 ,   1 ,   1 ,   1 }
control points
R =   { ( 936 ,   2028 ,   1638 ,   78 ) , ( 396 ,   132 ,   144 ,   12 ) , ( 235 ,   1363 ,   846 ,   47 ) , ( 1628 ,   352 ,   528 ,   44 ) ( 96 ,   1344 ,   672 ,   96 ) , ( 294 ,   252 ,   378 ,   42 ) , ( 220 ,   1045 ,   550 ,   55 ) , ( 372 ,   264 ,   156 ,   12 ) ( 66 ,   66 ,   231 ,   33 ) , ( 408 ,   357 ,   153 ,   17 ) , ( 2442 ,   1518 ,   1320 ,   66 ) , ( 2088 ,   870 ,   174 ,   87 ) ( 594 ,   550 ,   198 ,   22 ) , ( 68 ,   153 ,   51 ,   17 ) , ( 546 ,   588 ,   462 ,   0.78 ) 42 , ( 1827 ,   2436 ,   957 ,   87 ) }

References

  1. Zheng, J.; Sederberg, T.W. Estimating tessellation parameter intervals for rational curves and surfaces. ACM Trans. Graph. 2000, 19, 56–77. [Google Scholar] [CrossRef]
  2. Floater, M.S. Derivatives of rational Bezier curves. Comput. Aided Geom. Des. 1992, 9, 161–174. [Google Scholar] [CrossRef]
  3. Saito, T.; Wang, G.-J.; Sederberg, T.W. Hodographs and normals of rational curves and surfaces. Comput. Aided Geom. Des. 1995, 12, 417–430. [Google Scholar] [CrossRef] [Green Version]
  4. Wang, G.-J.; Sederberg, T.W.; Saito, T. Partial derivatives of rational Bezier surfaces. Comput. Aided Geom. Des. 1997, 14, 377–381. [Google Scholar] [CrossRef]
  5. Thomas, H. On the derivatives of second and third degree rational Bézier curves. Comput. Aided Geom. Design 1999, 16, 157–163. [Google Scholar] [CrossRef]
  6. Xie, B.-H.; Wang, G.-J. Approximating the derivative bounds of parametric curves and applying to curve rasterization. J. Softw. 2003, 14, 2106–2112. [Google Scholar]
  7. Wu, Z.K.; Lin, F.; Soon, S.H.; Yun, C.K. Evaluation of difference bounds for computing rational Bezier curves and surfaces. Comput. Graph.-UK 2004, 28, 551–558. [Google Scholar] [CrossRef]
  8. Zhang, R.-J.; Ma, W. Some improvements on the derivative bounds of rational Bezier curves and surfaces. Comput. Aided Geom. Des. 2006, 23, 563–572. [Google Scholar] [CrossRef]
  9. Xu, H.; Wang, G. Hodograph computation and bound estimation for rational B-spline curves. Prog. Nat. Sci. 2007, 17, 988–992. [Google Scholar]
  10. Bez, H.E.; Bez, N. On derivative bounds for the rational quadratic Bezier paths. Comput. Aided Geom. Des. 2013, 30, 254–261. [Google Scholar] [CrossRef]
  11. Bez, H.E.; Bez, N. New minimal bounds for the derivatives of rational Bezier paths and rational rectangular Bezier surfaces. Appl. Math. Comput. 2013, 225, 475–479. [Google Scholar] [CrossRef] [Green Version]
  12. Deng, C.; Li, Y. A new bound on the magnitude of the derivative of rational Bézier curve. Comput. Aided Geom. Des. 2013, 30, 175–180. [Google Scholar] [CrossRef]
  13. Li, Y.; Deng, C.; Jin, W.; Zhao, N. On the bounds of the derivative of rational Bezier curves. Appl. Math. Comput. 2013, 219, 10425–10433. [Google Scholar] [CrossRef]
  14. Zhang, R.-J. Improved derivative bounds of the rational quadratic Bezier curves. Appl. Math. Comput. 2015, 250, 492–496. [Google Scholar] [CrossRef]
  15. Jin, W.; Deng, C.; Li, Y.; Liu, J. Derivative bound estimations on rational conic Bezier curves. Appl. Math. Comput. 2014, 248, 113–117. [Google Scholar] [CrossRef]
  16. Zhang, R.-J.; Jiang, L. A conjecture on the derivative bounds of rational Bézier curves. Int. J. Model. Simul. 2016, 36, 20–27. [Google Scholar] [CrossRef]
  17. Zheng, J.M. Minimizing the maximal ratio of weights of a rational Bézier curve. Comput. Aided Geom. Des. 2005, 22, 275–280. [Google Scholar] [CrossRef]
  18. Cai, H.-J.; Wang, G.-J. Minimizing the maximal ratio of weights of rational Bézier curves and surfaces. Comput. Aided Geom. Des. 2010, 27, 746–755. [Google Scholar] [CrossRef]
  19. Huang, Y.; Su, H. The bound on derivatives of rational Bezier curves. Comput. Aided Geom. Des. 2006, 23, 698–702. [Google Scholar] [CrossRef]
  20. Cao, J.; Chen, W.; Wang, G.Z. Bound Estimations on Lower Derivatives of Rational Triangular Bézier Surfaces. J. Softw. 2007, 18, 2326–2335. [Google Scholar] [CrossRef] [Green Version]
  21. Hu, Q.-Q.; Wang, G.-J. Improved bounds on partial derivatives of rational triangular Bezier surfaces. Comput. Aided Des. 2007, 39, 1113–1119. [Google Scholar] [CrossRef]
  22. Liu, Y.; Zeng, X.; Cao, J. An improvement on the upper bounds of the magnitudes of derivatives of rational triangular Bezier surfaces. Comput. Aided Geom. Des. 2014, 31, 265–276. [Google Scholar] [CrossRef]
  23. Wang, G.-J.; Tai, C.-L. On the convergence of hybrid polynomial approximation to higher derivatives of rational curves. J. Comput. Appl. Math. 2008, 214, 163–174. [Google Scholar] [CrossRef]
  24. Selimovic, I. New bounds on the magnitude of the derivative of rational Bezier curves and surfaces. Comput. Aided Geom. Des. 2005, 22, 321–326. [Google Scholar] [CrossRef]
  25. Wang, G.-J.; Xu, H.-X.; Hu, Q.-Q. Bounds on partial derivatives of NURBS surfaces. Appl. Math.-A J. Chin. Univ. 2017, 32, 281–293. [Google Scholar] [CrossRef]
  26. Filip, D.; Magedson, R.; Markot, R. Surface algorithms using bounds on derivatives. Comput. Aided Geom. Des. 1986, 3, 295–311. [Google Scholar] [CrossRef]
  27. Prochazkova, J. Derivative of B-Spline function. In Proceedings of the 25th Conference on Geometry and Computer Graphics, Prague, Czech Republic, 12–16 September 2005. [Google Scholar]
  28. Piegl, L.; Tiller, W. The NURBS Book; Springer: Berlin/Heidelberg, Germany, 2012. [Google Scholar]
Figure 1. Comparison between bounds on the first-order derivative R u ( u ) of NURBS surfaces with fixed control points, fixed knot vectors and randomly selected weights.
Figure 1. Comparison between bounds on the first-order derivative R u ( u ) of NURBS surfaces with fixed control points, fixed knot vectors and randomly selected weights.
Mathematics 08 01382 g001
Figure 2. Comparison between bounds on the second-order derivative R u v ( u ) of NURBS surfaces with fixed control points, fixed knot vectors and randomly selected weights.
Figure 2. Comparison between bounds on the second-order derivative R u v ( u ) of NURBS surfaces with fixed control points, fixed knot vectors and randomly selected weights.
Mathematics 08 01382 g002
Figure 3. Comparison between bounds on the first-order derivative R u ( u ) of NURBS surfaces with fixed control points, fixed weights and randomly selected knot vectors.
Figure 3. Comparison between bounds on the first-order derivative R u ( u ) of NURBS surfaces with fixed control points, fixed weights and randomly selected knot vectors.
Mathematics 08 01382 g003
Figure 4. Comparison between bounds on the second-order derivative R u v ( u ) of NURBS surfaces with fixed control points, fixed weights and randomly selected knot vectors.
Figure 4. Comparison between bounds on the second-order derivative R u v ( u ) of NURBS surfaces with fixed control points, fixed weights and randomly selected knot vectors.
Mathematics 08 01382 g004
Figure 5. Comparison between bounds on the first-order derivative R u ( u ) of NURBS surfaces with fixed knot vectors, fixed weights and randomly selected control points.
Figure 5. Comparison between bounds on the first-order derivative R u ( u ) of NURBS surfaces with fixed knot vectors, fixed weights and randomly selected control points.
Mathematics 08 01382 g005
Figure 6. Comparison between bounds on the second-order derivative R u v ( u ) of NURBS surfaces with fixed knot vectors, fixed weights and randomly selected control points.
Figure 6. Comparison between bounds on the second-order derivative R u v ( u ) of NURBS surfaces with fixed knot vectors, fixed weights and randomly selected control points.
Mathematics 08 01382 g006
Figure 7. Comparison between bounds on the first-order derivative R u ( u ) of NURBS surfaces with randomly selected knot vectors, weights and control points.
Figure 7. Comparison between bounds on the first-order derivative R u ( u ) of NURBS surfaces with randomly selected knot vectors, weights and control points.
Mathematics 08 01382 g007
Figure 8. Comparison between bounds on the second-order derivative R u v ( u ) of NURBS surfaces with randomly selected knot vectors, weights and control points.
Figure 8. Comparison between bounds on the second-order derivative R u v ( u ) of NURBS surfaces with randomly selected knot vectors, weights and control points.
Mathematics 08 01382 g008

Share and Cite

MDPI and ACS Style

Tian, Y.; Ning, T.; Li, J.; Zheng, J.; Chen, Z. An Improvement on the Upper Bounds of the Partial Derivatives of NURBS Surfaces. Mathematics 2020, 8, 1382. https://doi.org/10.3390/math8081382

AMA Style

Tian Y, Ning T, Li J, Zheng J, Chen Z. An Improvement on the Upper Bounds of the Partial Derivatives of NURBS Surfaces. Mathematics. 2020; 8(8):1382. https://doi.org/10.3390/math8081382

Chicago/Turabian Style

Tian, Ye, Tao Ning, Jixing Li, Jianmin Zheng, and Zhitong Chen. 2020. "An Improvement on the Upper Bounds of the Partial Derivatives of NURBS Surfaces" Mathematics 8, no. 8: 1382. https://doi.org/10.3390/math8081382

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