The use of computer graphics in many areas allows a real object to be transformed into a three-dimensional computer model (3D) by developing tools to improve the visualization of two-dimensional (2D) and 3D data from series of data point. The tools involved the representation of 2D and 3D primitive entities and parameterization method using B-spline interpolation. However, there is no parameterization method which can handle all types of data points such as collinear data points and large distance of two consecutive data points. Therefore, this paper presents a new parameterization method that is able to solve those drawbacks by visualizing the 2D primitive entity of scanned data point of a real object and construct 3D computer model. The new method has improved a hybrid method by introducing exponential parameterization method in the beginning of the reconstruction process, followed by computing B-spline basis function to find maximum value of the function. The improvement includes solving a linear system of the B-spline basis function using numerical method. Improper selection of the parameterization method may lead to the singularity matrix of the system linear equations. The experimental result on different datasets show that the proposed method performs better in constructing the collinear and two consecutive data points compared to few parameterization methods.

1. Introduction

The usage of computer graphics allows real life to be modeled in a computer model. A computer model makes the work much easier and more effective. At the beginning, the computer model is visualized as wire-frame model then rigged and rendered at the end. In addition, animation of the computer model can be added to bring a computer model close to the original model. There are many applications in engineering, scientific visualization, medical imaging, image processing, design, and entertainment industry that use the aid of computer graphics. The sophisticated computer graphics techniques, which involve the geometric modeling of curves and surfaces, differential geometry, and so forth, are needed for realistic 3D modeling such as virtual reality and computer-aided design (CAD). One of example of emerging application in CAD is the reverse engineering process in manufacturing industry.

The reverse engineering process is the creation process of computer model from its original real-life model or its prototypes. Basically, the reverse engineering process is started from a point which could be obtained from a scanner device then locally modeled to be interpolated or approximated by using surface patches. The interpolation and approximation are done by performing parameterization over the data points at the beginning. This paper presents new parameterization method on B-spline curve. Accordingly, this paper is further organized into five sections. Section 2 presents state of the art on parameterization methods; Section 3 presents proposed techniques and methodology; Section 4 exhibits analysis and discussion of results along with detail pictures of experimented data. Finally, conclusion and future work are presented in Section 5.

2. Background

2.1. Parameterization Methods

The parameterization of 2D or 3D data points is one of the fundamental steps in many CAGD applications such as texture mapping, remeshing, typography, and curve and surface fitting [13]. For example, in [4], they applied a new method to enhance the accuracy of image fitting which is based on boundary moment invariants. While for [5], they had derived an equation to compute the volume of the NURBS shape and obtained more accurate results.

The parameter value reflects the distribution of the data points. Some previous research works have been done on parameterization method starting from the easiest method such as uniform [6], intermediate method, for instance, exponential [7], universal [8], and hybrid [9], until complex calculation such as rational chord length parameterization [10]. The most common method used in solving the parameterization problems was centripetal method [11]. Most of the works were focusing on general curves while for the closed curve is as explained in [12]. There are some works based on best parameterization method in [2]. However, the best approximation method is still depending on the designer. There are many popular parameterization methods such as uniform, chord length, and centripetal. However, these parameterizations presented that the state of the art contains pros and cons as stipulated in Table 1.

2.2. B-spline

As Bezier curves cannot be modified locally and the movement of the control points will affect the whole curve shape [13], hence, the researchers try to solve the problems. Finally, B-spline method has been generalised from Bezier method to overcome the problems faced and it can be up to continuity [14].

As discussed in [13, 15, 16], a th-degree B-spline curve can be defined as and the Basis Function are recursively defined as [15] where are the control points, for example, , are the th-degree B-spline basis function, is the knot vector with the range .

As mentioned in [15], B-spline curve can be defined as a polynomial spline function of order (degree ) and composed of [13] when it satisfies the condition: with degree polynomial on each interval and with the order of derivatives are continuously on the curve.

Beside that, as discussed in [17], when the degree is lower, the closer the curve follows the control polyline. In the work [18], the authors mentioned that B-spline is the useful tool in computer performance. Some previous work has been studied on the topic related to B-spline. In [19], the authors used B-spline to build several models of LV inside wall and the models were calculated by B-spline integral and the curves were fitted in the cardiac cycle. While in [20], the authors maintained the B-spline basis and retaining full approximation power of it at the same time. For [21], their algorithm is applied in the least-square sense by generating suitable control points of the fitting B-spline curve.

In general, the parameterization problem for B-spline curve is started with a set of 3D data points . Then, by finding a corresponding nondecreasing sequence of value , a function , such that .

3. The Proposed Methodology

3.1. Experimental Design

The hybrid parameterization has better resulting curve in term of fairness and smoothness compared to uniform, chord length, and centripetal method [9]. This is because based on the comparison on the previous section, this method produces better accuracy on results compared to other methods and hence has been chosen to further explore this research. However, the hybrid parameterization method has a drawback. Consider (3.1):

The value of the numerator will close to zero as , thus, . As a result, the matrix of system of linear equation will be singular as . To overcome this shortcoming, the authors propose a new parameterization method on B-spline curve presented in the following section. Figure 1 shows the framework design for this research.

3.2. New Proposed Parameterization Method

The proposed method is introduced to overcome the weakness of hybrid parameterization. Assume are number of given data points, and is the degree of expected curve, thus, the determination of the parameter value is calculated as follows.

(1)Let be the initial parameter value, then find by performing the exponential parameterization method with . The value of is determined based on experiment result.(2)Generate the knot vector, , by using averaging knot vector method.(3)Compute the B-spline basis function, , and find the maximum value of , on each span. After are obtained, determine the new parameter value, , which is associated with by solving the system of linear equations of B-spline basis function, , or by using numerical method such as Newton-Raphson method to search value: (4)Calculate the median of both and value and then compute the difference between them. Let be the difference between them, thus the new parameter value, , is determined as follow: (5)Use and as final parameter value and knot vector.

By using above method, the resulting curve is expected to overcome the drawback of hybrid parameterization method. This is due to the methods proposed by previous researchers sometimes maybe cannot produce better result if compared to other methods. Maybe it can only produce better result if using other dataset. Hence, this method is expected to handle all kind of data and generate better curves. Moreover, the steps above were illustrated and presented in the algorithm form in the following section.

3.3. Implementation of the Proposed Parameterization Method

Algorithm 1 is the implementation of the proposed method in the pseudocode form. The 3D data point is an input while parameter value and knot vector are the output which can be used to build the basis value and construct the B-spline curve at the end.

: -3D data points
: Number of data points
: Degree of the curve
: Parameter value
: Knot vector
 //Calculate initial parameter value
Exponential Parameterization ( , 0.8);
Averaging Knot Vector ( );
   Bspline Basis Function ( );
 if ( )

4. Result and Discussion

This section presents experimental data, results, and analysis of the proposed method in comparison with the previous methods reported in literature. Both the proposed and previous methods are compared using the same data points.

4.1. Data Definition and Collection

Datasets which are used in this study are taken from the previous studies. There are six datasets. The datasets 1, 2, 3, and 5 are obtained from [2225], respectively. In addition, dataset 6 which is one of the cross-sectional curve data of brush handle model obtained from [26] is also used for testing, while the dataset 4 is generated points data. The complete data points are listed in Table 2.

Each dataset has different characteristics. For instance, dataset 1 is simple data points. There are no collinear points and no two consecutive data points. The dataset 2 is one example of data points set which has two consecutive and large distances between two data points. Dataset 3 has collinear points at the start and the end of the data. The dataset 4 is the combination of the characteristic of previous datasets. That has two consecutive, collinear, and large distances between two data points. The dataset 5 has similarity to the dataset 2 but with collinear data points near the top. In addition, the dataset 6 has at most data points compared to the others (Figures 2, 3, 4, 5, 6, and 7).

4.1.1. Dataset 1

The dataset 1 is shown in Figure 8. It has 10 data points which are marked with a circle. Figures 11(a)11(g) show the interpolation curve result of dataset 1. The data points are marked with a square while the control points are marked with a circle. The results show that centripetal, exponential, proposed, and chord length methods in Figures 11(a), 11(b), 11(d), and 11(e) have similar results. This is also strengthened by examining the distribution of the parameter value as depicted in Figures 8(a)8(d). The blue dots represent a knot value while the red bar is parameter value. The figures show that centripetal, exponential, proposed method, and chord length have similar parameter value distribution.

Similar results are also shown by uniform and universal parameterization in Figures 11(c) and 11(g). However, it has inflection point at near the top of the curve and universal parameterization has wider distance parameter value compared to uniform parameterization as depicted in knot and parameter distribution shown in Figures 9(a) and 9(b).

The only different result is given by hybrid parameterization as illustrated in Figure 11(f). It has bulky curve at the start and end of data point due to a big distance at the start and end of the generated parameter value as presented in Figure 10.

4.1.2. Dataset 2

Figures 13(a)13(g) are the resulting curve of dataset 2 which has been constructed by various parameterization methods. Figure 13(a) depicts the interpolation curve which is constructed by centripetal method while Figure 13(e) is constructed by using chord length method. As seen in Figure 13(e), the chord length method has bulky result at two neighbor points with longer distance compared to centripetal, exponential, and proposed method in Figures 13(a), 13(b), and 13(d). The hybrid method generates unpredicted result in Figure 13(f) since it cannot handle two adjacent points as also shown with the uniform and universal parameterization method which produces small loop as shown in Figures 13(c) and 13(g).

For this dataset, the proposed method has similar result with the exponential since the proposed method is an extension of exponential method as shown in Figures 13(d) and 13(b). This is also strengthened by the similarity of the parameter and knot distribution which is depicted in Figures 12(a) and 12(b).

4.1.3. Dataset 3

In dataset 3, the proposed method has better result as shown in Figure 16(d). It shows that the proposed method can handle collinear data. Similar results are also achieved by uniform and universal method in Figures 16(c) and 16(g) as well as centripetal and exponential method in Figures 16(a) and 16(b), respectively. In addition, Figure 16(e) shows that the chord length parameterization has bulky result compared to the others.

Figure 16(f) shows the unexpected result that is constructed by hybrid parameterization method. This may occur due to the similarity value of two consecutive basis values as shown in Figure 14. Since there is similarity of two basis function value, thus, this leads to the similarity of the parameter value () which can cause the singularity of the matrix of linear equations (Figure 15).

4.1.4. Dataset 4

The interpolation results for dataset 4 are shown in Figures 17(a)17(g). The centripetal and exponential methods, which are illustrated in Figures 17(a) and 17(b), have similar results of each other. It is shown at the beginning of data points and at the end of the data points. The interpolation result on collinear data points has few bulky result on the curve while chord length, which is shown in Figure 17(e), has twisty results at the beginning of the curve but performs better in handling collinear data points at the end. Moreover, the proposed method has similar result shown in Figure 17(d). These all are shown in Figures 17(a), 17(b), 17(d), and 17(e).

The hybrid result is depicted in Figure 17(f). It shows the hybrid parameterization method generating unwanted curve while interpolating two adjacent and collinear data points. Furthermore, the uniform and universal method produces small cusp in the two adjacent data points in Figures 17(c) and 17(g).

4.1.5. Dataset 5

Figures 19(a)19(g) present the interpolation results for dataset 5. The centripetal and proposed method has better result compared to the others. It is shown in Figures 19(a) and 19(d), respectively. The exponential and chord length methods have similar result, they produce bulky result for two consecutive data point with a long distance (Figures 19(b) and 19(e)). This is also strengthened by the similarity of the parameter and knot distribution which is shown in Figures 18(a) and 18(b).

A small loop is generated on the collinear data points by using uniform and universal method as illustrated in Figures 19(c) and 19(g). Moreover, the resulting curve constructed by using old hybrid parameterization is illustrated in Figure 19(f).

4.1.6. Dataset 6

Figures 21(a)21(g) have depicted the interpolation curve of dataset 6. For this dataset, all the parameterization methods work well in constructing the curve, except the hybrid parameterization which has cusp near the corner as shown in Figures 20(a)20(g). It also can be seen that all the parameterization methods have similarity of parameter and knot distribution which is illustrated in Figures 21(a)21(f).

5. Conclusion and Future Work

The generation of the B-spline curve interpolation is started by parameterizing the data points followed by generating knot vector and finished by solving the system of linear equations. Each parameterization methods have different properties that cause varied shape of the curve. There are many parameterization methods that have been developed by previous researchers. In this study, the new parameterization method is developed.

The experiment on proposed method is conducted on various datasets which include collinear data points, two adjacent data points, and a long distance of consecutive data points. In conclusion, based on the analysis of the experiment results, in average, the proposed method has the better result compare to the others in Datasets 3 and 5. However, this method shows the best result in Dataset 3 where the curve roughly maps all points on the line if compared with the centripetal method. It shows that the proposed method works well in handling collinear data points, two adjacent data points both vertical and horizontal, and a long distance between two data points. The methods maybe not as good as others for certain experiments, but based on the experiments that have been carried out, it shows that this method can produce all good and better results compared to hybrid parameterization method. While for hybrid parameterization, it does not show that it is better compared to other methods in producing the results for this research. This can be shown by the results produced based on Datasets 3 and 5. Maybe it is due to the type of dataset. This method could be better in producing the results if using other dataset.

The main contribution of this research is the development of new parameterization method which can handle collinear, two adjacent, and a long distance of two consecutive data points. As shown in the experiment result, Figure 17(d), the proposed method has bulky result compared to the chord length method. Therefore, the reparameterization can be conducted to the proposed method to improve the result. The reparameterization process can be done through optimization method.


See Table 2.


This study is a joint research between Universiti Teknologi Malaysia and Al-Imam Muhammad Bin Saud Islamic University. The authors honorably appreciate both parties for the support in making this project successful.