Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
Numerical Methods in CAGD FMN011 2014 Carmen Arévalo & Claus Führer [email protected], [email protected] Lund University Lecture 7 Ht1 2014 Arévalo/Führer FMN100 2014 SPLINES A spline of degree n with ordered knots u0, . . . , uk is a polynomial curve over each knot interval [ui, ui+1] that is n − r times differentiable at each knot of multiplicity r. Spline curves are generalizations of Bézier curves and are developed to use lower degree curve segments without worrying about the G1 continuous condition. There are two interesting properties of the spline basis functions that are not part of the Bézier basis functions: 1. the domain is subdivided by knots 2. the basis functions are non-zero only on a finite subinterval Arévalo/Führer FMN100 2014 1 B-SPLINE BASIS FUNCTIONS s(u) = m X diNin(u) i=0 where the Nin are basis spline functions defined as 1 if u ∈ [ui, ui+1) Ni0(u) = 0 otherwise u − ui ui+n+1 − u n−1 n−1 n Ni (u) = Ni (u) + Ni+1 (u) ui+n − ui ui+n+1 − ui+1 Points ui are called knots. Functions Nin(u) are called B-splines. Convention: If ui = ui+r , then Nir−1(u) = 0. Arévalo/Führer FMN100 2014 2 SOME PLOTS OF B-SPLINES Arévalo/Führer FMN100 2014 3 PLOTS OF B-SPLINE BASIS FUNCTIONS WITH MULTIPLE KNOTS Arévalo/Führer FMN100 2014 4 COMPUTATION OF B-SPLINE BASIS FUNCTIONS The following triangular computation scheme shows how B-spline basis functions are constructed. We can also observe their non-zero domain, and determine which B-spline basis functions of a given degree are active on a particular subinterval. Arévalo/Führer FMN100 2014 5 [u0, u1) N00 ` > N01 ` ~ [u1, u2] N10 ` > N02 ` ~ > N11 ` > ~ [u2, u3) N20 N03 ~ ` > N12 ~ > N21 ~ [u , u4) Arévalo/Führer FMN100 2014 3 N30 6 PROPERTIES OF B-SPLINE BASIS FUNCTIONS • Nin(u) is a piecewise polynomial of degree n. • Nin(u) is non-zero only on [ui, ui+n+1) and Nin(u) > 0 on (ui, ui+n+1). • On [ui, ui+1) at most n+1 degree n basis functions are non-zero: n n n Ni−n (u), Ni−n+1 (u), . . . , Ni−1 (u), Nin(u). • If the number of knots is k + 1 and the degree of the basis functions is n n, then the number of basis functions is k − n; i.e., N0n, . . . , Nk−n−1 form a basis for splines of degree n with support [a0, . . . , ak ]. • k−n−1 X Nin(u) = 1, for u ∈ [un, uk−n] i=0 Arévalo/Führer FMN100 2014 7 • N0n, . . . , Nk−n−1 over knots u0, . . . , uk restricted to the interval [an, ak−n]) form a basis for all splines of degree n restricted to the same interval. ! n−1 n−1 Ni+1 (u) d n Ni (u) • − Ni (u) = n du ui+n − ui ui+n+1 − ui+1 • Nin(u) is n − r times differentiable at knots of multiplicity r. • There are at most n − r + 1 non-zero basis functions at a knot of multiplicity r. Arévalo/Führer FMN100 2014 8