Curve and Surface Fitting with Splines PAUL DIERCKX Professor, Computer Science Department, Katholieke Universiteit Leuven, Belgium CLARENDON PRESS OXFORD 1995
- Preface List of Figures List of Tables PART I: SPLINE FUNCTIONS vii xv xvii 1 UNIVARIATE SPLINES 3 1.1 Definitions 3 1.2 The B-spline representation 5 1.2.1 Divided differences 5 1.2.2 B-splines: definition and basic properties 8 1.2.3 Splines as linear combinations of B-splines 10 1.3 On calculating with 5-splines 12 1.3.1 Evaluation of a spline function 12 1.3.2 Derivatives of a spline function 13 1.3.3 The definite integral of a spline function 15 1.3.4 Knot insertion algorithms 16 1.3.5 Fourier coefficients of a spline function 18 1.3.6 The zeros of a spline function 20 2 BIVARIATE SPLINES 23 2.1 Tensor product splines 23 2.1.1 Definitions 23 2.1.2 Evaluation, differentiation and integration 26 2.1.3 The spherical harmonic coefficients of bivariate splines... 27 2.1.4 Contour lines of a bivariate spline 30 2.2 Splines on triangulations 32 2.2.1 Powell-Sabin splines 33 XI
xii 2.2.2 Simplex splines 36 PART II: CURVE FITTING 3 CURVE FITTING: AN INTRODUCTION 43 3.1 Curve fitting: a constructive approach 43 3.2 Curve fitting with splines 44 3.2.1 A survey of methods 44 3.2.2 Some extensions 51 4 LEAST-SQUARES SPLINE CURVE FITTING 53 4.1 Least-squares splines with fixed knots 53 4.1.1 The normal equations 54 4.1.2 An orthogonalization method 55 4.2 Least-squares splines with variable knots 58 4.2.1 A non-linear constrained minimization problem 58 4.2.2 A specific optimization algorithm 62 4.3 An automatic curve fitting routine 67 4.3.1 A starting position for the knots 67 4.3.2 The optimal number of knots 68 4.3.3 Numerical examples 69 5 SMOOTHING SPLINE CURVE FITTING 75 5.1 The smoothing approximation criterion 75 5.2 The smoothing spline 76 5.2.1 The method of Lagrange 76 5.2.2 The calculation of the B-spline coefficients 76 5.2.3 The properties of the smoothing spline 80 5.2.4 Determination of the smoothing parameter 82 5.3 The knot placing strategy 84 5.4 The choice of the smoothing factor 88 5.5 Numerical results 91 6 MORE SMOOTHING SPLINE CURVES 95 6.1 Smoothing with periodic splines 95 6.1.1 Method 95 6.1.2 Numerical results 99 6.2 Smoothing with end point derivative constraints 101 6.2.1 Zero end point derivatives 101 6.2.2 Finite end point derivatives 104 6.2.3 Infinite end point derivatives 106 6.3 Smoothing with parametric splines 109
xiii 6.3.1 Method 109 6.3.2 Practical remarks Ill 6.3.3 Spline curves for CAGD 113 7 FITTING WITH CONVEXITY CONSTRAINTS 119 7.1 Shape preserving approximation 119 7.2 Convex least-squares cubic splines 120 7.2.1 A quadratic programming problem 120 7.2.2 The Theil-Van de Panne procedure 121 7.2.3 The calculation of the B-spline coefficients 122 7.2.4 The organizational aspects 124 7.3 Automatic smoothing with convexity constraints 127 7.4 Numerical results 129 PART III: SURFACE FITTING 8 SURFACE FITTING: AN INTRODUCTION 137 8.1 Surface fitting: a constructive approach 137 8.2 Surface fitting with splines 138 8.2.1 Scattered data methods 138 8.2.2 Mesh data methods 140 8.2.3 Extensions 142 8.3 Surface fitting: a variational approach 144 9 SCATTERED DATA SURFACE FITTING 147 9.1 The least-squares criterion 147 9.1.1 The observation matrix 147 9.1.2 Rank deficiency 150 9.1.3 Curved knot lines 153 9.2 The smoothing criterion 158 9.2.1 The smoothing norm 158 9.2.2 The smoothing spline 159 9.2.3 The knot placing strategy 162 9.2.4 Numerical results 164 10 MESH DATA SURFACE FITTING 169 10.1 Matrix calculus: notation and properties 169 10.2 The least-squares criterion 170 10.3 The smoothing criterion 172 10.3.1 The new smoothing spline 172 10.3.2 The choice of knots 176 10.3.3 Numerical results 179
xiv 10.4 Incomplete grids 185 10.4.1 Statement of the problem 185 10.4.2 Direct method 185 10.4.3 Iterative method 187 10.5 Two-stage approximation methods 190 10.6 Extremely large data sets 192 11 MORE SCATTERED DATA SMOOTHING 197 11.1 Smoothing using polar coordinates 197 11.1.1 Smogthing splines for the unit disk 197 11.1.2 Generalizations 205 11.1.3 Numerical results 207 11.2 Smoothing using spherical coordinates 211 11.2.1 Smoothing splines for the sphere 211 11.2.2 Numerical results 217 12 MORE MESH DATA SMOOTHING 223 12.1 Smoothing over a polar grid 223 12.1.1 The smoothing problem 223 12.1.2 Origin derivatives provided 224 12.1.3 Optimal origin derivatives 225 12.1.4 Practical considerations and results 227 12.2 Smoothing over a spherical grid 230 12.3 Surface reconstruction from planar contours 232 12.3.1 Introduction 232 12.3.2 Smoothing in cylindrical coordinates 233 12.3.3 Smoothing with parametric surfaces 242 12.3.4 Spline surfaces for CAGD 245 PART IV: FITPACK 13 AVAILABLE SOFTWARE 249 13.1 The FITPACK software package 249 13.1.1 249 13.1.2 Organization 250 13.1.3 Availability and documentation 254 13.2 Concluding remarks 266 References 271 Index 281