^{1}

^{2}

^{1}

^{1}

^{1}

^{1}

^{2}

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.

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

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 [

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 [

Comparison among parameterization methods.

Parameterization Method | Advantages | Disadvantages |
---|---|---|

Uniform [ | The parameter value is easy to calculate | In many cases, interpolation between edit points is not as good and can lead to unpredictable stretching of textures during rendering. |

Chord length [ | Minimizes stretching and squeezing of textures | A large bulge and twists away from the data point polygon may be generated. |

Centripetal [ | In some cases, may make smoother objects. On surface of very evenly spaced control points, it may give slightly better texture mapping results | A small loop may be produced. |

Exponential [ | Can freely select the resulting curve, in other word, generalization of uniform, chord length, and centripetal method | Difficult to find the suitable value of |

Universal [ | Affine invariant | Similar to uniform parameterization method |

Hybrid [ | Give better accuracy | Unstable and more computation effort due to the calculation of centripetal and chord length method. |

As Bezier curves cannot be modified locally and the movement of the control points will affect the whole curve shape [

As discussed in [

As mentioned in [

Beside that, as discussed in [

In general, the parameterization problem for B-spline curve is started with a set of 3D data points

The hybrid parameterization has better resulting curve in term of fairness and smoothness compared to uniform, chord length, and centripetal method [

The value of the numerator

The Framework.

The proposed method is introduced to overcome the weakness of hybrid parameterization. Assume

Let

Generate the knot vector,

Compute the B-spline basis function,

Calculate the median of both

Use

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.

Algorithm

INPUT:

OUTPUT:

THE ALGORITHM:

//Calculate initial parameter value

For

end

if (

for

end

else

for

end

end

END

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.

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 [

The data points sets used in this study, each data points set consists of 3D data points

Dataset 1 | |||

1 | 0.58072 | 2.08688 | 0 |

2 | 3.50755 | 2.05734 | 0 |

3 | 5.36585 | 3.24051 | 0 |

4 | 7.64228 | 6.74273 | 0 |

5 | 9.40767 | 7.79716 | 0 |

6 | 11.1963 | 7.94949 | 0 |

7 | 13.9837 | 6.73456 | 0 |

8 | 15.08595 | 4.83752 | 0 |

9 | 16.7247 | 2.71041 | 0 |

10 | 19.2799 | 2.03701 | 0 |

Dataset 2 | |||

1 | 1.83761 | 1.33271 | 0 |

2 | 0.726496 | 2.6504 | 0 |

3 | 4.82906 | 7.40482 | 0 |

4 | 5.12821 | 7.15185 | 0 |

5 | 8.4188 | 1.62069 | 0 |

6 | 8.84615 | 2.08095 | 0 |

7 | 9.44444 | 6.46124 | 0 |

Dataset 3 | |||

1 | 0 | 9 | 0 |

2 | 0 | 5 | 0 |

3 | 0 | 3 | 0 |

4 | 0 | 1 | 0 |

5 | 1 | 0 | 0 |

6 | 3 | 0 | 0 |

7 | 5 | 0 | 0 |

8 | 9 | 0 | 0 |

Dataset 4 | |||

1 | 32 | 14 | 0 |

2 | 34 | 10 | 0 |

3 | 36 | 9 | 0 |

4 | 38 | 12 | 0 |

5 | 38.2 | 11.7 | 0 |

6 | 42 | 14 | 0 |

7 | 44 | 12 | 0 |

8 | 46 | 13 | 0 |

9 | 48 | 7 | 0 |

10 | 50 | 6 | 0 |

11 | 52 | 10 | 0 |

12 | 54 | 10 | 0 |

13 | 56 | 10 | 0 |

14 | 58 | 10 | 0 |

Dataset 5 | |||

1 | 1.40152 | 2.75472 | 0 |

2 | 4.84848 | 8.41509 | 0 |

3 | 4.84848 | 9.4 | 0 |

4 | 6.21212 | 7.0566 | 0 |

5 | 5 | 4.22642 | 0 |

6 | 9.01515 | 1.32075 | 0 |

Dataset 6 | |||

1 | −64.9885 | −3.47 | 10 |

2 | −64.9885 | 1.17851 | 10 |

3 | −64.9885 | 4.71172 | 10 |

4 | −64.9885 | 8.23099 | 10 |

5 | −64.9885 | 11.7234 | 10 |

6 | −64.9885 | 15.177 | 10 |

7 | −64.9885 | 18.5811 | 10 |

8 | −64.9885 | 21.9267 | 10 |

9 | −64.8629 | 25.1835 | 10 |

10 | −64.3195 | 27.1986 | 10 |

11 | −63.7437 | 28.4339 | 10 |

12 | −63.0155 | 29.5658 | 10 |

13 | −62.1502 | 30.5815 | 10 |

14 | −61.1627 | 31.4684 | 10 |

15 | −60.0687 | 32.2155 | 10 |

16 | −58.8839 | 32.8123 | 10 |

17 | −57.6241 | 33.2485 | 10 |

18 | −56.3068 | 33.5147 | 10 |

19 | −54.9499 | 33.602 | 10 |

20 | −51.8667 | 33.602 | 10 |

21 | −48.783 | 33.602 | 10 |

22 | −45.6989 | 33.602 | 10 |

23 | −42.6143 | 33.602 | 10 |

24 | −39.5292 | 33.602 | 10 |

25 | −36.4438 | 33.602 | 10 |

26 | −33.3579 | 33.602 | 10 |

27 | −30.2717 | 33.602 | 10 |

28 | −27.1852 | 33.602 | 10 |

29 | −24.0983 | 33.602 | 10 |

30 | −21.0111 | 33.602 | 10 |

31 | −17.9236 | 33.602 | 10 |

32 | −14.8359 | 33.602 | 10 |

33 | −11.7479 | 33.602 | 10 |

34 | −8.65971 | 33.602 | 10 |

35 | −5.57133 | 33.602 | 10 |

36 | −2.48278 | 33.602 | 10 |

37 | 0.605909 | 33.602 | 10 |

38 | 3.69473 | 33.602 | 10 |

39 | 6.78365 | 33.602 | 10 |

40 | 9.87265 | 33.602 | 10 |

41 | 12.9617 | 33.602 | 10 |

42 | 16.0508 | 33.602 | 10 |

43 | 19.1399 | 33.602 | 10 |

44 | 22.229 | 33.602 | 10 |

45 | 25.3181 | 33.602 | 10 |

46 | 28.4071 | 33.602 | 10 |

47 | 31.496 | 33.602 | 10 |

48 | 34.5849 | 33.602 | 10 |

49 | 37.6736 | 33.602 | 10 |

50 | 40.7622 | 33.602 | 10 |

51 | 43.8506 | 33.602 | 10 |

52 | 46.9388 | 33.602 | 10 |

53 | 50.0218 | 33.5576 | 10 |

54 | 52.0115 | 33.1629 | 10 |

55 | 53.2678 | 32.6832 | 10 |

56 | 54.4462 | 32.0405 | 10 |

57 | 55.5291 | 31.2451 | 10 |

58 | 56.4991 | 30.3076 | 10 |

59 | 57.3395 | 29.2401 | 10 |

60 | 58.0337 | 28.0564 | 10 |

61 | 58.5653 | 26.7706 | 10 |

62 | 58.9177 | 25.3996 | 10 |

63 | 59.074 | 23.9625 | 10 |

64 | 59.0805 | 20.619 | 10 |

65 | 59.0805 | 17.2107 | 10 |

66 | 59.0805 | 13.7467 | 10 |

67 | 59.0805 | 10.2369 | 10 |

68 | 59.0805 | 6.69301 | 10 |

69 | 59.0805 | 3.12756 | 10 |

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

Dataset 1.

Dataset 2.

Dataset 3.

Dataset 4.

Dataset 5.

Dataset 6.

The dataset 1 is shown in Figure

Parameter and knot distribution of (a) centripetal, (b) exponential, (c) proposed parameterization method, and (d) chord length.

Similar results are also shown by uniform and universal parameterization in Figures

Parameter and knot distribution of (a) uniform and (b) universal parameterization method.

The only different result is given by hybrid parameterization as illustrated in Figure

Parameter and knot distribution of old hybrid parameterization method.

Curve interpolation for Dataset 1 using (a) centripetal, (b) exponential, (c) uniform, (d) proposed, (e) chord length, (f) hybrid, and (g) universal parameterization method.

Figures

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

Parameter and knot distribution of (a) exponential and (b) proposed parameterization method.

Curve interpolation for dataset 2 using (a) centripetal, (b) exponential, (c) uniform, (d) proposed, (e) chord length, (f) hybrid, and (g) universal parameterization method.

In dataset 3, the proposed method has better result as shown in Figure

Figure

B-spline basis function of old hybrid parameterization method.

Knot and parameter value distribution of old hybrid parameterization method.

Curve interpolation for dataset 3 using (a) centripetal, (b) exponential, (c) uniform, (d) proposed, (e) chord length, (f) hybrid, and (g) universal parameterization method.

The interpolation results for dataset 4 are shown in Figures

Curve interpolation for dataset 4 using (a) centripetal, (b) exponential, (c) uniform, (d) proposed, (e) chord length, (f) hybrid, and (g) universal parameterization method.

The hybrid result is depicted in Figure

Figures

Parameter and knot distribution of (a) exponential and (b) chord length parameterization method.

Curve interpolation for dataset 5 using (a) centripetal, (b) exponential, (c) uniform, (d) proposed, (e) chord length, (f) hybrid, and (g) universal parameterization method.

A small loop is generated on the collinear data points by using uniform and universal method as illustrated in Figures

Figures

Parameter and knot distribution of (a) centripetal, (b) exponential, (c) uniform, (d) proposed, (e) chord length, (f) hybrid, and (g) universal parameterization method.

Curve interpolation for dataset 6 using (a) centripetal, (b) exponential, (c) uniform, (d) proposed, (e) chord length, (f) hybrid, and (g) universal parameterization method.

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

See Table

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.