n is symmetric if it does not depend on the order



Similar documents
Data Set Generation for Rectangular Placement Problems

5.7 Chebyshev Multi-section Matching Transformer

arxiv: v1 [math.pr] 9 May 2008

ON SELF-ROUTING IN CLOS CONNECTION NETWORKS. BARRY G. DOUGLASS Electrical Engineering Department Texas A&M University College Station, TX

BEZIER CURVES AND SURFACES

Computer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

MINIMUM VERTEX DEGREE THRESHOLD FOR LOOSE HAMILTON CYCLES IN 3-UNIFORM HYPERGRAPHS

Corollary. (f є C n+1 [a,b]). Proof: This follows directly from the preceding theorem using the inequality

Applying Multiple Neural Networks on Large Scale Data

Physics 211: Lab Oscillations. Simple Harmonic Motion.

Computer Graphics. Geometric Modeling. Page 1. Copyright Gotsman, Elber, Barequet, Karni, Sheffer Computer Science - Technion. An Example.

Planar Curve Intersection

Multi-Class Deep Boosting

Factor Model. Arbitrage Pricing Theory. Systematic Versus Non-Systematic Risk. Intuitive Argument

1 Review of Newton Polynomials

The Australian Journal of Mathematical Analysis and Applications

Audio Engineering Society. Convention Paper. Presented at the 119th Convention 2005 October 7 10 New York, New York USA

Lecture L9 - Linear Impulse and Momentum. Collisions

Lecture 3: Finding integer solutions to systems of linear equations

Machine Learning Applications in Grid Computing

Airline Yield Management with Overbooking, Cancellations, and No-Shows JANAKIRAM SUBRAMANIAN

Figure 2.1: Center of mass of four points.

INTEGRATED ENVIRONMENT FOR STORING AND HANDLING INFORMATION IN TASKS OF INDUCTIVE MODELLING FOR BUSINESS INTELLIGENCE SYSTEMS

Lecture L26-3D Rigid Body Dynamics: The Inertia Tensor

Construction Economics & Finance. Module 3 Lecture-1

Binary Embedding: Fundamental Limits and Fast Algorithm

A quantum secret ballot. Abstract

Halloween Costume Ideas for the Wii Game

Image restoration for a rectangular poor-pixels detector

1 Norms and Vector Spaces

The Mathematics of Pumping Water

Work, Energy, Conservation of Energy

Problem Set 2: Solutions ECON 301: Intermediate Microeconomics Prof. Marek Weretka. Problem 1 (Marginal Rate of Substitution)

Answer, Key Homework 7 David McIntyre Mar 25,

How To Get A Loan From A Bank For Free

On Computing Nearest Neighbors with Applications to Decoding of Binary Linear Codes

A GENERALIZATION OF THE CONGRUENT NUMBER PROBLEM

Topics in Computer Graphics Chap 14: Tensor Product Patches

1 if 1 x 0 1 if 0 x 1

More Unit Conversion Examples

A Gas Law And Absolute Zero Lab 11

How To Use Design Mentor

Trading Regret for Efficiency: Online Convex Optimization with Long Term Constraints

Algebra (Expansion and Factorisation)

SPERNER S LEMMA AND BROUWER S FIXED POINT THEOREM

2. FINDING A SOLUTION

The Research of Measuring Approach and Energy Efficiency for Hadoop Periodic Jobs

CHAPTER 1 Splines and B-splines an Introduction

A CHAOS MODEL OF SUBHARMONIC OSCILLATIONS IN CURRENT MODE PWM BOOST CONVERTERS

CRM FACTORS ASSESSMENT USING ANALYTIC HIERARCHY PROCESS

Modified Latin Hypercube Sampling Monte Carlo (MLHSMC) Estimation for Average Quality Index

1 Review of Least Squares Solutions to Overdetermined Systems

Media Adaptation Framework in Biofeedback System for Stroke Patient Rehabilitation

Degree Reduction of Interval SB Curves

A Gas Law And Absolute Zero

A magnetic Rotor to convert vacuum-energy into mechanical energy

Transmission Eigenvalues in One Dimension

An Innovate Dynamic Load Balancing Algorithm Based on Task

HW 2. Q v. kt Step 1: Calculate N using one of two equivalent methods. Problem 4.2. a. To Find:

REQUIREMENTS FOR A COMPUTER SCIENCE CURRICULUM EMPHASIZING INFORMATION TECHNOLOGY SUBJECT AREA: CURRICULUM ISSUES

Calculating the Return on Investment (ROI) for DMSMS Management. The Problem with Cost Avoidance

RECURSIVE DYNAMIC PROGRAMMING: HEURISTIC RULES, BOUNDING AND STATE SPACE REDUCTION. Henrik Kure

Regions in a circle. 7 points 57 regions

AUC Optimization vs. Error Rate Minimization

ABSTRACT KEYWORDS. Comonotonicity, dependence, correlation, concordance, copula, multivariate. 1. INTRODUCTION

Reconnect 04 Solving Integer Programs with Branch and Bound (and Branch and Cut)

MATH 304 Linear Algebra Lecture 9: Subspaces of vector spaces (continued). Span. Spanning set.

DERIVATIVES AS MATRICES; CHAIN RULE

IEEE TRANSACTIONS ON WIRELESS COMMUNICATIONS, ACCEPTED FOR PUBLICATION 1. Secure Wireless Multicast for Delay-Sensitive Data via Network Coding

Grade 6 Mathematics Performance Level Descriptors

Computational Geometry. Lecture 1: Introduction and Convex Hulls

6. Time (or Space) Series Analysis

Geometrico-static Analysis of Under-constrained Cable-driven Parallel Robots

General tolerances for Iinearand angular dimensions and geometrical=.tolerances

Lesson 44: Acceleration, Velocity, and Period in SHM

Online Bagging and Boosting

LEARNING OBJECTIVES FOR THIS CHAPTER

Analyzing Spatiotemporal Characteristics of Education Network Traffic with Flexible Multiscale Entropy

Budget-optimal Crowdsourcing using Low-rank Matrix Approximations

The Characteristic Polynomial

Pricing Asian Options using Monte Carlo Methods

The Velocities of Gas Molecules

NURBS Drawing Week 5, Lecture 10

Presentation Safety Legislation and Standards

Efficient Key Management for Secure Group Communications with Bursty Behavior

1 Analysis of heat transfer in a single-phase transformer

ALLOWABLE STRESS DESIGN OF CONCRETE MASONRY BASED ON THE 2012 IBC & 2011 MSJC. TEK 14-7C Structural (2013)

The Virtual Spring Mass System

Evaluating Inventory Management Performance: a Preliminary Desk-Simulation Study Based on IOC Model

Chapter 5. Principles of Unsteady - State Heat Transfer

SAMPLING METHODS LEARNING OBJECTIVES

CPU Animation. Introduction. CPU skinning. CPUSkin Scalar:

Modeling Curves and Surfaces

PREDICTION OF MILKLINE FILL AND TRANSITION FROM STRATIFIED TO SLUG FLOW

NURBS Drawing Week 5, Lecture 10

PYTHAGOREAN TRIPLES KEITH CONRAD

Reading 13 : Finite State Automata and Regular Expressions

Introduction to Unit Conversion: the SI

Experimental and Theoretical Modeling of Moving Coil Meter

November 16, Interpolation, Extrapolation & Polynomial Approximation

Transcription:

Chapter 18 Polynoial Curves 18.1 Polar Fors and Control Points The purpose of this short chapter is to show how polynoial curves are handled in ters of control points. This is a very nice application of affine concepts discussed in previous chapters and provides a stepping stone for the study of rational curves. This chapter is just a brief introduction. A coprehensive treatent of polynoial curves can be found in Gallier [70]. The key to the treatent of polynoial curves in ters of control points is that polynoials can be ultilinearized. 1 To be ore precise, say that a ap f: R d R } {{ d R } n is ultiaffine if it is affine in each of its arguents, and that a ap f: R d R } {{ d R } n is syetric if it does not depend on the order of its arguents, i.e., fa π1,...,a π =fa 1,...,a for all a 1,...,a, and all perutations π. Then, for every polynoial F t of degree, there is a unique syetric and ultiaffine ap f: R R R such that F t =ft,...,t, for all t R. This is an old folk theore, probably already known to Newton. The proof is easy. By linearity, it is enough to consider a onoial of the for x k, where k. The unique syetric ultiaffine ap corresponding to x k is σ k t 1,...,t, k where σ k t 1,...,t isthekth eleentary syetric function in variables, i.e. σ k = t i. I {1,...,} I =k Given a polynoial curve F : R R n of degree i I x 1 t =F 1 t,...=... x n t =F n t, 1 The ter ultilinearized is technicaly incorrect, we should say ultiaffinized! 571

57 CHAPTER 18. POLYNOMIAL CURVES where F 1 t,...,f n t are polynoials of degree at ost, F : R R n arises fro a unique syetric ultiaffine ap f: R R n,thepolar for of F, such that F t =ft,...,t, for all t R see Rashaw [141], Farin [58, 57], Hoschek and Lasser [90], or Gallier [70]. For exaple, consider the plane cubic defined as follows: We get the polar fors F 1 t = 4 t t 9 4, F t = 4 t t 9 4 t. f 1 t 1,t,t = 1 4 t 1t + t 1 t + t t 1 t 1 + t + t 9 4 f t 1,t,t = 4 t 1t t 1 t 1t + t 1 t + t t 4 t 1 + t + t. Also, for r s, the ap f: R R n is deterined by the +1control points b 0,...,b, where since ft 1,...,t = k=0 I J={1,...,} I J=, cardj=k b i = fr,...,r,s,...,s, i i i I s ti j J tj r fr,...,r, s,...,s. k k For exaple, with respect to the affine frae r = 1, s =, the coordinates of the control points of the cubic defined earlier are: b 0 =0, 0 b 1 = 4, 4 b = 4, 1 b =0, 0. Conversely, for every sequence of + 1 points b 0,...,b, there is a unique syetric ultiaffine ap f such that b i = fr,...,r,s,...,s, i i naely ft 1,...,t = k=0 I J={1,...,} I J=, cardj=k i I s ti j J tj r b k. Thus, there is a bijection between the set of polynoial curves of degree and the set of sequences b 0,...,b of + 1 control points. The figure below shows four contol points b 0, b 1, b, b specifying a polynoial curve of degree, where b 0 = fr, r, r, b 1 = fr, r, s, b = fr, s, s, b = fs, s, s.

18.1. POLAR FORMS AND CONTROL POINTS 57 b b 1 b 0 b Figure 18.1: Control points and control polygon The upshot of all this is that for algorithic purposes, it is convenient to define polynoial curves in ters of polar fors. Recall that the canonical affine space associated with the field R is denoted as A, unless confusions arise. Definition 18.1.1 A paraeterized polynoial curve in polar for of degree is an affine polynoial ap F : A Eof polar degree, defined by its -polar for, which is soe syetric -affine ap f: A E, where A is the real affine line, and E is any affine space of diension at least. Given any r, s A, with r<s, a paraeterized polynoial curve segent F [r, s] in polar for of degree is the restriction F :[r, s] Eof an affine polynoial curve F : A Ein polar for of degree. We define the trace of F as F A, and the the trace of F [r, s] asf [r, s]. Typically, the affine space E is the real affine space A of diension. Reark: When defining polynoial curves, it is convenient to denote the polynoial ap defining the curve by an upper-case letter, such as F : A E, and the polar for of F by the sae, but lower-case letter, f. It would then be confusing to denote the affine space which is the range of the aps F and f also as F, and thus, we denote it as E or at least, we use a letter different fro the letter used to denote the polynoial ap defining the curve. Also note that we defined a polynoial curve in polar for of degree at ost, rather than a polynoial curve in polar for of degree exactly, because an affine polynoial ap f of polar degree ay end up being degenerate, in the sense that it could be equivalent to a polynoial ap of lower polar degree. For convenience, we will allows ourselves the abuse of language where we abbreviate polynoial curve in polar for to polynoial curve. We suarize the relationship between control points and polynoial curves in the following lea. Lea 18.1. Given any sequence of +1 points a 0,...,a in soe affine space E, there is a unique polynoial curve F : A E of degree, whose polar for f: A E satisfies the conditions fr,...,r, s,...,s=a k, k k

574 CHAPTER 18. POLYNOMIAL CURVES where r, s A, r s. Furtherore, the polar for f of F is given by the forula ft 1,...,t = and F t is given by the forula where the polynoials k=0 I J={1,...,} I J=, J =k F t = B k [r, s]t = k i I s ti Bk [r, s]t a k, k=0 are the Bernstein polynoials of degree over [r, s]. s t j J k k t r tj r a k, Note that since the polar for f of a polynoial curve F of degree is syetric, the order of the arguents is irrelevant. Often, when arguent are repeated, we also oit coas between arguent. For exaple, we abbreviate fr,...,r,s,...,sasfr i s j. i j In the next section, we will abbreviate ft,...,t,r,...,r,s,...,sasft j r i j s i. j i j i 18. The de Casteljau Algorith The definition of polynoial curves in ters of polar fors leads to a very nice algorith known as the de Casteljau algorith, to draw polynoial curves. Using the de Casteljau algorith, it is possible to deterine any point F t on the curve, by repeated affine interpolations see Farin [58, 57], Hoschek and Lasser [90], Risler [14], or Gallier [70]. The exaple below shows F 1/. b 1 b 1, 1 b b 0, b 1, F 1/ = b 0, b 0, 1 b, 1 b 0 b Figure 18.: A de Casteljau diagra for t =1/

18.. THE DE CASTELJAU ALGORITHM 575 In the general case where a curve F is specified by + 1 control points b 0,...,b w.r.t. to an interval [r, s], let us define the following points b i,j used during the coputation of F t where f is the polar for of F : { bi if j =0, 0 i, b i,j = ft j r i j s i if 1 j, 0 i j. Then, we have the following equations: b i,j = s t b i,j 1 + t r b i+1,j 1. The result is F t =b 0,. The coputation can be conveniently represented in the following triangular for: 0 1... j 1 j... k... b 0,0 b 0,1. b.. 1,0 b 0,j 1. b 0,j b i,j 1...... b i,j b 0, k b i+1,j 1... b k j,j.. b0, b k j+1,j 1... bk, k b k 1,1... b k,0. b 1,0 b,0. b j+1,j 1 b 1,1 b j,j When r t s, each interpolation step coputes a convex cobination, and b i,j lies between b i,j 1 and b i+1,j 1. In this case, geoetrically, the algorith consists of a diagra consisting of the polylines b 0,0,b 1,0, b 1,0,b,0, b,0,b,0, b,0,b 4,0,...,b 1,0,b,0

576 CHAPTER 18. POLYNOMIAL CURVES b 0,1,b 1,1, b 1,1,b,1, b,1,b,1,...,b,1,b 1,1 b 0,,b 1,, b 1,,b,,...,b,,b,... b 0,,b 1,, b 1,,b, b 0, 1,b 1, 1 called shells, and with the point b 0,, they for the de Casteljau diagra. Note that the shells are nested nicely. The polyline b 0,b 1, b 1,b, b,b, b,b 4,...,b 1,b is also called a control polygon of the curve. When t is outside [r, s], we still obtain shells and a de Casteljau diagra, but the shells are not nicely nested. One of the best features of the de Casteljau algorith is that it lends itself very well to recursion. Indeed, going back to the case of a cubic curve, it is easy to show that the sequences of points b 0,b 0,1,b 0,,b 0, and b 0,,b 1,,b,1,b are also control polygons for the exact sae curve see Farin [58, 57], Hoschek and Lasser [90], Gallier [70]. Thus, we can copute the points corresponding to t = 1/ with respect to the control polygons b 0,b 0,1,b 0,,b 0, and b 0,,b 1,,b,1,b, and this yields a recursive ethod for approxiating the curve. This ethod called the subdivision ethod applies to polynoial curves of any degree and can be used to render efficiently a curve segent F over [r, s]. b 1 b 1, 1 b b 0, b 1, F 1/ = b 0, b 0, 1 b, 1 b 0 b Figure 18.: Approxiating a curve using subdivision For uch ore on polynoial curves, see Gallier [70].

Chapter 19 Polynoial Surfaces 19.1 Polar Fors The purpose of this short chapter is to show how polynoial surfaces are handled in ters of control points. As Chapter 18, this Chapter is just a brief introduction and a stepping stone for the study of rational surfaces. A coprehensive treatent of polynoial surfaces can be found in Gallier [70]. The deep reason why polynoial surfaces can be effectively handled in ters of control points is that ultivariate polynoials arise fro ultiaffine syetric aps see Rashaw [141], Farin [58, 57], Hoschek and Lasser [90], or Gallier [70]. Denoting the affine plane R as P, traditionally, a polynoial surface in R n is a function F : P R n, defined such that x 1 = F 1 u, v,...=... x n = F n u, v, for all u, v R, where F 1 U, V,...,F n U, V are polynoials in R[U, V ]. There are two natural ways to polarize the polynoials defining F. The first way is to polarize separately in u and v. Ifp is the highest degree in u and q is the highest degree in v, we get a unique ultiaffine ap f:r p R q R n of degree p + q which is syetric in its first p arguents and syetric in its last q arguents, such that F u, v =fu,...,u; v,...,v. p q We get what is traditionally called a tensor product surface, or as we prefer to call it, a bipolynoial surface of bidegree p, q or a rectangular surface patch. We also say that the ultiaffine aps arising in polarizing separately in u and v are p, q -syetric. The second way to polarize is to treat the variables u and v as a whole. This way, if F is a polynoial surface such that the axiu total degree of the onoials is, we get a unique syetric degree ultiaffine ap f:r R n, such that F u, v =fu, v,...,u, v. 577

578 CHAPTER 19. POLYNOMIAL SURFACES We get what is called a total degree surface or a triangular surface patch. Using linearity, it is clear that all we have to do is to polarize a onoial u h v k. It is easily verified that the unique p, q -syetric ultiaffine polar for of degree p + q of the onoial u h v k is given by The denoinator f p,q h,k u 1,...,u p ; v 1,...,v q = f p,q h,k u 1,...,u p ; v 1,...,v q p h 1 q k I {1,...,p}, I =h J {1,...,q}, J =k p q is the nuber of ters in the above su. h k u i v j. j J It is also easily verified that the unique syetric ultiaffine polar for of degree of the onoial u h v k is given by The denoinator f h,ku 1,v 1,...,u,v = h h = k f h,ku 1,v 1,...,u,v h 1 h k hk h k i I I J {1,...,} I =h, J =k,i J= As an exaple, consider the following surface known as Enneper s surface: F 1 U, V =U U + UV F U, V =V V + U V F U, V =U V. u i v j. j J i I is the nuber of ters in the above su. We get the polar fors f 1 U 1,V 1, U,V, U,V = U 1 + U + U f U 1,V 1, U,V, U,V = V 1 + V + V U 1U U + U 1V V + U V 1 V + U V 1 V V 1V V + U 1U V + U 1 U V + U U V 1 f U 1,V 1, U,V, U,V = U 1U + U 1 U + U U V 1V + V 1 V + V V.

19.. CONTROL POINTS FOR TRIANGULAR SURFACES 579 19. Control Points For Triangular Surfaces Given an affine frae rst in the plane where r, s, t Pare affinely independent points, it turns out that any syetric ultiaffine ap f: P E is uniquely deterined by a faily of +1+ points where E is any affine space, say R n. Let = {i, j, k N i + j + k = }. The following lea is easily shown see Rashaw [141] or Gallier [70]. Lea 19..1 Given a reference triangle rst in the affine plane P, given any faily b i, j, k i,j,k of +1+ points in E, there is a unique surface F : P Eof total degree, defined by a syetric -affine polar for f: P E, such that I J K={1,...,} I,J,K pairwise disjoint fr,...,r,s,...,s,t,...,t=b i, j, k, i j k for all i, j, k. Furtherore, f is given by the expression fa 1,...,a = λ i µ j ν k fr,...,r,s,...,s,t,...,t, i I j J k K I J K where a i = λ i r + µ i s + ν i t,withλ i + µ i + ν i =1,and1 i. A point F a on the surface F can be expressed in ters of the Bernstein polynoials Bi,j,k! U, V, T = i!j!k! U i V j T k,as F a =fa,...,a= B i,j,kλ, µ, ν fr,...,r,s,...,s,t,...,t, i, j, k i j k where a = λr + µs + νt, withλ + µ + ν =1. For exaple, with respect to the standard frae rst = 1, 0, 0, 0, 1, 0, 0, 0, 1, we obtain the following 10 control points for the Enneper surface: fr, r, t fr, r, r, 0, 1 fr, r, s ft, t, t 0, 0, 0 fr, t, t 1, 0, 0, 0, 1 fs, t, t 0, 1, 0 fr, s, t 1, 1, 0,, 1 fs, s, t 0,, 1 fr, s, s,, 1 fs, s, s 0,, 1 A faily N =b i, j, k i,j,k of +1+ points in E is called a triangular control net, or Bézier net. Note that the points in = {i, j, k N i + j + k = },

580 CHAPTER 19. POLYNOMIAL SURFACES can be thought of as a triangular grid of points in P. For exaple, when = 5, we have the following grid of 1 points: 500 401 410 0 11 0 0 1 1 0 104 11 1 11 140 005 014 0 0 041 050 We intentionally let i be the row index, starting fro the left lower corner, and j be the colun index, also starting fro the left lower corner. The control net N =b i, j, k i,j,k can be viewed as an iage of the triangular grid in the affine space E. It follows fro lea 19..1 that there is a bijection between polynoial surfaces of degree and control nets N =b i, j, k i,j,k. 19. Control Points For Rectangular Surfaces Given any two affine fraes r 1, s 1 and r, s for the affine line A, it turns out that a p, q -syetric ultiaffine ap f:a p A q E is copletely deterined by the faily of p + 1q + 1 points in E b i, j = fr 1,...,r 1, s 1,...,s 1 ; r,...,r, s,...,s, p i i q j j where 0 i p and 0 j q. The following lea is easily shown see Rashaw [141] or Gallier [70]. Lea 19..1 Let r 1, s 1 and r, s be any two affine fraes for the affine line A, andlete be an affine space of finite diension n. For any natural nubers p, q, for any faily b i, j 0 i p, 0 j q of p + 1q +1 points in E, there is a unique bipolynoial surface F : A A E of degree p, q, with polar for the p + q-ultiaffine p, q -syetric ap f:a p A q E, such that fr 1,...,r 1, s 1,...,s 1 ; r,...,r, s,...,s =b i, j, p i i q j j for all i, 1 i p and all j, 1 j q. Furtherore, f is given by the expression fu 1,...,u p ; v 1,...,v q = 0 i p 0 j q I J= I J={1,...,p} K L= K L={1,...,q} s1 u i uj r 1 s v k vl r s 1 r 1 s 1 r 1 s r s r i I j J k K l L b J, L. ApointF u, v on the surface F can be expressed in ters of the Bernstein polynoials B p i [r 1,s 1 ]u and B q j [r,s ]v, as F u, v = B p i [r 1,s 1 ]u B q j [r,s ]v fr 1,...,r 1, s 1,...,s 1 ; r,...,r, s,...,s. p i i q j j

19.4. THE DE CASTELJAU ALGORITHM AND SUBDIVISION 581 A faily N =b i, j 0 i p, 0 j q of p + 1q + 1 points in E, is often called a rectangular control net, or Bézier net. Note that we can view the set of pairs p,q = {i, j N 0 i p, 0 j q}, as a rectangular grid of p + 1q + 1 points in A A. The control net N =b i, j i,j, can be viewed p,q as an iage of the rectangular grid p,q in the affine space E. The portion of the surface F corresponding to the points F u, v for which the paraeters u, v satisfy the inequalities r 1 u s 1 and r v s,is called a rectangular surface patch, or rectangular Bézier patch, andf [r 1, s 1 ], [r, s ] is the trace of the rectangular patch. As an exaple, the onkey saddle is the surface defined by the equation z = x xy. It is easily shown that the onkey saddle is specified by the following rectangular control net of degree, over [0, 1] [0, 1]: sqonknet1 = {{0, 0, 0}, {0, 1/, 0}, {0, 1, 0}, {1/, 0, 0}, {1/, 1/, 0}, {1/, 1, -1}, {/, 0, 0}, {/, 1/, 0}, {/, 1, -}, {1, 0, 1}, {1, 1/, 1}, {1, 1, -}} In the next section, we review a beautiful algorith to copute a point F a on a surface patch using affine interpolation steps, the de Casteljau algorith. 19.4 The de Casteljau Algorith and Subdivision In this section, we quickly review how the de Casteljau algorith can be used to subdivide a triangular patch into three subpatches. For ore details, see Farin [58, 57], Hoschek and Lasser [90], Risler [14], or Gallier [70]. There are also versions of the de Casteljau algorith for rectangular patches, but we will not go into this topic in order to keep the size of this book reasonable. Again, readers are invited to consult Farin [58, 57], Hoschek and Lasser [90], Risler [14], or Gallier [70]. Given an affine frae rst, given a triangular control net N =b i, j, k i,j,k, recall that in ters of the polar for f: P Eof the polynoial surface F : P Edefined by N, for every i, j, k,we have b i, j, k = fr,...,r,s,...,s,t,...,t. i j k Given a = λr + µs + νt in P, where λ + µ + ν = 1, in order to copute F a =fa,...,a, the coputation builds a sort of tetrahedron consisting of + 1 layers. The base layer consists of the original control points in N, which are also denoted as b 0 i, j, k i,j,k. The other layers are coputed in stages, where at stage l, 1 l, the points b l i, j, k i,j,k l are coputed such that b l i, j, k = λb l 1 i+1,j,k + µbl 1 i, j+1,k + νbl 1 i, j, k+1. During the last stage, the single point b 0, 0, 0 is coputed. An easy induction shows that where i, j, k l, and thus, F a =b 0, 0, 0. b l i, j, k = fa,...,a,r,...,r,s,...,s,t,...,t, l i j k

58 CHAPTER 19. POLYNOMIAL SURFACES Assuing that a is not on one of the edges of rst, the crux of the subdivision ethod is that the three other faces of the tetrahedron of polar values b l i, j, k besides the face corresponding to the original control net, yield three control nets N ast =b l 0,j,k l,j,k, corresponding to the base triangle ast, N rat =b l i, 0,k i,l,k, corresponding to the base triangle rat, and N rsa =b l i, j, 0 i,j,l, corresponding to the base triangle rsa. If a belongs to one of the edges, say rs, then the triangle rsa is flat, i.e. rsa is not an afine frae, and the net N rsa does not define the surface, but instead a curve. However, in such cases, the degenerate net N rsa is not needed anyway. Fro an ipleentation point of view, we found it convenient to assue that a triangular net N = b i, j, k i,j,k is represented as the list consisting of the concatenation of the +1rows b i, 0, i,b i, 1, i 1,..., b i, i, 0, i.e., fr,...,r, t,...,t, fr,...,r, s, t,...,t,..., fr,...,r, s,...,s,t, fr,...,r, s,...,s, i i i i 1 i i 1 i i where 0 i. As a triangle, the net N is listed fro top-down as ft,...,t ft,...,t,s... ft, s,...,s fs,...,s 1 1......... fr,...,r,t fr,...,r,s 1 1 fr,...,r The ain advantage of this representation is that we can view the net N as a two-diensional array net, such that net[i, j] =b i, j, k with i + j + k =. In fact, only a triangular portion of this array is filled. This way of representing control nets fits well with the convention that the affine frae rst is represented as follows:

19.4. THE DE CASTELJAU ALGORITHM AND SUBDIVISION 58 r a t s Figure 19.1: An affine frae Instead of siply coputing F a =b 0, 0, 0, the de Casteljau algorith can be easily adapted to output the three nets N ast, N rat, andn rsa. Using the above version of the de Casteljau algorith, it is possible to recursiveley subdivide a triangular patch. It would see natural to subdivide rst into the three subtriangles ars, ast, and art, where a =1/, 1/, 1/ is the center of gravity of the triangle rst, getting new control nets N ars, N ast and N art using the functions described earlier, and repeat this process recursively. However, this process does not yield a good triangulation of the surface patch, because no progress is ade on the edges rs, st, andtr, and thus, such a triangulation does not converge to the surface patch. Thus, in order to copute triangulations that converge to the surface patch, we need to subdivide the triangle rst in such a way that the edges of the affine frae are subdivided. There are any ways of perforing such subdivisions, and we propose a ethod which has the advantage of yielding a very regular triangulation and of being very efficient. The subdivision strategy that we propose is to divide the affine frae rst into four subtriangles abt, bac, crb, and sca, where a =0, 1/, 1/, b =1/, 0, 1/, and c =1/, 1/, 0, are the iddle points of the sides st, rt and rs respectively, as shown in the diagra below: s sca a c abt bac crb t b r Figure 19.: Subdividing an affine frae rst

584 CHAPTER 19. POLYNOMIAL SURFACES It turns out that the four subpatches can be coputed in four calls to the subdivison version of the de Casteljau algorith. Details of such an algorith can be found in Gallier [70], as well as subdivison algoriths for rectangular surfaces. The onkey saddle shown in figure 19. was obtained using a version of the de Casteljau algorith. x y -1 1-0.5 0.5 0 0 0.5-0.5-1 1 1 z 0-1 - Figure 19.: A onkey saddle