Novel polynomial Bernstein bases and Bézier curves based on a general notion of polynomial blossoming

Similar documents
Lagrange Interpolation and Neville s Algorithm. Ron Goldman Department of Computer Science Rice University

Interpolation and polynomial approximation Interpolation

The Essentials of CAGD

Lecture 20: Lagrange Interpolation and Neville s Algorithm. for I will pass through thee, saith the LORD. Amos 5:17

Generating Functions for the q-bernstein Bases

MAT300/500 Programming Project Spring 2019

Boolean Inner-Product Spaces and Boolean Matrices

arxiv: v1 [math.co] 8 Feb 2014

CMSC427 Parametric curves: Hermite, Catmull-Rom, Bezier

Quivers of Period 2. Mariya Sardarli Max Wimberley Heyi Zhu. November 26, 2014

Bernstein polynomials of degree N are defined by

CONTROL POLYGONS FOR CUBIC CURVES

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

CHAPTER 4 Knot insertion

Visualizing Bezier s curves: some applications of Dynamic System Geogebra

Approximation of Circular Arcs by Parametric Polynomials

Math 530 Lecture Notes. Xi Chen

Chapter 1. Measure Spaces. 1.1 Algebras and σ algebras of sets Notation and preliminaries

Sample Exam 1 KEY NAME: 1. CS 557 Sample Exam 1 KEY. These are some sample problems taken from exams in previous years. roughly ten questions.

Week 9-10: Recurrence Relations and Generating Functions

MULTI-RESTRAINED STIRLING NUMBERS

Nonlinear Means in Geometric Modeling

MA 323 Geometric Modelling Course Notes: Day 12 de Casteljau s Algorithm and Subdivision

1 Sequences and Summation

Curves, Surfaces and Segments, Patches

Introduction to Curves. Modelling. 3D Models. Points. Lines. Polygons Defined by a sequence of lines Defined by a list of ordered points

On-Line Geometric Modeling Notes

ACI-matrices all of whose completions have the same rank

Katholieke Universiteit Leuven Department of Computer Science

MATH 326: RINGS AND MODULES STEFAN GILLE

Math 3108: Linear Algebra

CHAPTER 3 Further properties of splines and B-splines

Bézier Curves and Splines

ACO Comprehensive Exam October 14 and 15, 2013

The Gelfand-Tsetlin Realisation of Simple Modules and Monomial Bases

Geometric Lagrange Interpolation by Planar Cubic Pythagorean-hodograph Curves

arxiv: v2 [math-ph] 24 Feb 2016

Barycentric coordinates for Lagrange interpolation over lattices on a simplex

Rigidity of certain solvable actions on the torus

Vector Spaces, Affine Spaces, and Metric Spaces

Arsène Pérard-Gayot (Slides by Piotr Danilewski)

Normal Fans of Polyhedral Convex Sets

Received: 2/7/07, Revised: 5/25/07, Accepted: 6/25/07, Published: 7/20/07 Abstract

Interpolation and Deformations A short cookbook

Chapter 2 Interpolation

Nonstationary Subdivision Schemes and Totally Positive Refinable Functions

RANK AND PERIMETER PRESERVER OF RANK-1 MATRICES OVER MAX ALGEBRA

DETERMINANTS. , x 2 = a 11b 2 a 21 b 1

W if p = 0; ; W ) if p 1. p times

ON COST MATRICES WITH TWO AND THREE DISTINCT VALUES OF HAMILTONIAN PATHS AND CYCLES

RESEARCH ARTICLE. An extension of the polytope of doubly stochastic matrices

Background on Chevalley Groups Constructed from a Root System

Course 311: Michaelmas Term 2005 Part III: Topics in Commutative Algebra

Lecture 20: Bezier Curves & Splines

Axioms for Set Theory

Lecture 23: Hermite and Bezier Curves

Symmetric functions and the Vandermonde matrix

Introduction to Computer Graphics. Modeling (1) April 13, 2017 Kenshi Takayama

CHAPTER 10 Shape Preserving Properties of B-splines

1.1. The analytical denition. Denition. The Bernstein polynomials of degree n are dened analytically:

arxiv:math/ v1 [math.ag] 3 Mar 2002

A Relationship Between Minimum Bending Energy and Degree Elevation for Bézier Curves

HW2 Solutions Problem 1: 2.22 Find the sign and inverse of the permutation shown in the book (and below).

More calculations on determinant evaluations

Partitions and the FermiDirac Distribution

Scientific Computing: An Introductory Survey

arxiv: v1 [math.na] 24 Jun 2016

Permutation groups/1. 1 Automorphism groups, permutation groups, abstract

Knizhnik-Zamolodchikov type equations for the root system B and Capelli central elements

Bichain graphs: geometric model and universal graphs

K. Johnson Department of Mathematics, Dalhousie University, Halifax, Nova Scotia, Canada D. Patterson

Smooth Path Generation Based on Bézier Curves for Autonomous Vehicles

Stat 451: Solutions to Assignment #1

On Projective Planes

GEOMETRIC MODELLING WITH BETA-FUNCTION B-SPLINES, I: PARAMETRIC CURVES

Citation Osaka Journal of Mathematics. 43(2)

Computer Aided Design. B-Splines

Generating p-extremal graphs

Sparse spectrally arbitrary patterns

On the Grassmann modules for the symplectic groups

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS. + + x 1 x 2. x n 8 (4) 3 4 2

The number of solutions of linear equations in roots of unity

Integral closure of powers of the graded maximal ideal in a monomial ring

4. Noether normalisation

Algorithmic Approach to Counting of Certain Types m-ary Partitions

Lecture 1. (i,j) N 2 kx i y j, and this makes k[x, y]

Lecture Notes 1 Basic Concepts of Mathematics MATH 352

COMPLEXITY OF SHORT RECTANGLES AND PERIODICITY

NOTES on LINEAR ALGEBRA 1

Graph invariants in the spin model

A. ABDOLLAHI, A. REJALI AND A. YOUSOFZADEH

AFFINE AND PROJECTIVE GEOMETRY, E. Rosado & S.L. Rueda 4. BASES AND DIMENSION

Some global properties of neural networks. L. Accardi and A. Aiello. Laboratorio di Cibernetica del C.N.R., Arco Felice (Na), Italy

= ϕ r cos θ. 0 cos ξ sin ξ and sin ξ cos ξ. sin ξ 0 cos ξ

5 Birkhoff s Ergodic Theorem

MATHEMATICAL ENGINEERING TECHNICAL REPORTS. Boundary cliques, clique trees and perfect sequences of maximal cliques of a chordal graph

A Lower Bound for the Size of Syntactically Multilinear Arithmetic Circuits

b jσ(j), Keywords: Decomposable numerical range, principal character AMS Subject Classification: 15A60

On John type ellipsoids

Mathematics Course 111: Algebra I Part I: Algebraic Structures, Sets and Permutations

Transcription:

See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/283943635 Novel polynomial Bernstein bases and Bézier curves based on a general notion of polynomial blossoming Article in Numerical Algorithms September 2015 DOI: 10.1007/s11075-015-0059-6 CITATION 1 READS 106 2 authors: Ronald N. Goldman Rice University 230 PUBLICATIONS 3,009 CITATIONS SEE PROFILE Plamen Simeonov University of Houston - Downtown 42 PUBLICATIONS 275 CITATIONS SEE PROFILE Some of the authors of this publication are also working on these related projects: It does not belong to a project. View project Basis functions and operators in Chebyshev spaces, operators and semigroups View project All content following this page was uploaded by Ronald N. Goldman on 04 December 2015. The user has requested enhancement of the downloaded file.

Numerical Algorithms manuscript No. (will be inserted by the editor) Generalized Bernstein Bases and Generalized Bézier Curves based on Generalized Blossoming Ron Goldman Plamen Simeonov Received: date / Accepted: date Abstract We introduce the G-blossom of a polynomial by altering the diagonal property of the classical blossom, replacing the identity function by arbitrary linear functions G = G(t). By invoking the G-blossom, we construct G-Bernstein bases and G-Bézier curves and study their algebraic and geometric properties. We show that the G-blossom provides the dual functionals for the G-Bernstein basis functions and we use this dual functional property to prove that G-Bernstein basis functions form a partition of unity and satisfy a Marsden identity. We investigate the effect of the linear functions G on the shape of the corresponding G-Bézier curves, and we derive some necessary conditions on the linear functions G which guarantee that the corresponding G-Bézier curves are variation diminishing. We also show that G-Bézier curves share several other properties with classical Bézier curves, including affine invariance, interpolation of end points, and recursive algorithms for evaluation and subdivision. Finally we prove that the control polygons generated by recursive subdivision converge to the original G-Bézier curve, and we derive the geometric rate of convergence of this algorithm. Plamen Simeonov s research was supported by an Organized Research and Creative Activities grant from the University of Houston-Downtown. Ron Goldman Department of Computer Science Rice University Houston, Texas 77251 Tel.: +1-713-348-5729 Fax: +1-713-348-5930 E-mail: rng@rice.edu Plamen Simeonov Department of Mathematics and Statistics University of Houston-Downtown Houston, Texas 77002 Tel.: +1-713-221-8671 Fax: +1-713-223-7464 E-mail: simeonovp@uhd.edu

2 Ron Goldman, Plamen Simeonov Keywords G-blossom G-Bernstein basis G-Bézier curve recursive evaluation algorithm Marsden identity dual functional property subdivision Mathematics Subject Classification (2000) MSC 65Dxx MSC 65D10 MSC 65D15 MSC 65D17 MSC 41Axx MSC 41A10 1 Introduction Blossoming is a fundamental tool in the study of Bernstein polynomials and Bézier curves. The classical blossom of a degree n polynomial P(t) is the unique symmetric, multi-affine function p(u 1,..., u n ) that reduces to P(t) along the diagonal. Thus classically the blossom satisfies the following three axioms. 1. Symmetry: p(u σ(1),..., u σ(n) ) = p(u 1,..., u n ) for every permutation σ S n, where S n is the collection of all permutations of the set {1,..., n}. 2. Multi-affine: p(u 1,..., (1 α)u k + αv k,..., u n ) = (1 α)p(u 1,..., u k,..., u n ) 3. Diagonal: p(t,..., t) = P(t). + αp(u 1,..., v k,..., u n ). There are now several known variants of this classical blossom, each generated by altering one of the three axioms of the classical blossom. The symmetry property is typically left intact, but the multi-affine and diagonal properties may vary. Blossoms of Chebyshev systems are constructed by replacing the multi-affine property by a pseudo-affine property [1, 11]. Blossoms for trigonometric polynomials are defined by replacing the multi-affine property by a multi-barycentric property [8, 10]. In contrast, blossoms for quantum Bernstein bases are built by replacing the diagonal property by a quantum diagonal property [23, 24]. Currently there are two distinct variants of quantum Bernstein bases: h- Bernstein bases [2,4,5,23,25,26] and q-bernstein bases [9,13 18,24]. Each of these variants is associated with its own blossom-the h-blossom [23] and the q-blossom [24]-and each of these blossoms is described by its own distinct diagonal property. Quantum (q, h)-bernstein bases were recently introduced in [12]. These (q, h)-bernstein bases and the corresponding (q, h)-bézier curves were further investigated in [6] using yet another quantum variant of the blossom, the (q, h)-blossom. In addition, each of these quantum polynomial schemes can be extended to a distinct type of quantum spline [7, 22]. There are also other kinds of polynomial splines now being developed [7], and these splines will also undoubtedly be associated with their own kinds of blossoms. Till now the existence and uniqueness of these individual blossoms has been proved case

Title Suppressed Due to Excessive Length 3 by case. One objective of this paper is to unify these individual constructions and proofs into a single general framework that applies to all cases. The goal of this paper is to introduce the most general form of the blossom for degree n polynomials that can be generated by altering the diagonal property of the classical blossom, replacing the identity along the diagonal by arbitrary linear functions G = G(t). We call this general blossom the G-blossom. We shall use the G-blossom to construct more general forms of Bernstein bases and Bézier curves, and we will apply the G-blossom to investigate their algebraic and geometric properties. The G-blossom can also be used to study more general forms of splines. Nevertheless, to keep the length of this paper manageable, we defer the study of these new types of splines to a separate paper devoted entirely to these more general splines. After we establish the existence and uniqueness of the G-blossom, we shall show that the G-blossom leads to a natural collection of polynomial basis functions, the G-Bernstein basis functions, which generalize the classical Bernstein basis functions. The G-Bernstein basis functions form a partition of unity and satisfy a Marsden identity. Moreover, the G-blossom provides the dual functionals for the G-Bernstein basis functions. We call curves generated using the G-Bernstein basis functions as blending functions G-Bézier curves. G-Bézier curves share many properties with classical Bézier curves. G-Bézier curves are affine invariant, interpolate their first and last control points, and have recursive algorithms for evaluation and subdivision similar to the de Casteljau algorithms for classical Bézier curves. To establish these results, we have organized this paper in the following fashion. In Section 2 we define the G-blossom and prove its existence and uniqueness. Using this G-blossom, the G-Bernstein bases and G-Bézier curves are introduced in Section 3. Here we invoke the G-blossom to develop n! recursive evaluation algorithms for G-Bézier curves of degree n similar to the de Casteljau evaluation algorithm for classical Bézier curves. We also show that the G-blossom provides the dual functionals for the G-Bernstein bases. We use this dual functional property in Section 4 to derive identities for the G- Bernstein basis functions. In particular, we show that the G-Bernstein bases form a partition of unity and satisfy a Marsden identity. We also establish several standard geometric properties of G-Bézier curves, including affine invariance and interpolation of end points. In Section 5 we discuss the effect of the linear functions G = G(t) on the shape of cubic G-Bézier curves. In this section we also derive a necessary condition for G-Bézier curves to be Pólya curves [5] and therefore to satisfy the variation diminishing property. We close in Section 6 with a subdivision algorithm for G-Bézier curves. We show that the control polygons generated by repeated application of this subdivision procedure converge to the original G-Bézier curve, and we derive the geometric rate of convergence of this algorithm.

4 Ron Goldman, Plamen Simeonov 2 G-Blossoms Blossoming is a powerful technique for deriving identities and developing algorithms for classical Bernstein bases and Bézier curves [19 21]. Here we are going to introduce a general variant of the blossom specifically adapted to analyzing the properties of G-Bernstein bases and G-Bézier curves. The key idea behind the G-blossom is to replace the standard diagonal property P(t) = p(t,..., t) of the classical blossom p(u 1,..., u n ) of a degree n polynomial P(t) by a G-diagonal property P(t) = p(g 1 (t),..., g n (t)), where g 1 (t),..., g n (t) are linear functions. But not all sequences of linear functions are admissible. Therefore we begin by introducing the notion of an admissible sequence of functions. Let φ n,0 (u 1,..., u n ) = 1 and φ n,k (u 1,..., u n ) = u i1 u ik, k = 1,..., n (2.1) 1 i 1< <i k n denote the elementary symmetric functions in the variables u 1,..., u n. An admissible vector is a vector G(t) = (g 1 (t),..., g n (t)) of n linear functions g i (t) = q i t + h i, i = 1,..., n, such that φ n,k (q 1,..., q n ) 0, k = 1,..., n. Notice that if q i > 0, i = 1,..., n, then the vector G(t) = (g 1 (t),..., g n (t)) is necessarily admissible. Important examples of admissible vectors are G(t) = (t,..., t), G(t) = (t, t h,..., t (n 1)h), G(t) = (t, qt,..., q n 1 t), q 0, 1. Let G(t) = (g 1 (t),..., g n (t)) be an admissible vector. The G-blossom or G-polar form of a polynomial P(t) of degree n is the unique symmetric multiaffine polynomial p(u 1,..., u n ; G) that reduces to P(t) along the G-diagonal. That is, p(u 1,..., u n ; G) is the unique multivariate polynomial satisfying the following three axioms: G-Blossoming Axioms 1. Symmetry: p(u σ(1),..., u σ(n) ; G) = p(u 1,..., u n ; G) for every permutation σ S n, where S n is the collection of all permutations of the set {1,..., n}. 2. Multiaffine: p(u 1,..., (1 α)u k + αv k,..., u n ; G) = (1 α)p(u 1,..., u k,..., u n ; G) 3. G-Diagonal: p(g 1 (t),..., g n (t); G) = P(t). + αp(u 1,..., v k,..., u n ; G).

Title Suppressed Due to Excessive Length 5 Note that the multiaffine property is equivalent to the fact that each variable u 1,..., u n appears to at most the first power that is, p(u 1,..., u n ; G) is a polynomial of degree at most one in each variable. Before we proceed to establish the existence and uniqueness of the G- blossom, let us get a better feel for the G-blossom by computing the G-blossom for some simple examples. G-Blossom of Cubic Polynomials Let G(t) = (g 1 (t), g 2 (t), g 3 (t)) be an admissible vector. It is easy to verify using the three G-blossoming axioms that for each i = 0,..., 3 the G- blossom of the monomial t i considered as a cubic polynomial is the function p i (u 1, u 2, u 3 ; G) listed below: P(t) = 1 p 0 (u 1, u 2, u 3 ; G) = 1, P(t) = t p 1 (u 1, u 2, u 3 ; G) = u 1 + u 2 + u 3 q 1 + q 2 + q 3 h 1 + h 2 + h 3 q 1 + q 2 + q 3. P(t) = t 2 p 2 (u 1, u 2, u 3 ; G) = u 1u 2 + u 1 u 3 + u 2 u 3 q 1 q 2 + q 1 q 3 + q 2 q 3 P(t) = t 3 p 3 (u 1, u 2, u 3 ; G) = u 1u 2 u 3 q 1 q 2 q 3 q 1(h 2 + h 3 ) + q 2 (h 1 + h 3 ) + q 3 (h 1 + h 2 ) q 1 q 2 + q 1 q 3 + q 2 q 3 p 1 (u 1, u 2, u 3 ; G) h 1h 2 + h 1 h 3 + h 2 h 3, q 1 q 2 + q 1 q 3 + q 2 q 3 ( h1 + h 2 + h ) 3 p 2 (u 1, u 2, u 3 ; G) q 1 q 2 q 3 ( h1 h 2 + h 1h 3 + h ) 2h 3 p 1 (u 1, u 2, u 3 ; G) q 1 q 2 q 1 q 3 q 2 q 3 h 1h 2 h 3 q 1 q 2 q 3. These examples show that it is difficult to compute explicit formulas for the G-blossom of monomials of arbitrary degree. But for the polynomial basis obtained by un-g-blossoming the elementary symmetric functions, computing explicit formulas for the G-blossom is straightforward. We shall use this new basis to establish the existence and uniqueness of the G-blossom. Consider then the polynomials Φ n,k (t; G) = φ n,k (g 1 (t),..., g n (t)), k = 0,..., n. (2.2) If G(t) is an admissible vector, it follows that for each k, Φ n,k (t; G) is a polynomial of exact degree k. Therefore {Φ n,k (t; G)} n k=0 is a basis for the space of polynomials of degree at most n. Moreover from (2.2) it is clear that the G-blossom of Φ n,k (t; G) is φ n,k (u 1,..., u n ), k = 0,..., n.

6 Ron Goldman, Plamen Simeonov Theorem 2.1 (Existence and Uniqueness of the G-Blossom of a Polynomial) Let G(t) = (g 1 (t),..., g n (t)) be an admissible vector. Then for every degree n polynomial P(t), there exists a unique symmetric multiaffine function p(u 1,..., u n ; G) that reduces to P(t) on the G-diagonal. That is, there exists a unique G-blossom p(u 1,..., u n ; G) for every polynomial P(t). Proof To prove the existence of the G-blossom, let P(t) be a polynomial of degree n. Then P(t) can be written in the form P(t) = n k=0 c kφ n,k (t; G), and the function p(u 1,..., u n ; G) = c k φ n,k (u 1,..., u n ) k=0 is a G-blossom of P(t) since p(u 1,..., u n ; G) is symmetric, multiaffine, and reduces to P(t) on the G-diagonal. To prove the uniqueness of the G-blossom, suppose that a polynomial P(t) of degree n has two G-blossoms, p(u 1,..., u n ; G) and r(u 1,..., u n ; G). Since every symmetric multiaffine polynomial of degree n has a unique representation in terms of the n + 1 elementary symmetric functions in n variables, there are constants a 0,..., a n and b 0,..., b n such that p(u 1,..., u n ; G) = a k φ n,k (u 1,..., u n ) and r(u 1,..., u n ; G) = k=0 b k φ n,k (u 1,..., u n ). k=0 Evaluating on the G-diagonal u i = g i (t), i = 1,..., n yields P(t) = a k Φ n,k (t; G) = k=0 b k Φ n,k (t; G). Thus a k = b k for all k = 0,..., n, and it follows that p(u 1,..., u n ; G) = r(u 1,..., u n ; G). Therefore the G-blossom of P(t) is unique. To simplify our notation, we write p(u 1,..., u n ; G) = p(u 1,..., u n ), when G(t) = (t,..., t) }{{} n p(u 1,..., u n ; G) = p(u 1,..., u n ; h), when G(t) = (t, t h,..., t (n 1)h) k=0 p(u 1,..., u n ; G) = p(u 1,..., u n ; q), when G(t) = (t, qt,..., q n 1 t). These special blossoms correspond to the classical blossom [3], the quantum h-blossom [23], and the quantum q-blossom [24]. Homogeneous G-Blossoms

Title Suppressed Due to Excessive Length 7 Let G(t) = (g 1 (t),..., g n (t)) be an admissible vector. The homogeneous G-blossom of a homogeneous polynomial P(t, w) of degree n is the unique function p((u 1, w 1 ),..., (u n, w n ); G) that satisfies the following three axioms: 1. Symmetry: p((u σ(1), w σ(1) ),..., (u σ(n), w σ(n) ); G) = p((u 1, w 1 ),..., (u n, w n ); G), for every permutation σ S n. 2. Multilinear: p((u 1, w 1 ),..., c 1 (u k, w k ) + c 2 (r k, s k ),..., (u n ; w n ); G) = c 1 p((u 1, w 1 ),..., (u k, w k ),..., (u n, w n ); G) + c 2 p((u 1, w 1 ),..., (r k, s k ),..., (u n, w n ); G). 3. G-Diagonal: p((g 1 (t, w), w),..., (g n (t, w), w); G) = P(t, w), where g i (t, w) = q i t + h i w is the homogenization of g i (t) = q i t + h i, i = 1,..., n. Theorem 2.2 (Existence and Uniqueness of the Homogeneous G-Blossom of a Homogeneous Polynomial) Let G(t) = (g 1 (t),..., g n (t)) be an admissible vector. Then for every homogeneous polynomial P(t, w) of degree n there exists a unique homogeneous G-blossom p((u 1, w 1 ),..., (u n, w n ); G). That is, for every homogeneous polynomial P(t, w) there exists a unique symmetric multilinear function p((u 1, w 1 ),..., (u n, w n ); G) that reduces to P(t, w) on the G-diagonal. Proof To establish existence, we homogenize the multiaffine blossom of the dehomogenized polynomial. Let p(u 1,..., u n ; G) be the multiaffine G-blossom of P(t) = P(t, 1) and let p((u 1, w 1 ),..., (u n, w n ); G) be the homogenization of p(u 1,..., u n ; G) with respect to each variable that is, treat p(u 1,..., u n ; G) as a polynomial of degree one in each variable u k and homogenize with respect to u k, k = 1,..., n. Then, by construction, p((u 1, w 1 ),..., (u n, w n ); G) is symmetric in each pair of variables (u k, w k ). Moreover, p((u 1, w 1 ),..., (u n, w n ); G) is homogeneous of degree one and therefore linear in each pair of variables (u k, w k ), hence p is multilinear. Finally, if we dehomogenize the bivariate polynomial p((g 1 (t, w), w),..., (g n (t, w), w); G) by setting w = 1, then by the G-diagonal property of the multiaffine G-blossom, we get p((g 1 (t, 1), 1),..., (g n (t, 1), 1); G) = p(g 1 (t),..., g n (t); G) = P(t). Therefore p((g 1 (t, w), w),..., (g n (t, w), w); G) is the homogenization P(t, w) of P(t); hence p((u 1, w 1 ),..., (u n, w n ); G) reduces to P(t, w) along the homogenized G-diagonal. Thus the function p((u 1, w 1 ),..., (u n, w n ); G) is a multilinear G-blossom of P(t, w). To prove uniqueness, suppose that r((u 1, w 1 ),..., (u n, w n ); G) is another multilinear G-blossom of P(t, w). Then r((u 1, 1),..., (u n, 1); G) is the multiaffine G-blossom of P(t), since r((u 1, 1),..., (u n, 1); G) is symmetric, multiaffine, and reduces to P(t) along the G-diagonal. Therefore by the uniqueness of the multiaffine G-blossom r((u 1, 1),..., (u n, 1); G) = p(u 1,..., u n ; G).

8 Ron Goldman, Plamen Simeonov Homogenizing both sides of this equation with respect to each variable yields r((u 1, w 1 ),..., (u n, w n ); G) = p((u 1, w 1 ),..., (u n, w n ); G). We shall treat the multilinear G-blossom of a degree n homogeneous polynomial P(t, w) as the multilinear G-blossom of the polynomial P(t) = P(t, 1). We shall also denote the multilinear G-blossom of P(t, w) by p(ũ 1,..., ũ n ; G) where ũ i = (u i, w i ), i = 1,..., n, and we shall identify a blossom value u with the blossom pair (u, 1). 3 Recursive Evaluation Algorithms and G-Bernstein Bases In this section we construct de Casteljau like recursive evaluation algorithms for the G-blossom and for polynomials of degree n, starting from the G-blossom evaluated at consecutive values of a special sequence related to an admissible vector G and an interval [a, b]. We then use these recursive evaluation algorithms to define G-Bernstein bases, and we establish the dual functional property that represents the coefficients of a polynomial expressed in terms of a G-Bernstein basis as special values of the G-blossom. We will also show as a by-product of this construction that the G-Bernstein basis functions of degree n are indeed a basis for the space of all polynomials of degree at most n and that the coefficients of a polynomial represented in terms of a G-Bernstein basis are also given by special values of the G-blossom. 3.1 Recursive Evaluation Algorithms Throughout this section we shall assume that G(t) = (g 1 (t),..., g n (t)) is an admissible vector and [a, b] is an interval such that g j (b) g i (a) for 1 j i n. Our first recursive evaluation algorithm is an algorithm for computing arbitrary values of the G-blossom of a polynomial of degree n starting from the G-blossom of the polynomial evaluated at consecutive values of the sequence (g 1 (a),..., g n (a), g 1 (b),..., g n (b)) taken n at a time. Theorem 3.1 (Recursive Evaluation Algorithm for the G-Blossom) Let P(t) be a polynomial of degree n with G-blossom p(u 1,..., u n ; G). Set Q 0 i = p(g i+1 (a),..., g n (a), g 1 (b),..., g i (b); G), i = 0,..., n, (3.1) and define recursively the set of multiaffine functions Q k+1 i (u 1,..., u k+1 ; G) = (1 β k,i )Q k i (u 1,..., u k ; G)+ β k,i Q k i+1 (u 1,..., u k ; G) (3.2) for i = 0,..., n k 1 and k = 0,..., n 1, where β k,i = u k+1 g i+k+1 (a) g i+1 (b) g i+k+1 (a). (3.3)

Title Suppressed Due to Excessive Length 9 u 1 u 2 u 3 g 1(b) u 3 g 1(b) g 3(a) u 3 g 3(a) g 1(b) g 3(a) g 3(a) u 1 u 2 g 1(b) u 1 u 2 g 1(b) u 2 g 1(b) g 2(a) u 2 g 2(a) g 1(b) g 2(a) g 2(b) u 2 g 2(b) g 3(a) u 2 g 3(a) g 2(b) g 3(a) g 2(a) g 3(a) u 1 g 3(a) g 1(b) u 1 g 1(b) g 2(b) u 1 g 1(b) u 1 g 1(b) g 1(a) u 1 g 1(a) g 1(b) g 1(a) g 2(b) u 1 g 2(b) g 2(a) u 1 g 2(a) g 2(b) g 2(a) g 3(b) u 1 g 3(b) g 3(a) u 1 g 3(a) g 3(b) g 3(a) g 1(a) g 2(a) g 3(a) g 2(a) g 3(a) g 1(b) g 3(a) g 1(b) g 2(b) g 1(b) g 2(b) g 3(b) Fig. 1: Computing p(u 1,..., u n; G) from the initial G-blossom values p(g i+1 (a),..., g n(a),g 1 (b),...,g i (b); G), i = 0,..., n. Here we illustrate the cubic case and we use the notation uvw to represent the blossom value p(u, v, w; G). Then Q k i (u 1,..., u k ; G) = p(g i+k+1 (a),..., g n (a), g 1 (b),..., g i (b), u 1,..., u k ; G), (3.4) i = 0,..., n k, k = 0,..., n. In particular, Q n 0(u 1,..., u n ; G) = p(u 1,..., u n ; G). Proof Since g j (b) g i (a) for 1 j i n, the denominators of the coefficients β k,i are all non-zero, so equation (3.2) is well-defined. This result now follows easily by induction on k from the symmetry and multiaffinity of the G-blossom. The cubic case is illustrated in Figure 1, where we have assumed that g i (a) g j (b), 1 j i 3. In this figure and in subsequent figures in this paper, each point in the tree is an affine combination of the two points directly below it to the left and the right with coefficients along the corresponding arrows. Theorem 3.2 (Recursive Evaluation Algorithms for a Polynomial) Let P(t) be a polynomial of degree n with G-blossom p(u 1,..., u n ; G). Then there are n! affine invariant recursive evaluation algorithms for P(t) defined as follows: Let σ S n. Set P 0 i = p(g i+1 (a),..., g n (a), g 1 (b),..., g i (b); G), and define recursively i = 0,..., n P k+1 i (t) = (1 α k,i (t))pi k (t) + α k,i (t)pi+1(t), k (3.5)

10 Ron Goldman, Plamen Simeonov i = 0,..., n k 1, k = 0,..., n 1, where Then α k,i (t) = g σ(k+1)(t) g i+k+1 (a) g i+1 (b) g i+k+1 (a). (3.6) P k i (t) = p(g i+k+1 (a),..., g n (a), g 1 (b),..., g i (b), g σ(1) (t),..., g σ(k) (t); G), (3.7) i = 0,..., n k, k = 0,..., n. In particular, P n 0 (t) = p(g σ(1) (t),..., g σ(n) (t); G) = P(t). (3.8) Proof Theorem 3.2 follows from Theorem 3.1 by substituting the specific values for the G-blossom parameters: u i = g σ(i) (t), i = 1,..., n. The recursive evaluation algorithms for σ(k) = k and for σ(k) = n +1 k are illustrated for cubic G-Bézier curves in Section 5, Figures 7 and 8. 3.2 G-Bernstein Bases and G-Bézier Curves Let G(t) = (g 1 (t),..., g n (t)) be an admissible vector and let [a, b] be an interval such that g j (b) g i (a) for 1 j i n. For each k = 0,..., n, the k-th G-Bernstein basis function Bk n (t; [a, b]; G) of degree n on the interval [a, b] is the polynomial defined by any recursive evaluation algorithm in Theorem 3.2 with initial values Pi 0 = δ k,i, i = 0,..., n. A G-Bézier curve on the interval [a, b] is a polynomial curve P(t) of the form P(t) = P i Bi n (t; [a, b]; G). (3.9) i=0 The coefficients {P i } n i=0 are called the control points of the G-Bézier curve P(t). Notice that a G-Bézier curve of degree n has 2n shape parameters q 1,..., q n and h 1,..., h n corresponding to the 2n coefficients of g 1 (t),..., g n (t). These parameters can be adjusted along with the control points to fine tune the shape of a G-Bézier curve. (For a further discussion of these shape parameters see Section 5.) Theorem 3.3 (Every Polynomial is a G-Bézier Curve) Let P(t) be a polynomial of degree n with G-blossom p(u 1,..., u n ; G). Then P(t) = p(g i+1 (a),..., g n (a), g 1 (b),..., g i (b); G)Bi n (t; [a, b]; G). (3.10) i=0 Proof This result follows immediately by linearity and Theorem 3.2. Corollary 3.4 The G-Bernstein basis functions of degree n on the interval [a, b] form a basis for the polynomials of degree n.

Title Suppressed Due to Excessive Length 11 Corollary 3.5 The control points of a G-Bézier curve on the interval [a, b] are unique. Theorem 3.6 (Dual Functional Property of the G-Blossom) Let P(t) be a G-Bézier curve on the interval [a, b], and let p(u 1,..., u n ; G) be the G-blossom of P(t). Then the control points of P(t) are given by P i = p(g i+1 (a),..., g n (a), g 1 (b),..., g i (b); G), i = 0,..., n. (3.11) Proof This result follows from Theorem 3.3 and the uniqueness of the control points. Remark 3.7 The dual functional property shows that the recursive evaluation algorithms in Theorems 3.1 and 3.2 actually start with the G-Bézier control points of the polynomial P(t). Therefore we have n! affine invariant, recursive evaluation algorithms for any polynomial P(t) all starting with the original G-Bézier control points of P(t). We end this section with explicit formulas (which we will use in Section 5) for the nodes on the left and the right lateral edges of two of the recursive evaluation algorithms in Theorem 3.2. Proposition 3.8 Let P(t) be a G-Bézier curve of degree n on the interval [a, b] with control points P i, i = 0,..., n. Let P k 0 (t), k = 0,..., n be the nodes on the left lateral edge in the G-recursive evaluation algorithm for P(t) for the identity permutation σ id (k) = k, k = 1,..., n. Then k P0 k (t) = P j Bj k (t; [a, b]; g 1,..., g k ), k = 0,..., n. (3.12) j=0 Similarly, let Pn k k (t), k = 0,..., n be the nodes on the right lateral edge in the G-recursive evaluation algorithm for P(t) for the permutation σ inv (k) = n + 1 k, k = 1,..., n. Then P k n k(t) = k P n k+j Bj k (t; [a, b]; g n k+1,..., g n ), k = 0,..., n. (3.13) j=0 Proof First by (3.7) of Theorem 3.2 with σ = σ id, the (g 1,..., g k )-blossom of P0 k (t) is Q k 0(u 1,..., u k ) = p(g k+1 (a),..., g n (a), u 1,..., u k ; G).

12 Ron Goldman, Plamen Simeonov Therefore by Theorem 3.3 and the dual functional property (3.11) we have P k 0 (t) = = = k Q k 0(g j+1 (a),..., g k (a), g 1 (b),..., g j (b))bj k (t; [a, b]; g 1,..., g k ) j=0 k p(g j+1 (a),..., g n (a), g 1 (b),..., g j (b); G)Bj k (t; [a, b]; g 1,..., g k ) j=0 k P j Bj k (t; [a, b]; g 1,..., g k ). (3.14) j=0 Similarly, by (3.7) of Theorem 3.2 with σ = σ inv, the (g n k+1,..., g n )-blossom of Pn k k (t) is Q k n k(u 1,..., u k ) = p(g 1 (b),..., g n k (b), u 1,..., u k ; G). Again from Theorem 3.3 and the dual functional property (3.11) it follows that k Pn k k (t) = Q k n k (g n k+1+j(a),..., g n (a), g n k+1 (b),..., g n k+j (b)) j=0 Bj k (t; [a, b]; g n k+1,..., g n ) k = p(g n k+1+j (a),..., g n (a), g 1 (b),..., g n k+j (b); G) j=0 Bj k (t; [a, b]; g n k+1,..., g n ) k = P n k+j Bj k (t; [a, b]; g n k+1,..., g n ). (3.15) j=0 4 Identities and Properties of the G-Bernstein Basis Functions In this section we derive several identities for the G-Bernstein basis functions. In several cases we also derive the geometric consequences of these identities for G-Bézier curves. We begin by using the dual functional property of the G-blossom (equation (3.11)) to derive identities for the G-Bernstein basis functions. Proposition 4.1 (Marsden Identity on the Interval [a, b]) n (x g j (t)) = j=1 n i=0 l=i+1 (x g l (a)) i (x g l (b))bi n (t; [a, b]; G). (4.1) l=1

Title Suppressed Due to Excessive Length 13 Proof Equation (4.1) follows immediately from the dual functional property (equation (3.11)) and the fact that the G-blossom of the polynomial on the left-hand side of (4.1) with respect to the variable t is n j=1 (x u j). Corollary 4.2 Let G(t) = (g 1 (t),..., g n (t)) be an admissible vector and set Ĝ(t) = (ĝ 1 (t),..., ĝ n (t)) with ĝ j (t) = g n+1 j (t), j = 1,..., n. Then Proof By (4.1) we have n (x ĝ j (t)) = j=1 = = Bi n (t; [a, b]; Ĝ) = Bn n i (t; [b, a]; G), i = 0,..., n. (4.2) i=0 l=i+1 n (x ĝ n+1 l (a)) n i (x ĝ l (a)) i=0 l=1 i=0 l=i+1 n (x ĝ l (b)) n l=n+1 i i (x ĝ n+1 l (b))bi n (t; [a, b]; G) l=1 (x ĝ l (b))bi n (t; [a, b]; G) i (x ĝ l (a))bn i(t; n [a, b]; G). l=1 This equation and Proposition 4.1 yield equation (4.2). Proposition 4.3 (Partition of Unity and Representation of Linear Functions) 1 t Bi n (t; [a, b]; G), (4.3) i=0 i=0 ( n a j=i+1 q j + b i j=1 q ) j n j=1 q Bi n (t; [a, b]; G). (4.4) j Proof To prove (4.3), let P(t) = 1. Then p(u 1,..., u n ; G) = 1, so p(g i+1 (a),..., g n (a), g 1 (b),..., g i (b); G) = 1, i = 0,..., n. Therefore (4.3) (partition of unity) follows from the dual functional property (equation (3.11)) of the G-blossom. To prove (4.4), let P(t) = t. Then p(u 1,..., u n ; G) = u 1 + + u n n n j=1 q j j=1 h j since the right-hand side is symmetric, multiaffine, and reduces to P(t) along the G-diagonal. Hence p(g i+1 (a),..., g n (a), g 1 (b),..., g i (b); G) = a n j=i+1 q j + b i n j=1 q j, j=1 q j i = 0,..., n. Thus (4.4) follows from the dual functional property (equation (3.11)) of the G-blossom.,

14 Ron Goldman, Plamen Simeonov Corollary 4.4 (Affine Invariance) G-Bézier curves are affine invariant. Proof Consider a G-Bézier curve P(t) = n i=0 P ibi n (t; [a, b]; G). Let M be a linear transformation and v be a vector. By the partition of unity property (4.3) (MP i + v)bi n (t; [a, b]; G) i=0 = M n P i Bi n (t; [a, b]; G)+ v i=0 i=0 B n i (t; [a, b]; G) = MP(t) + v. Corollary 4.5 G-Bézier curves reproduce straight lines with a linear parametrization when the control points are suitably spaced along a straight line. Proof Consider the straight line L(t) = b t b a Q 0 + t a b a Q 1. Select the points {P i } n i=0 along the line L(t) defined by t i = a n j=i+1 q j + b i n j=1 q j j=1 q j Then by equations (4.3) and (4.4) P i Bi n (t; [a, b]; G) i=0 = bq 0 aq 1 b a = bq 0 aq 1 b a i=0 and P i = L(t i ), i = 0,..., n. B n i (t; [a, b]; G)+ Q 1 Q 0 b a + t(q 1 Q 0 ) b a = L(t). t i Bi n (t; [a, b]; G) Proposition 4.6 (Endpoint Interpolation) Let P(t) = n i=0 P ibi n (t; [a, b]; G) be a G-Bézier curve. Then P(a) = P 0 and P(b) = P n. Proof This result follows immediately from the dual functional property (equation (3.11)) and the diagonal property of the G-blossom, since Corollary 4.7 i=0 P 0 = p(g 1 (a),..., g n (a); G) = P(a) P n = p(g 1 (b),..., g n (b); G) = P(b). { Bj n 0, j 0 (a; [a, b]; G) = 1, j = 0 { Bj n 0, j n (b; [a, b]; G) = 1, j = n.

Title Suppressed Due to Excessive Length 15 Proof This result follows from Proposition 4.6 with P i = δ i,j. We close this subsection with two change of basis formulas. For the monomials we have the following result. Proposition 4.8 (Monomial Representation) Let M n (t) = [1 t... t n ] T, B n (t; [a, b]; G) = [B n 0 (t; [a, b]; G)... B n n(t; [a, b]; G)] T, φ n (u 1,..., u n ) = [φ n,0 (u 1,..., u n )... φ n,n (u 1,..., u n )] T. Also let T n+1 (G) = [t k,ν (G)] n k,ν=0 to be the lower triangular matrix with entries { k 1 i t k,ν (G) = 1< <i k n l=1 q i l }φ k,k ν (h i1 /q i1,..., h ik /q ik ), ν k 0, ν > k. Then M n (t) = T 1 n+1 (G) [φ n (g 1(a),..., g n (a))... φ n (g 1 (b),..., g n (b))] B n (t; [a, b]; G). (4.5) Proof Let Φ n (t; G) = [Φ n,0 (t; G)... Φ n,n (t; G)] T. By equations (2.1) and (2.2) Φ n,k (t; G) = φ n,k (g 1 (t),..., g n (t)) = g i1 (t) g ik (t) = = 1 i 1< <i k n k ν=0 t ν 1 i 1< <i k n 1 i 1< <i k n (q i1 t + h i1 ) (q ik t + h ik ) { k q il }φ k,k ν (h i1 /q i1,..., h ik /q ik ), k = 0,..., n. In matrix form these equations can be written as l=1 Φ n (t; G) = T n+1 (G)M n (t) and M n (t) = T n+1 (G) 1 Φ n (t; G). (4.6) Since the G-blossom of Φ n (t; G) is φ n (u 1,..., u n ), from the second equation in (4.6) it follows that the G-blossom of M n (t) is m n (u 1,..., u n ; G) = T 1 n+1 (G)φ n(u 1,..., u n ). (4.7) Therefore, by the dual functional property (equation (3.11)) we get M n (t) = m n (g i+1 (a),..., g n (a), g 1 (b),..., g i (b); G) Bi n (t; [a, b]; G), i=0 which combined with (4.7) yields the change of basis formula (4.5).

16 Ron Goldman, Plamen Simeonov Proposition 4.9 The basis functions Φ n,k (t; G) have the following representation in terms of the G-Bernstein basis functions: Φ n,k (t; G) = φ n,k (g i+1 (a),..., g n (a), g 1 (b),..., g i (b); G)Bi n (t; [a, b]; G), k = 0,..., n. i=0 (4.8) Proof This result follows immediately from the dual functional property (equation (3.11)) and the fact that the G-blossom of Φ n,k (t; G) is φ n,k (u 1,..., u n ), k = 0,..., n. 5 Shape Parameters For classical Bézier curves, we can move the control points to adjust the shape of the corresponding curve. For G-Bézier curves we have additional shape parameters: we can adjust the coefficients of the functions G(t) = (g 1 (t),..., g n (t)) to alter the shape of the curve. Let g j (t) = q j t + h j, j = 1,..., n. Here we shall investigate the effect of the coefficients {q j } and {h j } on the shape of low degree G-Bézier curves. For curves of low degree, it is easy to build a simple user interface to allow designers to adjust the shape parameters: each q-parameter and each h-parameter can be attached to its own linear slider; these sliders can then be adjusted independently to alter the shape of the G-Bézier curve. A simple slider interface for cubic G-Bézier curves with six shape parameters three q-parameters and three h-parameters is illustrated in Figure 2. q1 q2 q3 h1 h2 h3 Fig. 2: A simple user interface for adjusting the shape parameters for cubic G-Bézier curves. Each q-parameter and each h-parameter is attached to its own slider, and each slider can be adjusted independently. Applying this slider user interface, we tested empirically the effect of each q-parameter and each h-parameter on the shape of a cubic G-Bézier curve. The results are illustrated in Figures 3 6. In each of these figures the solid curve is the classical Bézier curve over the interval [0, 1] for the control polygon with control points located at (0, 0), (1, 2), (2, 2), (3, 0). For classical Bézier curves all the q-parameters are equal to one and all the h-parameters are equal to zero. The dashed curves are the G-Bézier curves, where one of the shape parameters is adjusted and labeled accordingly.

h2 1 3 q1 1 3 h1 1 3 q3 1 3 q2 1 3 h3 1 3 Title Suppressed Due to Excessive Length 17 q2 2 q1 2 q3 2 Fig. 3: The q-parameters are set to the value 2 one at a time. Increasing q 1 pushes the curve gently away from the control polygon. Increasing q 2 pushes the curve more rapidly towards the control polygon. Increasing q 3 biases the curve to the right and the curve quickly leaves the convex hull of its control polygon. Fig. 4: The q-parameters are set to the value 1/3 one at a time. Decreasing q 1 pushes the first half of the curve towards and the second half of the curve away from the control polygon and the curve starts to oscillate. Decreasing q 2 biases the curve to the right and the curve quickly leaves the convex hull of its control polygon. Decreasing q 3 pushes the curve gently away from the control polygon. Fig. 5: The h-parameters are set to the value 1/3 one at a time. Increasing h 1 pushes the curve gently away from the control polygon. Increasing h 2 biases the curve to the left and the curve quickly leaves the convex hull of its control polygon. Increasing h 3 pushes the left segment of the curve away and the right segment of the curve towards the control polygon; the curve starts to oscillate and quickly leaves the convex hull of its control polygon. From these figure we see that: 1. Each q-parameter affects the curve differently. Moreover, increasing a q- parameter above the value one has a very different effect from decreasing the same q-parameter below the value one. 2. Similarly, each h-parameter affects the curve differently. Again, increasing an h-parameter above the value zero has a very different effect from decreasing the same h-parameter below the value zero.

h1 3 4 h3 3 4 h2 3 4 18 Ron Goldman, Plamen Simeonov Fig. 6: The h-parameters are set to the value 3/4 one at a time. Decreasing h 1 pushes the left segment of the curve towards and the right segment of the curve away from the control polygon; the curve starts to oscillate and quickly leaves the convex hull of its control polygon. Decreasing h 2 biases the curve to the right and the curve quickly leaves the convex hull of its control polygon. Decreasing h 3 pushes the curve gently away from the control polygon. 3. For some values of the q-parameters and the h-parameters the curve may no longer lie in the convex hull of its control points. 4. For some values of the q-parameters and the h-parameters the curve starts to oscillate and no longer satisfies the variation diminishing property. One interesting problem is to find ranges for the q-parameters and the h-parameters which guarantee that the corresponding G-Bézier curves satisfy the variation diminishing property. Next, we give a partial solution to this problem. 5.1 Variation Diminishing Property for G-Bézier Curves of Pólya Type In Approximation Theory a good curve scheme does not introduce any oscillations not already present in the original data. Similarly, a good curve scheme for Computer Aided Geometric Design is a scheme where the curves P(t) do not oscillate any more than their control polygons C(P). Informally, a curve P(t) with control polygon C(P) is said to satisfy the variation diminishing property if the curve P(t) oscillates no more than its control polygon C(P). Oscillations are measured relative to straight lines, so formally we have the following definition. Definition 5.1 A curve P(t) with control polygon C(P) satisfies the variation diminishing property over an interval [a, b] if for every line L the number of intersections of L and P(t) for a t b is less than or equal to the number of intersections of L and C(P). Classical Bézier curves are known to satisfy the variation diminishing property. So too do Pólya curves. To construct Pólya curves, define Pólya blending functions by setting D n i (t) = λ i i j=1 n i (t α j ) (t β j ), i = 0,..., n, j=1

Title Suppressed Due to Excessive Length 19 where α j, β j, j = 1,..., n are arbitrary constants and λ i 0, i = 0,..., n are normalizing constants chosen so that n i=0 Dn i (t) = 1. A Pólya curve P(t) with control points P 0,..., P n is a curve with blending functions D0 n (t),..., Dn(t). n That is, P(t) = P i Di n (t). i=0 Let α = max 1 j n α j and β = min 1 j n β j. Then Pólya curves are variation diminishing over the interval [α, β], whenever α < β, [5, Theorem 4]. One way to construct G-Bézier curves that are variation diminishing is to find conditions on the functions G(t) = (g 1 (t),..., g n (t)) which guarantee that the G-Bernstein basis functions are also Pólya basis functions. To develop such conditions, we introduce the following notation. Given a function g(t) and an integer m > 0, by g [m] (t) we shall denote the m-fold composition of g with itself. If g(t) has an inverse g 1 (t), we set g [ m] (t) = (g 1 ) [m] (t). We also set g [0] (t) = t. It follows easily by induction on m 0 that if g(t) = qt + h then g [m] (t) = q m t + [m] q h, where [0] q := 1 and [m] q = 1 + q + + q m 1, m > 0. Proposition 5.2 Let G(t) = (t, g(t),..., g [n 1] (t)), where g(t) = qt + h, q 0, 1. Then the G-Bernstein basis functions on any interval [a, b] such that b g [j 1] (a), j = 1,..., n are Pólya basis functions. In particular, [ ] Bi n (t; [a, b]; G) = Bi n n ( 1) n i q (n i 2 ) (t; [a, b]; q, h) = i n j=1 (b g[j 1] (a)) [ ] n i = 0,..., n, where i q q i n i (t g [j 1] (a)) (t g [ j+1] (b)), (5.1) j=1 j=1 = [n]q! [i] q![n i] q! and [k] q! = [k] q [k 1] q [1] q, [0] q := 1. Proof See [6, Proposition 4.12]. The basis functions in (5.1) are also called the (q, h)-bernstein basis functions on the interval [a, b] (see [6]). In Theorem 5.5, we give a partial answer to the following question: Suppose that the G-Bernstein basis functions are Pólya basis functions; what conditions does that impose on the functions G(t) = (g 1 (t),..., g n (t))? We begin with the following preliminary result. Lemma 5.3 Let G(t) = (g 1 (t),..., g n (t)) be an admissible vector with g j (t) = q j t+h j, j = 1,..., n. Assume that g i (t) g j (t), 1 i j n and that q j > 0, j = 1,..., n. Assume also that on any interval [a, b], the G-Bernstein basis functions are Pólya basis functions that is, the G-Bernstein basis functions have the form B n i (t; [a, b]; G) = λ i i j=1 n i (t α j ) (t β j ), i = 0,..., n, (5.2) j=1

20 Ron Goldman, Plamen Simeonov where the parameters on the right-hand side depend on a, b, {q j } n j=1 and {h j } n j=1. Then there exist a linear function g(t) = qt + h and a permutation σ S n such that g σ(j) (t) = g σ(1) g [j 1] (t), j = 1,..., n and g σ(1) (t) < g σ(j) (t), j 1, for all sufficiently large t. Proof We will invoke the G-Marsden identity from Proposition 4.1. Write (4.1) in the form n (x g j (t)) = Mi n (x; [a, b]; G)Bi n (t; [a, b]; G), (5.3) with M n i j=1 (x; [a, b]; G) = n l=i+1 i=0 (x g l (a)) i (x g l (b)), i = 0,..., n. (5.4) l=1 Notice that, up to a normalizing constant, the functions {Mi n (a; [a, b]; G)} n i=0 are Pólya basis functions with α j = g j (b) and β j = g n+1 j (a), j = 1,..., n. Our goal is to find conditions on G(t) = (g 1 (t),..., g n (t)) which guarantee that {Bi n(t; [a, b]; G)}n i=0 are also Pólya basis functions. Setting t = β s in (5.3) and using (5.2), we get n (x g j (β s )) = j=1 i=n s+1 M n i (x; [a, b]; G)Bn i (β s; [a, b]; G), (5.5) s = 1,..., n. Therefore by (5.4), n s+1 l=1 (x g l (b)) divides n j=1 (x g j(β s )), s = 1,..., n. For s = 1 it follows that for every real number b there exists a permutation τ S n such that g 1 τ(j) (g j(b)) = β 1, j = 1,..., n. Hence g 1 τ(1) g 1(b) = = g 1 τ(n) g n(b). Since S n is a finite set, we can choose τ so that the last relation holds for infinitely many values of b. Then for this permutation τ the linear functions {g 1 τ(j) g j} n j=1 must be the same, that is g 1 τ(1) g 1 = = g 1 τ(n) g n = g 0. Now either τ is the identity permutation or τ contains at least one cycle (c 1,..., c m ) that is, τ(c i ) = c i+1, i = 1,..., m 1, and τ(c m ) = c 1. But if τ contains a cycle, then g [m] 0 (t) = ((g 1 c m g cm 1 ) (g 1 c 2 g c1 ) (g 1 c 1 g cm ))(t) = t. Thus in either case g 0 (t) = t which implies that β 1 = b. Next, let s = 2. Then by an analogous argument for every real number b there exists a permutation τ S n such that g 1 τ(j) (g j(b)) = β 2, j = 1,..., n 1. Hence g 1 τ(1) g 1(b) = = g 1 τ(n 1) g n 1(b).

Title Suppressed Due to Excessive Length 21 Since S n is a finite set, we can choose τ so that the last relation holds for infinitely many values of b. Then for this permutation τ the linear functions {g 1 τ(j) g j} j=1 n 1 must be the same, that is g 1 τ(1) g 1 = = g 1 τ(n 1) g n 1 = g 0. (5.6) Next we show that for every j = 1,..., n 1 we have τ(j) j. Assume that there is an index k {1,..., n 1} such that τ(k) = k. Then b = g 1 τ(k) (g k(b)) = β 2, so we have β 1 = β 2 = b, and this equality will be true for infinitely many values of b. Setting x = g 1 (b) in (5.3) and using (5.4) and (5.2), we get n n n (g 1 (b) g j (t)) = λ 0 (g 1 (b) g l (a)) (t β j ). (5.7) j=1 l=1 In particular, (5.7) is true in infinitely many cases when β 1 = β 2 = b. Since there are only finitely many pairs 1 j 1 < j 2 n, there will exist a pair 1 j 1 < j 2 n such that g 1 j 1 g 1 (b) = g 1 j 2 g 1 (b) = b for infinitely many values of b. This equality would imply that the linear functions g j1 and g j2 are the same contrary to assumption. Now we return to (5.6). Since τ(j) j and since by assumption g i (t) g j (t) for 1 i j n, it follows that g 0 (t) t. Assume that g 0 (t) > t for all sufficiently large t. Let ω S n be such that g ω(1) (t) < < g ω(n) (t) for all sufficiently large t. It is clear that such ω always exists and is unique. Then (5.6) and g 0 (t) > t imply that {g j } j=1 n 1 = {g ω(j)} n j=2, and (5.6) can be written as g 1 τω(2) g ω(2) = = g 1 τω(n) g ω(n) = g 0. Since by assumption g 0 (t) > t for all sufficiently large t and q j > 0, 1 j n, it follows that for all sufficiently large t we have j=1 g ω(j) (t) = g τω(j) (g 0 (t)) > g τω(j) (t), j = 2,..., n. Thus τω(j) = ω(j 1), j = 2,..., n, hence g ω(j) = g τω(j) g 0 = g ω(j 1) g 0, j = 2,..., n, which implies that g ω(j) = g ω(1) g [j 1] 0, j = 2,..., n. This identity also holds for j = 1. Now this proposition follows with σ = ω and g = g 0. The case g 0 (t) < t for all sufficiently large t is handled similarly. In this case we get as above g ω(j) = g ω(1) g [ j+1] 0, j = 1,..., n. Again this proposition follows with σ = ω but with g = g0 1. Remark 5.4 In Proposition 5.3 we can assume without loss of generality that the G-component with the smallest coefficient of t is the identity function that is g ω(1) (t) = t. If not, we can replace t by g 1 ω(1) (t) and this substitution preserves the structure in (5.2) (5.4) with α j := g ω(1) (α j ), j = 1,..., n, β j := g ω(1) (β j ), j = 1,..., n, λ i := q n ω(1) λ i, i = 1,..., n, G(t) := G g 1 ω(1) (t), and the interval [a, b] := [g ω(1) (a), g ω(1) (b)] which is still arbitrary if [a, b] is arbitrary.

22 Ron Goldman, Plamen Simeonov Theorem 5.5 Let G(t) = (g 1 (t),..., g n (t)) be an admissible vector, where g j (t) = q j t + h j, j = 1,..., n. Assume that g i (t) g j (t), 1 i j n and that q j > 0, j = 1,..., n. Assume also that on any interval [a, b], the G-Bernstein basis functions are Pólya basis functions of the form (5.2). Then there exists a function g(t) = qt + h such that either g j (t) = g [j 1] (t), α j = g [j 1] (a), β j = g [ j+1] (b), j = 1,..., n, and or Bi n (t; [a, b]; G) = Bn i (t; [a, b]; q, h), i = 0,..., n, (5.8) g j (t) = g [n j] (t), α j = g [ j+1] (a), β j = g [j 1] (b), j = 1,..., n, and Bi n (t; [a, b]; G) = Bn i (t; [a, b]; 1/q, h/q), i = 0,..., n. (5.9) Proof By (5.5) and (5.4) we have {g l (b)} n+1 s l=1 {g j (β s )} n j=1, s = 1,..., n. Hence for every b there exist permutations {τ s } n s=1 S n such that g 1 τ s(l) g l(b) = β s, l = 1,..., n + 1 s, s = 1,..., n. (5.10) Since there are only finitely many subsets of S n of size n, we can choose {τ s } n s=1 so that (5.10) holds for infinitely many b. Therefore g 1 τ s(1) g 1 = = g 1 τ s(n+1 s) g n+1 s, s = 1,..., n. (5.11) Moreover by Lemma 5.3 and Remark 5.4, there is a function g(t) = qt+h and a permutation τ S n such that Let g j (t) = g [τ(j) 1] (t), j = 1,..., n. (5.12) m s = τ(l) τ(τ s (l)), l = 1,..., n + 1 s, s = 1,..., n. (5.13) Note that by (5.11) and (5.12), m s depends only on s and not on l. By (5.10) and (5.12) we have β s = g [ms] (b), s = 1,..., n. The numbers {β s } n s=1 are distinct for all but finitely many b. Otherwise, by equation (5.7) from the proof of Lemma 5.3 it would follow that there exist indices 1 s 1 s 2 n and 1 j 1 j 2 n such that gj 1 1 (g 1 (b)) = β s1 = β s2 = gj 1 2 (g 2 (b)) for infinitely many values of b, which would imply g j1 = g j2, contrary to assumption. Therefore the numbers {m s } n s=1 are also distinct. Similarly, setting t = α s in (5.3) and using (5.2), we now get n s 1 (x g j (α s )) = Mi n (x; [a, b]; G)Bi n (α s ; [a, b]; G), (5.14) j=1 i=0

Title Suppressed Due to Excessive Length 23 s = 1,..., n. By (5.14) and (5.4) we have {g l (a)} n l=s {g j(α s )} n j=1, s = 1,..., n. Hence for every a there exist permutations { τ s } n s=1 S n such that g 1 τ s(l) g l(a) = α s, l = s,..., n, s = 1,..., n. (5.15) Since there are only finitely many subsets of S n of size n, we can choose { τ s } n s=1 so that (5.15) holds for infinitely many a. Therefore Now let g 1 τ s(s) g s = = g 1 τ s(n) g n, s = 1,..., n. (5.16) m s = τ(l) τ( τ s (l)), l = s,..., n, s = 1,..., n. (5.17) Again by (5.16) and (5.12), m s depends only on s and not on l. Moreover by (5.15) and (5.12) we have α s = g [ ms] (a), s = 1,..., n. The numbers {α s } n s=1 are distinct for all but finitely many a, and therefore the numbers { m s } n s=1 are also distinct. To verify this fact we use equation n n n (g n (a) g j (t)) = λ n (g n (a) g l (b)) (t α j ), (5.18) j=1 l=1 which follows from (5.3), (5.4), and (5.2) by setting x = g n (a) in (5.3). So if we assume that there are infinitely many a such that {α s } n s=1 are not distinct, it will follow from (5.18) that there exist indices 1 s 1 s 2 n and 1 j 1 j 2 n such that gj 1 1 (g n (a)) = α s1 = α s2 = gj 1 2 (g n (a)) for infinitely many values of a, which would imply g j1 = g j2, contrary to assumption. Our next goal is to determine m s and m s for s = 1,..., n. From (5.13) with s = 1 we get nm 1 = n l=1 (τ(l) τ(τ 1(l))) = 0, so m 1 = 0 and τ 1 (l) = l, l = 1,..., n. Similarly, from (5.17) with s = 1 it follows that m 1 = 0 and that τ 1 is the identity permutation. Next consider the case s = 2. We have m 2 m 1 = 0. If m 2 > 0, from (5.13) with s = 2 we get 0 < (n 1)m 2 = n 1 l=1 τ(l) n 1 (( l=1 τ(τ 2(l)) n+1 ) ) ( 2 1 n ) 2 = n 1, so m2 = 1. An analogous argument shows that m 2 < 0 implies m 2 = 1. Similarly, from (5.17) with s = 2 we get m 2 = ±1. So suppose that m 2 = 1. Then (5.13) with s = 2 implies {τ(l)} n 1 l=1 = {j} n j=2, hence τ(n) = 1. But then from (5.17) with s = 2 and the fact that m 2 = ±1 we get m 2 = 1, hence {τ(l)} n l=2 = {j}n 1 j=1. Since τ(n) = 1 it follows that {τ(l)} n 1 l=2 = {j}n 1 j=2, which combined with {τ(l)}n 1 l=1 = {j}n j=2 yields τ(1) = n. Now we shall prove that m s+1 = s and m s+1 = s, s = 1,..., n, by induction on s. Assume that for some 2 s < n we have m r = m r = r 1, r = 1,..., s. From (5.13) and the fact that τ(1) = n it follows that n m s+1 = j=1 max τ(τ s(l)) min τ(τ s(l)) + (n s 1) n s, 1 l n s 1 l n s which implies m s+1 s. But since m s+1 m r = r 1, r = 1,..., s, we must have m s+1 = s. In a similar fashion, from the fact that τ(n) = 1 and the induction hypothesis we get m s+1 = s.

24 Ron Goldman, Plamen Simeonov Next we shall prove that τ(s) = n + 1 s, s = 1,..., n, by induction on s. Assume that for some 2 s < n/2 we have τ(l) = n+1 l for l = 1,..., s 1 and for l = n + 2 s,..., n. Since m s+1 = s, from (5.13) it follows that {τ(l)} n s l=1 = {j}n j=s+1, while since m s+1 = s, from (5.17) it follows that {τ(l)} n j=s+1 = {j}n s j=1. These relations combined with the induction hypothesis yield A = {τ(l)} n s l=s = {j} j=s+1 n+1 s and B = {τ(l)}n+1 s l=s+1 = {j} j=s n s. Hence A B = {τ(l)} n s l=s+1 = {j}n s j=s+1. Then A A B yields τ(s) = n + 1 s, while B A B yields τ(n + 1 s) = s. Therefore, under the assumption m 2 = 1 we have g j (t) = g [τ(j) 1] (t) = g [n j] (t), j = 1,..., n, and α s = g [ ms] (a) = g [ s+1] (a), β s = g [ms] (b) = g [s 1] (b), s = 1,..., n. In this case G(t) = (g [n 1] (t), g 1 (g [n 1] (t)),..., (g 1 ) [n 1] (g [n 1] (t))), where g 1 (t) = t/q h/q, and each G-Bernstein basis function Bi n (t; [a, b]; G) is generated by the G-recursive evaluation algorithm from the control points P j = b n i (g [n 1 j] (a),..., a, g [n 1] (b),..., g [n j] (b); [a, b]; G) = δ i,j, j = 0,..., n, where b n i (u 1,..., u n ; [a, b]; G) is the G-blossom of Bi n (t; [a, b]; G). Therefore, in this case by (5.1) we have B n i (t; [a, b]; G) = B n i (g [n 1] (t); [g [n 1] (a), g [n 1] (b)]; 1/q, h/q) = B n i (t; [a, b]; 1/q, h/q). If m 2 = 1 then a very similar argument shows that m s = m s = s 1, s = 1,..., n, and τ(j) = j, j = 1,..., n. Therefore in this case we have and g j (t) = g [τ(j) 1] (t) = g [j 1] (t), j = 1,..., n, and α s = g [ ms] (a) = g [s 1] (a), β s = g [ms] (b) = g [ s+1] (b), s = 1,..., n. Moreover, in this case by Proposition 5.2 the G-Bernstein basis functions are the (q, h)-bernstein basis functions given by (5.1). 6 A Subdivision Algorithm for G-Bézier Curves Subdivision algorithms play an important role in Computer Aided Geometric Design for constructing, rendering, intersecting, and analyzing freeform curves and surfaces. In this section we will construct a subdivision algorithm for G- Bézier curves that extends the de Casteljau subdivision algorithms for classical Bézier curves [3], h-bézier curves [23], and q-bézier curves [24]. A subdivision algorithm for a G-Bézier curve is a procedure for splitting a G-Bézier curve into two G-Bézier curves that together represent the original G-Bézier curve. Since each segment of a G-Bézier curve is a polynomial curve, a segment of a G-Bézier curve can also be represented as a G-Bézier curve relative to a new set of control points and a new set of G-Bernstein basis