# Dynamic evaluation of exponential polynomial curves and surfaces via basis transformation

It is shown in "SIAM J. Sci. Comput. 39 (2017):B424-B441" that free-form curves used in CAGD (computer aided geometric design) can usually be represented as the solutions of linear differential systems and points and derivatives on the curves can be evaluated dynamically by solving the differential systems numerically. In this paper we present an even more robust and efficient algorithm for dynamic evaluation of exponential polynomial curves and surfaces. Based on properties that spaces spanned by general exponential polynomials are translation invariant and polynomial spaces are invariant with respect to a linear transform of the parameter, the transformation matrices between bases with or without translated or linearly transformed parameters are explicitly computed. Points on curves or surfaces with equal or changing parameter steps can then be evaluated dynamically from a start point using a pre-computed matrix. Like former dynamic evaluation algorithms, the newly proposed approach needs only arithmetic operations for evaluating exponential polynomial curves and surfaces. Unlike conventional numerical methods that solve a linear differential system, the new method can give robust and accurate evaluation results for any chosen parameter steps. Basis transformation technique also enables dynamic evaluation of polynomial curves with changing parameter steps using a constant matrix, which reduces time costs significantly than computing each point individually by classical algorithms.

## Authors

• 3 publications
• 24 publications
11/20/2015

### Bezier curves and surfaces based on modified Bernstein polynomials

In this paper, we use the blending functions of Bernstein polynomials wi...
11/24/2021

### Construction and evaluation of PH curves in exponential-polynomial spaces

In the past few decades polynomial curves with Pythagorean Hodograph (fo...
01/02/2020

### Continuation of global solution curves using global parameters

This paper provides both the theoretical results and numerical calculati...
08/15/2017

### An OpenGL and C++ based function library for curve and surface modeling in a large class of extended Chebyshev spaces

Applying original and existing theoretical results, we propose a platfor...
05/12/2015

### Control point based exact description of curves and surfaces in extended Chebyshev spaces

Extended Chebyshev spaces that also comprise the constants represent lar...
06/13/2006

### Fast and Simple Methods For Computing Control Points

The purpose of this paper is to present simple and fast methods for comp...
04/14/2014

### Control point based exact description of higher dimensional trigonometric and hyperbolic curves and multivariate surfaces

Using the normalized B-bases of vector spaces of trigonometric and hyper...
##### This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

## 1 Introduction

The exponential polynomials that lie in the null spaces of constant coefficient linear differential operators have nice properties and they have often been used for the construction of curves and surfaces in the fields of computer aided geometric design [1, 7, 10]. The frequently used exponential polynomials are polynomials, trigonometric functions, hyperbolic functions or their mixtures. Besides polynomial curves and surfaces, typical curves and surfaces such as ellipses, cycloids, involute, helices, etc. can be represented by exponential polynomials exactly [15, 19, 22, 30]. By choosing a proper parameter interval, normalized B-bases that are useful for optimal shape design can be obtained from the exponential polynomials [4, 16, 23, 25]. Algebraic trigonometric polynomials can be used to define curves intrinsically or design curves with Pythagorean hodographs [27, 21, 20].

Many algorithms have been given in the literature to evaluate single or sequences of points and derivatives on polynomial curves and surfaces. The de Casteljau algorithm or the rational de Casteljau algorithm can be employed to robustly evaluate single points on Bézier or rational Bézier curves [7, 5]. If for rendering or machining purposes, sequences of points have to be evaluated in an efficient way [6, 8]. Particularly, the forward differencing approaches have been successfully employed for fast rendering of Bézier or NURBS (Non-Uniform Rational B-spline) curves and surfaces [13, 14].

Differently from polynomial curves and surfaces that can be evaluated by arithmetic operations, points on curves and surfaces which are constructed by transcendental functions or mixtures of polynomials and transcendental functions have to be evaluated by inquiring pre-computed special function tables or loading special mathematical libraries. Though this seems feasible for many modern computing machines [11, 18], evaluating general exponential polynomial curves and surfaces by only arithmetic operations without any pre-computed tables or special math library can have its own advantages. Particularly, the speed and efficiency of evaluation play important roles in the fields of CNC machining and interactive rendering.

Recently, we have shown that free-form curves used in CAGD are usually the solutions of linear differential systems and points and derivatives on the curves can be obtained by solving the linear differential systems numerically [29]. Particularly, when the parameter step is fixed, points on the curve can be evaluated dynamically by multiplying a pre-computed constant matrix with prior points. When an iso-parameter curve on a surface is to be evaluated, a differential system will first be established and a transformation matrix will be computed based on the differential system for evaluating the curve. The method is simple and universal and points on polynomial as well as transcendental curves can be evaluated with only arithmetic operations. However, the evaluation accuracy varies much when the differential systems have been solved by different numerical methods or the parameter step has been chosen different values. If the constant matrix for dynamic evaluation is given by the exponential of the coefficient matrix of a linear differential system, careful attention should be paid for robust computation of the matrix [17].

Instead of solving linear differential systems numerically, in this paper we derive the constant matrices for dynamic evaluation of curves and surfaces using basis transformation. This is based on the fact that spaces spanned by the exponential polynomial basis are invariant with respect to the translation of the parameter while curves and surfaces used for CAGD are usually constructed by exponential polynomials. By using identities of exponential polynomials, we compute explicitly the transformation matrices between bases with or without the translation of the parameter. Combined with control points, a constant matrix for evaluating points on an exponential polynomial curve with equal parameter steps is derived. It is also noticed that a polynomial space of degree no more than a given number is even invariant with respect to any linear transformation of the parameter. The matrix for polynomial basis transformation can then be used to evaluate points on polynomial curves with changing parameter steps. Based on basis transformation, a family of surface curves with various iso-parameters can be evaluated dynamically using a single matrix and surface curves with skew parametrization can also be evaluated dynamically with a pre-computed constant matrix.

The rest of the paper is structured as follows. In Section 2 we present explicit formulae for computing basis transformation for exponential polynomials. In Section 3 robust algorithm for evaluating points on general exponential polynomial curves with fixed parameter steps, dynamic algorithm for evaluating polynomial curves with changing parameter steps, and dynamic algorithms for evaluating iso-parameter curves on surfaces or surface curves with skew parametrization will be given. Examples and comparisons with some known methods for curve and surface evaluation are given in Section 4. Section 5 concludes the paper with a brief summary of our work.

## 2 Basis transformation for spaces composed of exponential polynomials

As parametric curves and surfaces are usually defined by basis functions together with coefficients or control points, a parametric curve or surface can then be evaluated efficiently by exploring distinguished properties of the basis. This section presents explicit transformation formulae for exponential polynomial basis which will be used for robust and efficient curve or surface evaluation in next section.

### 2.1 Spaces spanned by exponential polynomials

Suppose that a linear differential operator with constant coefficients is given by

 L=(ddt−λ0)⋯(ddt−λn),

where , , and is closed under conjugation. A function that satisfies is referred an exponential polynomial. Let be the null space of the linear differential operator. From the knowledge of differential equation [2] we know that , where , , are the basis functions of the space. Based on the definition of exponential polynomials we have the following proposition.

###### Proposition 1

Suppose that is a constant coefficient linear differential operator and is the null space of the operator. Let be an arbitrary given real number. If function satisfies , it yields that and .

Proposition 1 states that the null space of a linear differential operator is closed with respect to a differentiation and the space is also invariant with respect to any translation of the parameter.

Before deriving formulae for basis transformation, we present the definition of union or product of two sets of bases. Assume and

, where the capital ’T’ means the transpose of a vector or matrix. The union of

and is given by

 Φa(t)∪Φb(t)=(a0(t),…,an(t),b0(t),…,bm(t))T. (1)

Let . The product of and is obtained as

 Φa(t)⊗Φb(t)=∪ni=0ai(t)Φb(t). (2)
###### Proposition 2

Suppose spaces spanned by basis or are closed with respect to a differentiation. Then, spaces spanned by the union or by the product are also closed with respect to a differentiation.

###### Proof

Because spaces spanned by or are closed with respect to a differentiation, there exist matrix of order and matrix of order such that and . Then, the derivative of can be computed as

 ddt(Φa(t)∪Φb(t))=diag(A,B)Φa(t)∪Φb(t).

Let and be the identity matrices of order or order , respectively. The derivative of can be computed by

 ddt(Φa(t)⊗Φb(t))=Φ′a(t)⊗Φb(t)+Φa(t)⊗Φ′b(t)=(A⊗Im+1)Φa(t)⊗Φb(t)+(In+1⊗B)Φa(t)⊗Φb(t)=(A⊗Im+1+In+1⊗B)Φa(t)⊗Φb(t).

Therefore, the spaces spanned by or by are also closed under differentiation. This completes the proof.

In the following we assume that the basis functions are real. Particularly, we assume that the bases are obtained by unions or products of a few elementary basis functions. Let , and

. The basis functions for free-form curves and surfaces in CAGD can usually be obtained by recursive compositions or tensor products of the elementary bases. Several popular basis vectors for construction of free-form curves and surfaces in CAGD and their elementary decomposition can be found in Table

1.

### 2.2 Transformation of general exponential polynomial basis with parameter translation

In this subsection we show that the space spanned by general exponential polynomial basis is invariant with respect to a translation of the parameter and a simple and robust method for computing the transformation matrix between different bases will be presented.

###### Proposition 3

Suppose is closed with respect to a differentiation. Let be an arbitrary real number. It yields that . There exists a matrix such that .

###### Proof

Because , , there exists a matrix such that satisfies a linear differential system

 {Φ′(t)=AΦ(t),   t∈R.Φ(t0)=Φ0, (3)

From Equation (3), can be represented as . Therefore, we have . Let . Since and , we have . This proves the proposition.

###### Proposition 4

Suppose and , , . The space is invariant when parameter or parameter or both of the two parameters have been translated.

###### Proof

We first prove that the space is invariant when the parameter or has been translated. Let . Because , , there exists matrix such that the basis vector satisfy . Therefore, we have for any selected real number . From this expression of , we have . Similarly, we have . Denote and . Because matrices and are non-singular, it implies that both and are basis vectors of the space .

Now we prove that the space is invariant when both parameters and have been translated. In fact, . Since , we concludes that is also the basis vector of space .

Though the transformation matrices for bases with or without translation of the parameters are defined by exponentials of constant matrices, accurate and efficient evaluation of exponentials of matrices is not a trivial task [17]. We propose to compute the transformation matrix for exponential polynomial basis with translated parameter directly. Particularly, we derive the transformation matrices for polynomials, trigonometric functions and hyperbolic functions using the identities of the functions first and then compute the transformation matrices for even more general basis through their elementary decompositions.

Assume , and are the basis vectors as given in Subsection 2.1. With simple computation, the transformation for basis vector can be obtained as , where

 MhUn=⎛⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜⎝100⋯0h10⋯0h22h1⋯0⋮⋮⋮⋱⋮hn(n1)hn−1(n2)hn−2⋯1⎞⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟⎠.

Similarly, the transformation matrices for and are

 MhV=(cosh−sinhsinhcosh)

and

 MhW=(coshhsinhhsinhhcoshh),

respectively. It yields that and .

For a small parameter step , the values of , , and can be computed efficiently with only arithmetic operations by Taylor expansion:

 sinh=h−h33!+h55!−h77!+h99!−h1111!+h1313!−h1515!cosh=1−h22!+h44!−h66!+h88!−h1010!+h1212!−h1414!−h1616!sinhh=h+h33!+h55!+h77!+h99!+h1111!+h1313!+h1515!coshh=1+h22!+h44!+h66!+h88!+h1010!+h1212!+h1414!+h1616!

The above expressions can be evaluated by Horner algorithm in practice. From the definition of and we know that and . If the parameter step is larger than a threshold, for example , we can choose a proper integer and compute the elements of matrix or first, and then compute the matrix or by matrix multiplication. Similarly, transformation matrices with other parameter steps can be computed by , , etc.

Assume the transformation matrices for or are and , respectively. The transformation matrix for can be computed as

 Φ1(t+h)∪Φ2(t+h)=diag(M1,M2)Φ1(t)∪Φ2(t). (4)

The transformation matrix for is obtained as follows

 Φ1(t+h)⊗Φ2(t+h)=M1⊗M2Φ1(t)⊗Φ2(t), (5)

where is also known as the Kronecker product of two matrices.

Similar to the product of two univariate bases, the transformation matrix for the tensor product basis of a surface can be computed easily. Suppose that , and , the transformation matrix for is computed by

 Φ(u+h1,v+h2)=Φ1(u+h1)⊗Φ2(v+h2)=M1⊗M2Φ1(u)⊗Φ2(v)=M1⊗M2Φ(u,v). (6)

By Equations (4), (5) and (6), the transformation matrices for even more complicated basis will be computed accurately and robustly.

### 2.3 Transformation of polynomial basis with linear transformation of the parameter

In this subsection we show that space of polynomials of degree no more than a given number is invariant with respect to a linear transformation of the parameter. Particularly, the transformation matrix for Bernstein basis will be given.

###### Proposition 5

Let . The space is invariant with respect to a linear transformation of the parameter.

###### Proof

Let . Assume and are real numbers. Replacing within by , we have , where

 CA=⎛⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜⎝100…0a1a00…0a212a0a1a20…0⋮⋮⋮⋱⋮an1(n1)a0an−11(n2)a20an−21…an0⎞⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟⎠.

Because , we have . Therefore, is another set of basis of the space . The proposition is proven.

Besides power basis, another popular basis used for polynomial curve and surface modeling is Bernstein basis. We derive transformation matrix for Bernstein basis under a linear transformation of the parameter. The transformation matrix will be used for dynamic evaluation of Bézier curves and surfaces with constant or changing parameter steps.

###### Proposition 6

Assume , where , , are Bernstein basis functions. Assume are real numbers. Then the basis vector satisfies

 ΦB((1−t)a+tb)=Ca,bΦB(t), (7)

where

 Ca,b=⎛⎜ ⎜ ⎜ ⎜ ⎜⎝c00c01…c0nc10c11…c1n⋮⋮⋱⋮cn0cn1…cnn⎞⎟ ⎟ ⎟ ⎟ ⎟⎠

and , .

###### Proof

Let , , , . The basis vector can be represented as . Assume and are identity or shift operators which satisfy and . The basis vector can be reformulated as . Then we have

 ΦB((1−t)a+tb)={[1−(1−t)a−tb]I+[(1−t)a+tb]E}ne0={[(1−a)I+aE](1−t)+[(1−b)I+bE]t}ne0=∑nl=0[(1−b)I+bE]l[(1−a)I+aE]n−le0Bl,n(t)=∑nl=0qlBl,n(t),

where

 ql=[(1−b)I+bE]l[(1−a)I+aE]n−le0=∑li=0EiBi,l(b)∑n−lj=0EjBj,n−l(a)e0=∑nk=0∑i+j=k0≤i≤l,0≤j≤n−lBi,l(b)Bj,n−l(a)Eke0=∑nk=0cklek.

As , , representing in matrix form, we have

 ΦB((1−t)a+tb)=(q0q1…qn)⎛⎜ ⎜ ⎜ ⎜ ⎜⎝B0,n(t)B1,n(t)⋮Bn,n(t)⎞⎟ ⎟ ⎟ ⎟ ⎟⎠=⎛⎜ ⎜ ⎜ ⎜ ⎜⎝c00c01…c0nc10c11…c1n⋮⋮⋱⋮cn0cn1…cnn⎞⎟ ⎟ ⎟ ⎟ ⎟⎠⎛⎜ ⎜ ⎜ ⎜ ⎜⎝B0,n(t)B1,n(t)⋮Bn,n(t)⎞⎟ ⎟ ⎟ ⎟ ⎟⎠=Ca,bΦB(t).

This proves the proposition.

## 3 Dynamic evaluation of exponential polynomial curves and surfaces

In this section we show that curves and surfaces defined by basis and control points can be evaluated dynamically by applying the basis transformation recursively. If a linear differential system is available, the derivatives of the curve or surface at the evaluated points can be obtained simultaneously.

### 3.1 Dynamic evaluation of exponential polynomial curves

Suppose a free-form curve is defined by , where , , are the control points. Let . The curve can be represented as , where and is also referred as the normal curve in  [9]. If , we first lift all control points in space by adding additional coordinates as that presented in [29]. Assume the lifted curve is , where , . When a point on has been evaluated, the point on will be obtained just by choosing the first few coordinates.

Suppose that the space is closed under a differentiation and the matrix is nonsingular. The curve is formulated as . From Proposition 3 we know that the basis vector satisfies . Therefore, all points on curve satisfy . Substituting , we have , where . Suppose an initial point at parameter is known, points with a constant time step will be computed dynamically as follows

 {X(t0)=Xorig,X(ti)=MhX(ti−1),   i=1,2,… (8)

where . From Equation (3) we know that . Then we have , where . The derivatives at the evaluated points are obtained as , , etc.

As discussed in Subsection 2.3 the polynomial spaces are invariant under a linear transformation of the parameter. Points with changing parameter steps on a polynomial curve can be evaluated by a fixed iteration matrix. Assume be the basis vector as given in Proposition 6. By applying a linear transformation that maps interval to , the basis vector becomes . A polynomial curve satisfies , where . Starting from an initial point , a sequence of points on curve will be computed by

 X(ti)=Ma,bX(ti−1),   i=1,2,… (9)

where

A linear differential system that represents the Bézier curves has been given in [29]. By the differential system, the derivatives at any evaluated point on a Bézier curve can be obtained just by multiplying the coefficient matrix with the point.

### 3.2 Dynamic evaluation of exponential polynomial surfaces

Similar to free-form curves, a bivariate surface can also be reformulated as the solution to a linear differential system when the space spanned by the basis functions is closed with respect to the partial differentials. Iso-parameter curves and surface curves with skew parametrization can be computed dynamically via basis transformation.

Dynamic evaluation of iso-curves of free-form surfaces. Suppose a surface is given by , where , , are the control points and , , are the basis or blending functions. Assume the matrix is nonsingular and the space is closed with respect to the partial differentiation and . Let . The surface is reformulated as . From Proposition 4 we know that and . Let and . The iso-parameter curves or points on the -curves or -curves can be computed dynamically by

 X(u+h1,v)=Mh1uX(u,v) (10)

or

 X(u,v+h2)=Mh2vX(u,v). (11)

From the proof of Proposition 4 we also know that and . Therefore, the derivatives of can be computed by

 ∂X(u,v)∂u=MuDX(u,v),∂X(u,v)∂v=MvDX(u,v),

where and . Besides the first order derivatives, higher order derivatives can also be computed by multiplying these two matrices repeatedly. For example, , .

Dynamic evaluation of surface curves with skew parametrization. In addition to the iso-parameter curves, curves with skew parametrization on a surface can satisfy differential equations and can be evaluated dynamically too. Assume is a tangent smooth curve in the parameter domain. A surface curve is obtained as . The derivative of the surface curve is

 Q′(t)=dX(u(t),v(t))dt=u′(t)∂X(u,v)∂u+v′(t)∂X(u,v)∂v=MX[u′(t)A1+v′(t)A2]Φ(u(t),v(t)).

By substituting , we obtain a linear differential system

 {Q′(t)=AQ(t),   t∈[α,β],Q(α)=X(u(α),v(α)), (12)

where . In particular, if and are linear functions, i.e., and , it yields that , , and is a constant matrix.

Assume and are linear functions, we evaluate a sequence of points on curve by basis transformation. Suppose that the point