b-spline Basis functions:computation Examples
This blog is transferred from the previous blog translation version, the previous chapters are the original blogger's translation content, but the subsequent chapters bloggers do not provide translation, follow-up chapters I completed the relevant translation study.
(Original blog URL: http://blog.csdn.net/tuqu/article/details/4749586)
The original blogger translation is still very good, so the previous chapters direct reference to the original blogger content.
1 node (simpleknots)
Suppose the node vector is U = {0, 0.25, 0.5, 0.75, 1}. Therefore, m = 4 and u0 = 0, u1 = 0.25, u2 = 0.5, u3 = 0.75 and u4 = 1. The 0-time (degree) basis function is simple. They are defined in the node span [0, 0.25,), [0.25,0.5], [0.5,0.75] and [0.75,1] on the n0,0 (u), n1,0 (u), n2,0 (u) and n3,0 (u), as shown in.
The table below shows all Ni, 1(u):
The graph of these base functions is then shown. Because the inner nodes 0.25, 0.5, and 0.75 are simple (that is, k = 1) and p = 1, there are p-k + 1 = 1 Nonzero base functions and three nodes. Also, n0,1(u), n(u) and n2,1 (u) in nodes 0.25, 0.5 and 0.75 respectively is C0 continuous.
From Ni, 1(u) can calculate 2-time basis functions. So m = 4, p = 2, and m = n + P + 1, we have n = 1 So there are only two 2-time Base functions:n 0,2(u) and N(u). The results are shown in the following table:
Two base functions are displayed. Three vertical blue lines indicate the node position. Note that each base function is a combined curve of three 2-time curve segments. For example, N0,2(u) is a green curve, which is a union of three parabolic lines defined on [0,0.25], [0.25, 0.5] and [0.5,0.75]. These curved segments are joined together to form a smooth bell shape. Please verify that n0,2(u,) (resp., n(u)) is at node 0.25 and 0.5 (resp, 0.5 and 0.75) are C1 continuous. As mentioned on the previous page, at the node, the compound curve is C1 continuous.
2. nodes with positive repetition degree
0 /0 of the situation, which will be encountered later. So we define 0. Fortunately, this is only used for manual calculation cases. For the computer implementation, there is an effective algorithm, not affected by this problem. If ui k node ui = UI +1 = ... = ui+k -1), then the node interval [ UI , UI + 1), [ UI + 1, UI +2 ), ..., [ ui+k -2, ui+k -1) does not exist, as a result, ni ,0 ( u ), Ni +1,0 ( u ), ..., ni+k -1,0 ( u ) are 0 functions.
Consider node vectors U = {0, 0, 0, 0.3, 0.5, 0.5, 0.6, 1, 1, 1}. Therefore,0 and 1 are repeatability 3 (that is, 0 (3) and 1 (3)) and 0.5 is a repetition of 2 (that is, 0.5 (2)). As a result, m = 9 and the node assignment is
Now calculate Ni, 0(u). Note that because m = 9 and p = 0 (0-time basis function ), we have n = m-p -1 = 8. As shown in the following table, there are only four 0 non-zero base functions: n2,0(u), n3,0 (u), N 5,0 (u) and N6,0(u).
We then continue to calculate the 1-time basis function. Because P is 1, n = m-p -1 = 7. The following table shows the results:
Shows the graphs for these base functions.
Let's look at a particular calculation, such as N(u). It is calculated using the following formula:
Put u1 = u2 = 0 and u3 = 0.3 generation into this equation to produce the following formula:
Because N1,0(u) is zero everywhere, the first item is 0/0 and is therefore defined as zero. Thus, only the second item has an effect on the result. Because n2,0(u) is 1 on [0,0.3] , n(u) on [0,0.3] is 1-(10/3)u .
Next, let's calculate all the Ni, 2(u). Because p = 2, we have n = m-p -1 = 6. The following table contains all the Ni, 2(u):
All 2-time base functions are shown.
Let's choose a typical calculation as an example, such as N3,2(u). The calculation formula is the following formula:
Substituting u3 = 0.3, u4 = u5 = 0.5 and u6 = 0.6 get
because n 3,1 ( u ) on [0.3, 0.5) not 0 and equals 5 u - 1.5, (5 u -1.5) 2 is n 3,2 Span lang= "en-us" > ( u ) Non-0 part on [0.3, 0.5). Because n 4,1 ( u ) in [0.5, 0.6) on non 0 and equals 6-10 u , (6-10 u ) 2 Yes n 3,2 ( u ) not 0 parts on [0.5, 0.6).
Let's examine the continuous problem at node 0.5 (2). Because its repeatability is 2 and the number of these base functions is 2, the base function N3,2 (u) is C0 Continuous at 0.5 (2). This is why N3,2 (u) has a sharp angle at 0.5 (2). For nodes that are not at two endpoints, such as 0.3, the C1 continuity is maintained because they are simple nodes.
and N3,0 (u) as shown in.
Example of b-spline Curves learning B-spline basis function (3)