Analysis of B-spline Curve Using Discrete Fourier Transform

We apply the Discrete Fourier Transform to the construction of B-Spline curves to gain more insight into their structure. As a B-Spline curve is determined by its control polygon, this analysis is intimately linked to the Fourier analysis of the control polygon. To do this we apply Fast Fourier transform (FFT) algorithm to the structure of B-Spline curve and its rational form. We get inner structure of original B-Spline curve in the transform domain again in the form of B-Spline curve, having control polygon as regular or star polygon. Using the technique mentioned in the paper we get the same curve without change of shape in the transformed case of polygon points. We also extend the idea for the interval form of B-Spline Curve.


INTRODUCTION
This paper is concerned with analysis of B-Spline curve using Fast Fourier Transform.B-Spline curve is one of the most important curves in Computer aided geometric design (CAGD) used for curve representation.
It is often useful to decompose a given function into components, analyze them, and then reassemble the function again, possibly in a different way.One classical and mathematically very interesting method is to use trigonometric functions.This is the basis for the theory of Fourier analysis.
Our main aim in this paper is to analyze the B-Spline curve to study the inner structure of curve using Fourier Transform.As a B-Spline curve is determined by its control polygon, by transforming the points of control polygon, we transform the B-Spline curve from one domain to another using Discrete Fourier Transform (DFT) through algorithm Fast Fourier Transform (FFT) [1,2,5].
The paper is organized in following sections; we made a basic review in section 2. Then in the next section 3 we analyze the B-Spline curve and its rational form using DFT.We get the inner structure of B-Spline curve, in the form of another B-Spline curve known as base B-Spline curve in the transformed form.We show that the obtained base B-Spline curve have very nice properties with control polygon points as powers of twiddle factor of DFT [3].Next in section 4, we illustrate results by taking example curves for various cases of B-Spline Curve.The case for, open B-Spline curve having order equal to number of polygon points gives the inner structure of Bézier curve as mentioned by Paul Barry [3].In fact our paper generalizes the work of [3].In the last section we also extend the idea for the interval form of B-Spline curve where the control polygon is defined by rectangular or circular interval to capture the uncertainty characteristic of design.

B-Spline Curve and Rational B-Spline Form
A B-Spline curve is given by [4] n+1 Where, P i ' s are the position vectors of the n+1 defining polygon vertices and N i, k (t) is the B-Spline basis functions, given by Cox de-Boor recursive definition, defined for open, uniform and nonuniform knots vector over useful parameter range i.e. over range The rational from of B-Spline curve is given by, where, h i 's are the weight assigned to control polygon points p i 's respectively for i=1,. ..,n+1.

Discrete Fourier Transform and FFT
Fourier transform arises from Fourier series by taking more and more frequencies into account.Discrete Fourier transform (DFT) is the attempt to estimate Fourier transform of a function from finite number of sampled point.The DFT is simply a mapping of one ordered set of N complex number to a different ordered set.Consider a complex series x(k) with N samples of the form 0 1 N-1 x ,x ,---,x Where x is a complex number, with assumption that that the series outside the range 0, N-1 is extended N-periodic, that is, x = x L L+N for all L. The DFT of this series will be denoted by X(L).It will also have N samples.The forward transform will be defined as [1,2] j2πLn where j2π w = e N , is known as twiddle factor.
The DFT series is usually evaluated in practical applications using a Fast Fourier Transformation (FFT), algorithm [5].
We have made programs for transformation of B-Spline using FFT in C++, to analyze the inner structure. (1) (2) (3)

Fourier Transform of B-Spline Curve
The B-Spline curve of n+1 polygon vertices and order k is given by definition (1).The polygon points i P can be considered as points on complex plane.Thus we can consider i P as the inverse transform of points i P , where i P is the Fourier transform of points i P i.e., n -Li where, j2π w = e N is twiddle factor, with N=n+1.
Thus equation ( 1) can be written as , written according to definition (3).
As P L 's are independent of i, we get are consider as "Base B-Spline Curve", for the given B-Spline curve of n+1 polygon vertices and order k.Whose properties we discuses in the next section.

Properties of Base B-Spline Curve
From equation ( 7), we get, the Base B-Spline curve is the B-Spline curve generated by B-Spline Basis N (t) i,k , for t in useful parameter range, and defined over specified type of knot vectors.Each time they have similar shape for each type of knot vectors.The control polygon points for the base curves is given by powers of twiddle factor -L w i.e. { } The obtained control polygons for Base B-Spline curves are either regular or star polygon and base B-Spline curves are in the convex hull of these regular or star polygons, as seen in figure 1. ( Now as even multiple of π in exponential is 1, we have . Thus obtained Base B-Spline curve BB L,K (t) and BB (n+1-L),K (t), corresponding to order k, are mirror image of each other about x-axis .It can be easily proved that{BB 1,k (t),BB 2,k (t),BB 3,k (t),…,BB n+1,k (t)} behave as basis for B-Spline curve of order k, in transform form of polygon points.Thus original B-spline curve of order k is now generated by these Base B-Spline curves.Figure 1 shows the Base B-Spline curves for order 7, satisfying above-mentioned properties.

Fourier Transform of Rational Form of B-Spline Curve
A Rational B-Spline Curve is mathematically defined by equation ( 2).Taking DFT of Polygon points as mentioned in equation ( 4), we get It can be easily see that RBB L,k (t) 's are rational form of Base B-Spline curve mentioned in section 3.1, with the weight assigned to original polygon points get shifted to the new polygon points, i.e. on polygon points obtained by power of twiddle factors.Thus in transform case of Rational B-Spline curve, it gets generated by rational form of Base B-Spline curve, using knot vectors for defined B-Spline curve

EXAMPLE
We are showing the various cases of B-Spline curve and its rational form in transformed domain, on the basis of type of knot vectors, for the B-Spline curve defined by polygon points in Table 1.
Table 1  Error (0.000093118, 0.0006800) (0.00010484, 0.000093973) The Case is shown in domain.In this case B-Spline curve behaves similar to Bézier curve, so we get the result as that for Bézier curve in transformed domain.The Case is shown in figure 2(b) as B-Spline curve and it's rational from in the given domain, and figure 2(e) represents B-Spline curve and its rational form in transformed domain.The Case is shown in figure 2(c) as B-Spline curve and it's rational from in the given domain, and figure 2(f) represents B-Spline curve and its rational form in transformed domain.

FOURIER ANALYSIS FOR INTERVAL FORM OF BSPLINE CURVE
During the process of design, various parameters are specified.Instead of simply assigning one real value to a parameter; interval representation captures the uncertainty characteristics of design.

Rectangular Interval B-Spline Curve in Transformed Domain
Vector valued interval [P] in the most general terms is defined as any compact set of points (x,y) in two dimensions as tensor products of scalar intervals [8]: Such vector-valued intervals are clearly just rectangular regions in a plane.An interval B-Spline curve with rectangular vector interval [P i ] as control polygon vector vertices, is written in the form [ ]( ) ( ) where N i,k (t)'s are the B-Spline basis.For each t defined in given parameter range of knot vector of the given type, the value [P](t) of the interval B-Spline curve is a vector interval that has the following significance: for any B-Spline curve P(t) whose control (10) points satisfy P i ∈ [P i ] for i = 1,---,n+1 we have P(t) ∈ [P](t).Likewise, the entire interval B-Spline curve (10) defines a region in the plane that contains all B-Spline curves of similar type whose control points satisfy P i ∈ [P i ] for i=1,---,n+1.
Interval B-Spline curve defined by (10) can be written in centered form as follows are the center and error of vector interval P k respectively.
To analyze the interval form of B-Spline on rectangular domain, we first consider the center P c k as points on complex plane i.e.
Using FFT algorithm and the definition (3) we take the DFT of these centered points and obtain, Z is the transformed point , of center of rectangular control vector interval.

Circular Interval B-Spline Curve in the Transformed Domain
Interval B-Spline on circular domain is more natural generalization than on rectangular domain.It is defined as [6,7] where, n (P)t = (P )N (t) i i,k i=0 where z i is the centre of disk, and ε i is the radius , taken to capture the uncertainty characteristic of design.Thus, interval B-Spline curve using circular domain on complex plane, in component form can be written as n+1 (P)t = (P )N (t) i i,k i=1 n+1 iθ = (z + ε e )N (t) i i i,k i=1 n n iθ z N (t) + e ε N (t) for 0 θ 2π i i,k i i,k i=0 i=0 Using FFT algorithm and definition (3) we take the DFT of centered from and obtain ( )

Figure ( 2
(a)) for B-Spline curve and its rational form in the given domain and by figure 2(d) for B-Spline curve and its rational form in the transformed ) is the base B-Spline Curves given by (7) for L=0,…,n.Thus in transformed domain interval form of B-Spline curve get transformed as a curve ,with centered B-Spline curve generated by base B-Spline curve and it's error component, which is used to capture uncertainty characteristic of design, is used as it is.Figure3shows the rectangular interval B-Spline curve in the transformed domain..(11)

(
P ) = (c , c ) + ε (cosθ,sinθ), and , c ) 's are the given polygon points, with allowable error tolerance ε i and N (t) i,k 's are the B-Spline basis function.To analyze using DFT, we take the circular Interval on complex Plane as i.e.P = {z Z:| z -z | ε } i i i iθ P ={z Z: z = z + ε e ,0 θ 2 }

,
Where, z L is the transformed point of, center of control disk and BB (t) L,k is the base B-Spline curve given by (7) for L=0,…,n.Thus in transformed domain, original circular B-spline is again the curve generated by base B-Spline curve, with radius of disk used as in original domain, as shown in Figure4.