220.127.116.11. B-Spline sets.
The calculations may be generalized:
k, l, , b are degrees in the parameter directions.
u,, , h are parameters.
umin u umax
hmin h hmax
There are m parameters. In the parameter directions, knotvectors are created. A knot vector contains k + + 1 elements:
U = [ umin umin …linear interpolation umin to umax … umax umax ]
k first k last
The k first elements are given the values of umin and k last are given the values umax. The elements between these are given the values of a linear interpolation from umin to umax for non-uniform rational B-Splines.
Bi,j, , is a vertex that is described by a vector that contains n elements. The index may either be i,j to equivalent to m indices or less than m reduced to one index. The first indexbase is provided by computer languages that support multi-dimensional matrices.
m <= n parametric curves, surfaces
m > n hypersplines1
The functions are recursive and allow local control. The degree in a parameterdirection tells how many vertices that are summed when a parameter is run through. A second degree, k = 2, takes two points and makes a line. Third degree, k = 3, takes three points and makes a smooth curve. Higher order will make a smoother curve. When k = + 1, it is a special case called Bezier curve. Multiple weigth of vertices may be achieved by utilizing a transform to homogenous coordinates, n is increased to n+1. The last element has a multiple and the previous elements values are multiplied. When the functions are evaluated division by zero per definition is regarded as the value of zero. One parameterdirection, m = 1, results in a parametric curve. Two parameters, m = 2, give the result of a surface. Three parameters, m = 3 and n = 3, give the result of a volume.
The Zenons2 triangles illustrates how a hyperspline may be created. He was a greek philosopher that formuled paradoxes like the turtle and the runner. A 4 4 vertices surface is created. One surface edge consists of four vertices and the opposite edge consists of four vertices located to one spot. A triangle is described, m = 2 and n = 2. Beside of the triangle and at the top of the triangle two identical triangles are created. A closed parametric curve from the first surface to second one to third one and back to first one is introduced which makes m = 3. When the B-Spline triangles surfaces are generated, the parametric curve connect the three surfaces into one triangle. The triangle could be connected by a parametric curve to two identical triangles, m = 4. The discussion could be turned and formulated in the thesis:
Thesis 1 : A triangle could be divided into three triangles connected by a parametric curve, and these triangles could be divided into three and so on.
The algoritm is recursive and involves hypersplines, and is placed in the environments of fractional representation. The algoritm gives the result x, if x does not exist in the set M1, x is included in M1 ( x x M1 ) The algoritm works for all triangles ( ).
B-Splines functions may be linked with different parameters. One area described by vertices and two parameters and another area described by vertices and two different parameters could be joined by a parametric curve, m = 5 and n = 2.
~ 10 bas system decimal n=1, logaritmos
Figure 2.1 A B-Spline volume, m = 3 and n =3, and logarithmic triangles, m = 8 or m -> infinity8 n = 2.
A B-Spline set is determined by vertices, and a second degree in all directions, k,l, , b = 2, will interpolate its vertices which implicate an approximation of a set of vertices by utilizing a second degree NURBS but the result will not be a ‘smooth’ set3. Higher order, k,l, , b > 2, makes:
1. a continouos set
2. a set which may be differentiated with reference to its variables.There exists variablesvalues which are continouous with reference to other variables.
Non-uniform rational B-Splines representations may create parametric curves, areas, volumes, circles and hypersplines generates abstract sets of vectorvalues. The process is similar to integralcalculus.
Exemple 2 – 1 Calculate an open B-Spline set.
A B-Spline set is definied by 3 2 2 vertices.
B 1,1,1 [ -15 0 15 4 ] B 2,1,1 [ -5 5 15 4 ] B 3,1,1 [ 5 5 15 4 ]
B 1,2,1 [ -15 5 5 -4 ] B 2,,2,1 [ -5 10 5 -4 ] B 3,2,1 [ 5 10 5 -4 ]
B 1,1,2 [ -15 5 -5 2 ] B 2,1,2 [ -5 10 -5 2 ] B 3,1,2 [ 5 10 -5 2 ]
B 1,2,2 [ -15 5 -5 0 ] B 2,2,2 [ -5 10 -5 0 ] B 3,2,2 [ 5 10 -5 0 ]
The set is of a second order in u – direction (k=2), a second order in – direction (l=2), and a second order in h – direction (b=2). The parameters are in the intervals:
0 u 2
0 h 1
Calculate a vector in the middle of the set, i.e., u = 1, = 0.5, h = 0.5
U = [ 0 0 1 2 2 ]
I = [ 0 0 1 1 ]
H = [ 0 0 1 1 ]
Equation 2 -1 gives4
Q(u, , h) = SSS Bi,j, Ni,2 Mj,2 L,2 = L1,2 ( M1,2 ( N1,2 B1,1,1 + N2,2 B2,1,1 + N3,2 B3,1,1 ) + M2,2 ( N1,2 B1,2,1 + N2,2 B2,2,1 + N3,2 B3,2,1 ) ) + L2,2 ( M1,2 ( N1,2 B1,1,2 + N2,2 B2,1,2 + N3,2 B3,1,2 ) + M2,2 ( N1,2 B1,2,2 + N2,2 B2,2,2 + N3,2 B3,2,2 ) )
Q(1, 0.5, 0.5 ) = 1 ( 0.5 ( 0.5 [ -5 5 15 4 ] + 0.5 [ -5 10 5 -4 ] ) + 0.5 ( 0.5 [ -5 10 -5 2 ] + 0.5 [ -5 10 -5 0 ] ) ) = [ -5 35/4 5/2 1/2 ]
1 hyper- gr. over
2 Zenon (about 490 – 430 B.C.) greek philosopher from Elea
3 Roger Adams, Mathematical elements for Computer Graphics (second edition) ,McGraw-Hill International Editions, Singapore, 1990, isbn 0-07-100289-8
4 Implemented in Microsoft Excel 5.0 on the basis of Övningar i CAD/CAM ak Lars Lindberg, cad/cam-avdelningen, Tillverkningssystem, the Royal Institute of Technology KTH/TS, Stockholm, 1991.