Abstract
Matrix methods of computing B-spline curves and surfaces have been considered in the work of several authors. Here we propose a new, more general matrix formulation and respective upgraded notation. The new approach is based on non-commutative operator splitting, where the domain and range of every factoring operator differ by one dimension, and the factoring operators are represented by a product of sparse rectangular matrices with expanding dimensions differing by 1, so that these matrices are d×(d + 1)-dimensional (with d increasing with an increment of 1) and have nonzero values only on their two main diagonals (a i,i ) and (a i,i + 1), i = 1,...,d. In this new matrix formulation it is possible to obtain the generation of the B-spline basis and the algorithms of de Casteljau and Cox–de Boor in a very lucid unified form, based on a single matrix product formula. This matrix formula also provides an intuitively clear and straightforward unified approach to corner cutting, degree elevation, knot insertion, computing derivatives and integrals in matrix form, interpolation, and so on. For example, computing the matrix product in the formula from left to right results in the successive iterations of the de Casteljau algorithm, while computing it from right to left is equivalent to the successive iterations in the Cox–de Boor algorithm. Although the new matrix factorization is essentially non-commutative, in Theorem 1 we formulate and prove an important commutativity relation between this matrix factorization and the operator of differentiation. We use this relation further to propose a new, considerably more concise form of matrix notation for B-splines, with respective efficient computation based on sparse-matrix multiplication.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Bernstein, S.: Démonstration du theorème de Weierstrass fondée sur le calcul des probabilitiés. Comm. Soc. Math. 13(1-2) (1912)
de Casteljau, P.: Shape Mathematics and CAD. Kogan Page, London (1986)
Boehm, W.: Inserting new knots into b-spline curves. Computer Aided Geometric Design 12(4), 199–201 (1980)
de Boor, C.: On calculation with B-splines. Journal of Approximation Theory 6, 50–62 (1972)
Curry, B.H., Schoenberg, I.J.: On Polya frequency functions IV: The fundamental spline functions and their limits. J. d’Analyse Math. 17, 71–107 (1966)
Cohen, E., Lyche, T., Riesenfeld, R.: Discrete B-splines and subdivision techniques in computer aided geometric design and computer graphics. Comp. Graphics and Image Process 14(2), 87–111 (1980)
Cox, M.G.: Curve fitting with piecewice polynomials. J. Inst. Math. Appl. 8, 36–52 (1972)
Ramshaw, L.: Blossoms are polar forms. Computer Aided Geometric Design 6(4), 323–359 (1989)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lakså, A. (2010). A Method for Sparse-Matrix Computation of B-Spline Curves and Surfaces. In: Lirkov, I., Margenov, S., Waśniewski, J. (eds) Large-Scale Scientific Computing. LSSC 2009. Lecture Notes in Computer Science, vol 5910. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-12535-5_95
Download citation
DOI: https://doi.org/10.1007/978-3-642-12535-5_95
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-12534-8
Online ISBN: 978-3-642-12535-5
eBook Packages: Computer ScienceComputer Science (R0)