The definition of B-spline basis function and the significance of its coefficients

Source: Internet
Author: User
Tags dashed line

Original link:http://blog.csdn.net/tuqu/article/details/5177405

The Beserki function is used as a weight. B-spline basis functions are the same, but more complex. However, it has two features that the Selkies function does not have, i.e. (1) the definition field is segmented by the node (subdivided), and (2) The base function is not the entire interval nonzero. In fact, each B-spline base function is nonzero at a nearby sub-interval, so the B-spline base function is quite "local".

     Set u   Yes m  + 1 non-descending set of u 0 <=  u 2 <=  u 3 <= ... <=  um . UI is called node ( knots ),  collection U   called node vector ( knot Vector ),  half open interval [ UI ,   UI + 1)   is the I node interval ( knot span ). Note Some UI may be equal, and some node intervals will not exist. If a node   UI   appears   k   times   (that is, UI  =  UI +1 = ... =  ui+k -1),  where   k  > 1,  UI is a repetition ( multiplicity ) Multiple nodes of , written as   UI ( K ). Otherwise, if the UI appears only once, it is a simple node. If the node is spaced (that is,   UI +1 -  UI   is a constant to  0 <=  i  <=   m  -1), the node vector or sequence of nodes is called uniform; otherwise it is non-uniform.

A node can be considered a separation point, subdividing the interval [u0, um] into a node interval. All B-spline basis functions are assumed to define the domain on [u0,um]. In this article, we often use u0 = 0 and um = 1, so the definition field is closed interval [0,1].

In order to define B-spline basis functions, we also need a parameter, the number of times of the base function (degree)p, the p -th-B-spline basis function, write as ni,p(u), The recursion is defined as follows:

The above formula is often referred to as the cox-de Boor recursive formula. This definition looks complicated, but it's not difficult to understand. If the number of times (degree) is 0 (that is, p = 0), these base functions are step functions, which is also indicated by the first expression. That is, if u is on the first node interval [UI, UI+ 1) on the base function Ni, 0 (u) is 1. For example, if we have four nodes u0 = 0, u1 = 1, u2 = 2 and u3 = 3, node interval 0, 1 and 2 are [0,1], [x], [2,3), 0 times the base function is n0,0 (u) = 1 in [0,1], in the other interval is 0,n1,0 (u) = 1 on [on], the other interval is 0;N2,0 ( C17>u) = 1 on [2,3], the other interval is 0. As shown in the following:

To understand how p is greater than 0 o'clock to calculate ni,p(u), we use a triangular calculation format. All node intervals are listed on the left (first) column, and all 0-time base functions are in the second column. See.

In order to calculate ni, 1 (u), ni, 0 (u) and ni+1,0 (u) are required. Therefore, we can calculate n0,1 (u), N (U), n2,1 (u), n3,1 ( u) and so on. All of these Ni, 1 (u) are written in the third column. Once all ni, 1 (u) is calculated, we can calculate ni, 2 (u) and place it in column fourth. Continue this process until all the required Ni,p(u) calculations are complete.

Above we obtained the n0,0 (u), n1,0 (U), and N for node vector U = {0, 1,2, 3 } 2,0 (u). Now calculate n0,1 (u) and n(u). To calculate N0,1 (u), since i = 0 and p = 1, from the definition there are

Since u0 = 0, u1 = 1 and u2 = 2, the upper style becomes

Because n0,0 (u) is not 0 on [0,1] and n1,0 (u) is nonzero on [on], if u is on [0,1] (resp., [ ), only n0,0 (u) (resp., n1,0 (u)) contributes to n0,1 (u). So, if u is on [0,1], N0,1 (u) is UN0,0 (u) =u and if u on [up], n0,1 (u) is (2- u)n1,0 (u) = (2- u). A similar calculation gets n(u) = u -1 if u is on [up], and nis (u) = 3- u if u is on [2,3]. , the black and red lines are n0,1 (u) and n(u) respectively. Note that n0,1 (u) (resp, n(u)) is on [0,1] and [up] (resp., [2,3] and [+]) are non-zero.

Once n0,1 (u) and n(u) are obtained, n0,2 (u) can be computed. The following are the definitions:

The value of the surrogate node gets

Note that n0,1 (u) is nonzero on [0,1] and [up], and n(u) is nonzero on [up] and [2,3]. Therefore, we have three situations to consider:

1. u on [0,1]:
In this case, only n0,1 (u) contributes to the value of n0,2 (u). So,N0,1 (u) is u, get

2. u on [on]:
In this case , n0,1 (u) and n(u) are all contributing to n0,2 (u). So n0,1 (u) = 2- u and n(u) = u -1 on [up], get

The second term of the upper-middle formula should be: 0.5 (3-u) (u-1) "

3. u on [2,3]:
In this case, only n(u) has contributed to n0,2 (u). So N(u) = 3- u on [2,3], GET,

If we draw a curved segment of the above three cases, we will see that two adjacent curved segments are joined together to form a curve on the node. More precisely, the first and second cases of curved segments are connected at u = 1, while the second and third cases of curved segments are connected at u = 2. Note that the composition curve is smooth, but it is usually not the case if the node vector contains multiple nodes.

Two important observations.

BecauseNi, 1 (u) is fromNi, 0 (u) andNi+1,0 (u) is calculated and becauseNi, 0 (u) andNi+1,0 (u) in the interval [UI,UI+1) and [UI+1,UI+2) are non-zero, respectively,Ni, 1 (u) are nonzero in both ranges. Other wordsNi, 1 (uInUI,UI+2) on non-zero. Similarly, becauseNi, 2 (u) relies onNi, 1 (u) andNi+1,1 (u) and because the two base functions are in the [UI,UI+2) and [UI+1,UI+3) are non-zero, respectively,Ni, 2 (uInUI,UI+3) on non-zero. In summary, to determine the base functionni,p(u), a non-0 defined field that can be traced back to the trigonometric calculation format until it returns to the first column. For example, suppose we want to findN1,3 (u) is a non-0 defined domain. Based on the above discussion, we can trace from northwest to southwest until the first column, as shown in the blue dashed line. SoN1,3 (uInu1,u2), [u2,u3), [u3,u4) and [u4,u5) on non-zero. Or, equally, it is in the [u1,u5) on non-zero.

In short, we have the following observations:

The base function ni,p(u) is nonzero on [UI, ui+p+ 1) . Or, equally,ni,p(u) in p+1 node interval [UI,UI+ 1), [ UI+1, UI+2), ..., [ui+p, ui+p+ 1) on nonzero.

Next, we look in the opposite direction. Given a node interval [UI, UI+ 1), we want to know which base function will use this interval in the calculation. We can start with this node range and draw a Northwest border arrow and a Southwest border arrow. All the base functions enclosed in the wedge use Ni, 0 (u) (why?). Therefore, the interval is non-zero. Therefore, all non-zero p -sub-functions on [UI, UI+ 1) are the intersection of this wedge and the columns that contain all ni,p(u). In fact, this column and two arrows form a equilateral triangle, and this column is a vertical edge. The number from Ni, 0 (u) to ni,p(u) has p+ 1 columns. Therefore, the vertical edge of the equilateral triangle has a maximum of p+ 1 items, i.e. ni,p(u), Ni-1,P(u), Ni-2,P(u), ..., ni-P +2,p(u), ni-P+1, P(u) and ni-P,p(u).

Let's see. In order to find all 3 non-zero base functions on [u4, u5), draw two arrows and all functions on the vertical side are what we want. This example is n1,3 (u), n2,3 (u), n3,3 (U), and n4,3 (u) . in yellow triangles. The Blue (resp., red) triangle is shown in [u3, u4) (resp., [u2, u3)) A non-zero 3-time base function. Note that there are only 3 3-time Quito entries on [u2, u3].

In conclusion, we observe the following features:

At any one node interval [UI, UI+ 1), up to p+1 p -sub-base functions non-zero , i.e.:ni-P,p(u), ni-P +1,p(u), ni-P +2, P (u), ..., ni-1,P(u) and ni,P(U ),

What is the significance of the coefficients?

Finally, let us examine the significance of the coefficients in the ni,p(u) definition. When calculating ni,p(u), it uses ni,p-1 (u) and Ni+1,p-1 (u). The former is nonzero on [UI, ui+p]. If u is in this half open interval, then u - UI is the distance between U and the left of this interval, interval length is ui+p - UI , while (u - UI)/(ui+p - UI) is the ratio of the distances above and between 0 and 1. See. The second item,ni,p-1 (u), is nonzero on [UI+1, ui+p+ 1). If you are in that interval, then ui+p+1- u is the distance to the right end of the interval,ui+p+1- UI+1 is the interval length, and (ui+p+1- u)/(ui+p+1- UI+ 1) is the ratio of the two distances and the values are between 0 and 1. Therefore, ni,p(u) is ni,p-1 (u) and Ni+1,p-1 (u) A linear combination of two coefficients, all of which are linear on u , between 0 and 1.

The definition of B-spline basis function and the significance of its coefficients

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.