The NURBS Book

One Curve and Surface Basics.- 1.1 Implicit and Parametric Forms.- 1.2 Power Basis Form of a Curve.- 1.3 Bezier Curves.- 1.4 Rational Bezier Curves.- 1.5 Tensor Product Surfaces.- Exercises.- Two B-Spline Basis Functions.- 2.1 Introduction.- 2.2 Definition and Properties of B-spline Basis Functions.- 2.3 Derivatives of B-spline Basis Functions.- 2.4 Further Properties of the Basis Functions.- 2.5 Computational Algorithms.- Exercises.- Three B-spline Curves and Surfaces.- 3.1 Introduction.- 3.2 The Definition and Properties of B-spline Curves.- 3.3 The Derivatives of a B-spline Curve.- 3.4 Definition and Properties of B-spline Surfaces.- 3.5 Derivatives of a B-spline Surface.- Exercises.- Four Rational B-spline Curves and Surfaces.- 4.1 Introduction.- 4.2 Definition and Properties of NURBS Curves.- 4.3 Derivatives of a NURBS Curve.- 4.4 Definition and Properties of NURBS Surfaces.- 4.5 Derivatives of a NURBS Surface.- Exercises.- Five Fundamental Geometric Algorithms.- 5.1 Introduction.- 5.2 Knot Insertion.- 5.3 Knot Refinement.- 5.4 Knot Removal.- 5.5 Degree Elevation.- 5.6 Degree Reduction.- Exercises.- Six Advanced Geometric Algorithms.- 6.1 Point Inversion and Projection for Curves and Surfaces.- 6.2 Surface Tangent Vector Inversion.- 6.3 Transformations and Projections of Curves and Surfaces.- 6.4 Reparameterization of NURBS Curves and Surfaces.- 6.5 Curve and Surface Reversal.- 6.6 Conversion Between B-spline and Piecewise Power Basis Forms.- Exercises.- Seven Conics and Circles.- 7.1 Introduction.- 7.2 Various Forms for Representing Conics.- 7.3 The Quadratic Rational Bezier Arc.- 7.4 Infinite Control Points.- 7.5 Construction of Circles.- 7.6 Construction of Conies.- 7.7 Conic Type Classification and Form Conversion.- 7.8 Higher Order Circles.- Exercises.- Eight Construction of Common Surfaces.- 8.1 Introduction.- 8.2 Bilinear Surfaces.- 8.3 The General Cylinder.- 8.4 The Ruled Surface.- 8.5 The Surface of Revolution.- 8.6 Nonuniform Scaling of Surfaces.- 8.7 A Three-sided Spherical Surface.- Nine Curve and Surface Fitting.- 9.1 Introduction.- 9.2 Global Interpolation.- 9.2.1 Global Curve Interpolation to Point Data.- 9.2.2 Global Curve Interpolation with End Derivatives Specified.- 9.2.3 Cubic Spline Curve Interpolation.- 9.2.4 Global Curve Interpolation with First Derivatives Specified.- 9.2.5 Global Surface Interpolation.- 9.3 Local Interpolation.- 9.3.1 Local Curve Interpolation Preliminaries.- 9.3.2 Local Parabolic Curve Interpolation.- 9.3.3 Local Rational Quadratic Curve Interpolation.- 9.3.4 Local Cubic Curve Interpolation.- 9.3.5 Local Bicubic Surface Interpolation.- 9.4 Global Approximation.- 9.4.1 Least Squares Curve Approximation.- 9.4.2 Weighted and Constrained Least Squares Curve Fitting.- 9.4.3 Least Squares Surface Approximation.- 9.4.4 Approximation to Within a Specified Accuracy.- 9.5 Local Approximation.- 9.5.1 Local Rational Quadratic Curve Approximation.- 9.5.2 Local Nonrational Cubic Curve Approximation.- Exercises.- Ten Advanced Surface Construction Techniques.- 10.1 Introduction.- 10.2 Swung Surfaces.- 10.3 Skinned Surfaces.- 10.4 Swept Surfaces.- 10.5 Interpolation of a Bidirectional Curve Network.- 10.6 Coons Surfaces.- Eleven Shape Modification Tools.- 11.1 Introduction.- 11.2 Control Point Repositioning.- 11.3 Weight Modification.- 11.3.1 Modification of One Curve Weight.- 11.3.2 Modification of Two Neighboring Curve Weights.- 11.3.3 Modification of One Surface Weight.- 11.4 Shape Operators.- 11.4.1 Warping.- 11.4.2 Flattening.- 11.4.3 Bending.- 11.5 Constraint-based Curve and Surface Shaping.- 11.5.1 Constraint-based Curve Modification.- 11.5.2 Constraint-based Surface Modification.- Twelve Standards and Data Exchange.- 12.1 Introduction.- 12.2 Knot Vectors.- 12.3 Nurbs Within the Standards.- 12.3.1 IGES.- 12.3.2 STEP.- 12.3.3 PHIGS.- 12.4 Data Exchange to and from a NURBS System.- Thirteen B-spline Programming Concepts.- 13.1 Introduction.- 13.2 Data Types and Portability.- 13.3 Data Structures.- 13.4 Memory Allocation.- 13.5 Error Control.- 13.6 Utility Routines.- 13.7 Arithmetic Routines.- 13.8 Example Programs.- 13.9 Additional Structures.- 13.10 System Structure.- References.

[1]  B. M. Brown,et al.  Practical Analytic Geometry with Application to Aircraft , 1948 .

[2]  H. Piaggio Differential Geometry of Curves and Surfaces , 1952, Nature.

[3]  S. A. Coons SURFACES FOR COMPUTER-AIDED DESIGN OF SPACE FORMS , 1967 .

[4]  A. Robin Forrest,et al.  Curves and surfaces for computer-aided design , 1968 .

[5]  Daram V. Ahuja,et al.  Geometry for Construction and Display , 1968, IBM Syst. J..

[6]  L. B. Smith,et al.  Drawing Ellipses, Hyperbolas or Parabolas with a Fixed Number of Points and Maximum Inscribed Area , 1971, Comput. J..

[7]  C. D. Boor,et al.  On Calculating B-splines , 1972 .

[8]  M. Cox The Numerical Evaluation of B-Splines , 1972 .

[9]  Richard Franklin Riesenfeld,et al.  Applications of b-spline approximation to geometric problems of computer-aided design. , 1973 .

[10]  W. J. Gordon,et al.  B-SPLINE CURVES AND SURFACES , 1974 .

[11]  L. M. Howser,et al.  A smoothing algorithm using cubic spline functions , 1974 .

[12]  A. A. Ball,et al.  CONSURF. Part 3: how the program is used , 1977 .

[13]  Carl de Boor,et al.  A Practical Guide to Splines , 1978, Applied Mathematical Sciences.

[14]  James S. Vandergraft,et al.  Introduction to Numerical Computations , 1983 .

[15]  R. A. Liming Mathematics for Computer Graphics , 1979 .

[16]  W. Boehm Inserting New Knots into B-spline Curves , 1980 .

[17]  Richard F. Riesenfeld,et al.  A Theoretical Development for the Computer Generation and Display of Piecewise Polynomial Surfaces , 1980, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[18]  Tom Lyche,et al.  Discrete B-splines and subdivision techniques in computer-aided geometric design and computer graphics , 1980 .

[19]  G. Chang,et al.  Mathematical foundations of Bézier's technique , 1981 .

[20]  T. Goodman Hermite–Birkhoff interpolation by Hermite–Birkhoff splines , 1981, Proceedings of the Royal Society of Edinburgh: Section A Mathematics.

[21]  C. Y. Wang Shape classification of the parametric cubic curve and parametric B-spline cubic curve , 1981 .

[22]  Riesenfeld,et al.  Homogeneous Coordinates and Projective Planes in Computer Graphics , 1981, IEEE Computer Graphics and Applications.

[23]  R. Riesenfeld,et al.  A geometric proof for the variation diminishing property of B-spline approximation , 1983 .

[24]  Wayne Tiller,et al.  Rational B-Splines for Curve and Surface Representation , 1983, IEEE Computer Graphics and Applications.

[25]  G. Farin Algorithms for rational Bézier curves , 1983 .

[26]  A. Fournier,et al.  Bending polyhedral objects , 1983 .

[27]  Wayne Tiller,et al.  Offsets of Two-Dimensional Profiles , 1984, IEEE Computer Graphics and Applications.

[28]  Wayne Tiller,et al.  The Cayley method in computer aided geometric design , 1984, Comput. Aided Geom. Des..

[29]  Ron Goldman,et al.  Implicit representation of parametric curves and surfaces , 1984, Comput. Vis. Graph. Image Process..

[30]  E. S. Cobb Design of sculptured surfaces using the b-spline representation , 1984 .

[31]  W. Boehm,et al.  The insertion algorithm , 1985 .

[32]  Wolfgang Böhm On the efficiency of knot insertion algorithms , 1985, Comput. Aided Geom. Des..

[33]  Les A. Piegl,et al.  A geometric investigation of the rational bezier scheme of computer aided design , 1986 .

[34]  P. Lancaster Curve and surface fitting , 1986 .

[35]  Thomas W. Sederberg,et al.  Free-form deformation of solid geometric models , 1986, SIGGRAPH.

[36]  Rida T. Farouki,et al.  On the numerical condition of polynomials in Bernstein form , 1987, Comput. Aided Geom. Des..

[37]  B. Barsky,et al.  An Introduction to Splines for Use in Computer Graphics and Geometric Modeling , 1987 .

[38]  Les A. Piegl,et al.  A technique for smoothing scattered data with conic sections , 1987 .

[39]  Carl de Boor,et al.  Cutting corners always works , 1987, Comput. Aided Geom. Des..

[40]  Knut Mørken,et al.  Knot removal for parametric B-spline curves and surfaces , 1987, Comput. Aided Geom. Des..

[41]  Les A. Piegl,et al.  Interactive Data Interpolation by Rational Bezier Curves , 1987, IEEE Computer Graphics and Applications.

[42]  L. Piegl,et al.  Curve and surface constructions using rational B-splines , 1987 .

[43]  S. Coquillart Computing offsets of B-spline curves , 1987 .

[44]  Sabine Coquillart,et al.  A Control-Point-Based Sweeping Technique , 1987, IEEE Computer Graphics and Applications.

[45]  Fujio Yamaguchi,et al.  Curves and Surfaces in Computer Aided Geometric Design , 1988, Springer Berlin Heidelberg.

[46]  David R. Forsey,et al.  Hierarchical B-spline refinement , 1988, SIGGRAPH.

[47]  T. Lyche,et al.  A Data-Reduction Strategy for Splines with Applications to the Approximation of Functions and Data , 1988 .

[48]  Josef Hoschek,et al.  Spline approximation of offset curves , 1988, Comput. Aided Geom. Des..

[49]  C. Woodward Skinning techniques for interactive B-spline surface interpolation , 1988 .

[50]  Rida T. Farouki,et al.  Algorithms for polynomials in Bernstein form , 1988, Comput. Aided Geom. Des..

[51]  Michael A. Lachance,et al.  Chebyshev economization for parametric surfaces , 1988, Comput. Aided Geom. Des..

[52]  I. J. Schoenberg Contributions to the Problem of Approximation of Equidistant Data by Analytic Functions , 1988 .

[53]  G. Farin Rational curves and surfaces , 1989 .

[54]  H. GUGGENHEIMER Computing frames along a trajectory , 1989, Comput. Aided Geom. Des..

[55]  L. Piegl Modifying the shape of rational B-splines. part2: surfaces , 1989 .

[56]  Daniel J. Filip,et al.  Procedurally representing lofted surfaces , 1989, IEEE Computer Graphics and Applications.

[57]  Tony DeRose,et al.  Geometric continuity of parametric curves: three equivalent characterizations , 1989, IEEE Computer Graphics and Applications.

[58]  B. Su,et al.  Computational geometry: curve and surface modeling , 1989 .

[59]  Les A. Piegl,et al.  Key developments in computer-aided geometric design , 1989 .

[60]  Les A. Piegl,et al.  A menagerie of rational B-spline circles , 1989, IEEE Computer Graphics and Applications.

[61]  B. K. Choi,et al.  Sweep surfaces modelling via coordinate transformation and blending , 1990, Comput. Aided Des..

[62]  Toby Howard,et al.  A practical introduction to PHIGS and PHIGS Plus , 1990 .

[63]  Tony DeRose,et al.  Geometric continuity of parametric curves: constructions of geometrically continuous splines , 1990, IEEE Computer Graphics and Applications.

[64]  Les A. Piegl,et al.  On NURBS: A Survey , 2004 .

[65]  Sabine Coquillart,et al.  Animated free-form deformation: an interactive animation technique , 1991, SIGGRAPH.

[66]  E. T. Y. Lee,et al.  Möbius reparametrizations of rational B-splines , 1991, Comput. Aided Geom. Des..

[67]  Joris S. M. Vergeest CAD surface data exchange using STEP , 1991, Comput. Aided Des..

[68]  Toby Howard Evaluating PHIGS for CAD and general graphics applications , 1991, Comput. Aided Des..

[69]  Brian A. Barsky,et al.  Skinning rational B-spline curves to construct an interpolatory surface , 1991, CVGIP Graph. Model. Image Process..

[70]  Hartmut Prautzsch,et al.  Is there a geometric variation diminishing property for B-spline or Bézier surfaces? , 1992, Comput. Aided Geom. Des..

[71]  David Straker,et al.  C Style: Standards and Guidelines , 1992 .

[72]  J. Hoschek Be´zier curves and surface patches on quadrics , 1992 .

[73]  Willem F. Bronsvoort,et al.  A method for converting the surface of a generalized cylinder into a B-spline surface , 1992, Comput. Graph..

[74]  Wayne Tiller,et al.  Knot-removal algorithms for NURBS curves and surfaces , 1992, Comput. Aided Des..

[75]  Richard F. Riesenfeld,et al.  Approximation of sweep surfaces by tensor product NURBS , 1992, Other Conferences.

[76]  Michael Kallay,et al.  Monotone linear rational spline interpolation , 1992, Comput. Aided Geom. Des..

[77]  Andrew P. Witkin,et al.  Variational surface modeling , 1992, SIGGRAPH.

[78]  Pekka Siltanen,et al.  Normal orientation methods for 3D offset curves, sweep surfaces and skinning , 1992, Comput. Graph. Forum.

[79]  Norio Matsuki An Interactive Shape Modification Method for B-spline Surfaces , 1992, PROLAMAT.

[80]  Wolfgang Böhm,et al.  Geometric concepts for geometric design , 1993 .

[81]  Matthias Eck,et al.  Degree reduction of Bézier curves , 1993, Comput. Aided Geom. Des..

[82]  Richard H. Bartels,et al.  Constraint-based curve manipulation , 1993, IEEE Computer Graphics and Applications.

[83]  Rainer Storn,et al.  A tool for checking C coding conventions , 1994 .

[84]  Les A. Piegl,et al.  Software-engineering approach to degree elevation of B-spline curves , 1994, Comput. Aided Des..

[85]  W. Terry Hewitt,et al.  Expressing Coons-Gordon surfaces as NURBS , 1994, Comput. Aided Des..

[86]  Jin J. Chou Higher order Bézier circles , 1995, Comput. Aided Des..

[87]  Hyeong-Chan Kim,et al.  Degree reduction of Bézier curves and filter banks , 1996 .

[88]  Josef Hoschek,et al.  Fundamentals of computer aided geometric design , 1996 .