Skip to main content
Advertisement
Browse Subject Areas
?

Click through the PLOS taxonomy to find articles in your field.

For more information about PLOS Subject Areas, click here.

  • Loading metrics

B-spline curve fitting based on dynamic adjustment of knot vector using feature points

Abstract

An essential challenge in B-spline curve fitting is how to produce a B-spline curve that satisfies the accuracy requirement with a minimal number of knots and control points. This paper suggests a better algorithm based on feature points method. During the curve approximation process, the projection points of data points and their parameters are calculated, and the data point parameters are corrected to achieve dynamic adjustment of the knot vector. At the same time, traditional methods are improved in terms of initial feature point selection and new feature points determination. The experimental results indicate that the B-spline curve produced using the method in this work has higher fitting accuracy, fewer control points, and shorter fitting time.

Introduction

Methods for modifying the shape of a B-spline curve include changing control points and knot vector. Generating a B-spline curve that meets the accuracy requirements with a small number of knots and control points is an important problem in B-spline curve fitting [15]. Park et al. [6] proposed a dominant points method, denoted as DOM, for B-spline approximation. Zhang et al. [7] proposed a new geometric iterative fitting method, which possesses the advantages of least squares iterative approximation method, can flexibly adjust the number of control points and knot vector. B-spline curve fitting technology has been widely used in tool path generation in CNC machining [810]. Hu et al. [11] proposed a cubic B-spline curve fitting method to deal with linear tool paths. The fitting error estimation scheme based on the Newton method and the dominant points insertion scheme based on fitting error constrain were proposed to modify the B-spline, which achieve data compression. The number of control points of curve fitting by these methods is smaller than the traditional least square fitting method. However, the knot vector is calculated according to the parameter values of the feature points that remain unchanged throughout the curve fitting process, which may still result in more fitting times and control points [1216]. This paper proposes an improved B-spline curve fitting method based on dynamic adjustment of knot vector, which is denoted as DAKM algorithm. The DAKM algorithm enhances the dominant points fitting algorithm by optimizing the initial feature point selection, feature points parameters adjustment, and new feature points determination. Experimental results demonstrate that the DAKM algorithm achieves higher fitting accuracy, fewer control points and shorter fitting time for B-spline curves.

Preliminaries

Definition of B-spline curve

A parametric B-spline curve of degree k is defined by [11]:

(1)

where are control points of B-spline curve of degree k, and Ni,k(u) are the basic function of B-spline curve, and knot vector is defined as follows:

(2)

By adjusting knot vector, control points, the local shape of B-spline curve can be changed.

Determination of knot vector

When defining a B-spline curve of degree k , knot vector need to be determined. The knots repeatability of knot vector at both sides is k+1, namely ,.

The commonly methods for parameterization are uniform parameterization, cumulative chord length parameterization, centripetal parameterization, corrected string length parameterization [17]. When control points are unknown, the knot values are calculated from the data points to be fitted. It is necessary to parameterize the given data points, and the parameterization of the data points has an important impact on fitting accuracy and efficiency of the curve [11,12]. Set be data points to be fitted, the data points are parameterized using cumulative chord length method, then we have:

(3)

So the inner values of the knot vector is [17,18]:

(4)

where , , , the inner values determined by the above equation guarantees that each knot interval possess at least one data point parameter . When m=n, the inner values computation method is called AVG (Averaging Technique) method, when m>n, the inner values computation method is called KTP (Knot Placement Technique) method.

De-Boor algorithm of B-spline curve

In this paper, the points corresponding to the minimum distances from data points to B-spline curve are called projection points of data points. When calculating these projection points and their parameters, it is necessary to calculate the points on B-spline curve and their derivatives. Here De-Boor algorithm is used, the recursive formula is [17]:

(5)

Where

(6)(7)

The recursive formula for calculating r-order derivatives of B-spline curve is [17,18]:

(8)(9)

Formula (8) shows that the r-order derivatives of B-spline curve of degree k can be expressed as B-spline curve of degree (kr), which recursive calculation of controls points is according to Formula (9), and its knot vector is:

(10)

The 1st and 2nd order derivatives of endpoints of the k-degrees B-spline curve can be obtained:

(11)(12)

B-spline curve fitting using feature points

When fitting B-spline curve using feature points, a B-spline curve with less error can be obtained with the same number of control points. Conversely, fewer control points are required for the same fitting accuracy, compared to other methods. The feature point algorithms usually take four main steps: parameterization, feature point selection, knot placement, and least squares fitting. These approaches are different from the conventional approaches in knot placement and feature point selection [17].

When selecting initial feature points, the local curvature method is used to determine the initial feature points. With a given initial fitting accuracy, a B-spline basis curve is fitted firstly, then the curvature at each data point is calculated based on the basis curve. The initial feature point linked list is formed by the local curvature maximum points, the first and last points of the data points. If the curvature of the basis curve changes frequently, the initial feature points determined by the local curvature maximum may result in more control points. This is because the number of feature points is equal to the number of control points, and more feature points correspond to more control points in these algorithms.

According to the parameters of feature points, the knot vector is calculated using the average parameter method (AVG method). The least square method is used to fit the data points and fitting error is computed. However, a single fitting might not always meet the desired accuracy. In such cases, a new feature point is added, the knot vector is recalculated, and the least squares fitting is performed again. This fitting process is repeated until the desired fitting accuracy is achieved. Set to the maximum deviation between the data points and the fitted curve, then we have:

(13)

Since is usually not the closest point on the curve with pi, therefore, may not be the actual maximum deviation of the data point and the fitted curve. On the other hand, in the entire curve fitting process, the feature points parameters remain unchanged. These may produce more feature points during the fitting process, resulting in more fit times and control points [1821].

The DAKM algorithm

Steps of DAKM algorithm

Fig 1 illustrates the fitting flow of DAKM algorithm. The biggest difference between DAKM algorithm and other feature point algorithms lies in the calculation of maximum deviation, projection point parameters, and feature point parameter correction. In addition, this algorithm has improved existing algorithms in terms of initial feature point selection and new feature point determination. In the fitting process, in order to calculate the maximum deviation between the fitted data points and the fitted curve, the Newton iteration method is used to calculate the points on the fitted curve that are closest to the fitted data points, and these points on the fitted curve are called the projection points of the fitted data points. When the projection points and its parameters are determined, the projection point parameters are used to correct the parameters of the feature points. In the subsequent fitting process, the parameter values of the fitted data points for calculating knot vectors are dynamically changing, which is fundamentally different from the traditional feature points methods. The steps of the algorithm are as follows:

  1. (1) Data points parameterization. The parameters of the data points are calculated by accumulated chord length parameterization.
  2. (2) Select the initial feature points. The curvature threshold segmentation is used to select the initial feature points. The local curvature maximum points, the first and last points of the data points are used as initial feature points (details in subsection Selection of initial feature points).
  3. (3) Based on the parameters of the feature points, the knot vector is calculated using the average parameter method (details in subsection Knot vector calculation and localization analysis).
  4. (4) The least square method is used to fit the data points and fitting error is computed.
  5. (5) Calculate the maximum deviation and projection point parameters (details in subsection Calculation of projection points for B-spline fitting curve).
  6. (6) Identify new feature point and add it into the initial feature points linked list, and adjust the parameters of feature points (details in subsection New feature point determination and its parameter adjustment).
  7. (7) If the fitting error is less than the desired accuracy, the fitting curve is obtained. Otherwise, a new feature point is determined, and added to feature point list. Then, Step (3) is repeated until the fitting error is within the desired value.

Selection of initial feature points

The data points are preprocessed before selection of initial feature points. Firstly, the distance is calculated between the data point and the previous data point in sequence,then the data point is deleted if the distance of adjacent data points is less than the fitting error. The DOM algorithm uses the local curvature extremum method to determine the initial feature points. Firstly, a B-spline basis curve is fitted based on the given initial fitting accuracy. Then, by calculating the curvature of the basis curve at each data point, an initial feature point linked list is formed, including the local curvature maximum point and the first and last points of data points.

The curvature threshold segmentation method is used to select the initial feature points in DAKM algorithm. Firstly, calculate the curvature radius of the data points sequentially based on the fitted B-spline basis curve. Then, given a curvature radius threshold, data points are segmented into several regions. Finally, in each data region, calculate the average value of curvature radius, and the point corresponding to the curvature radius closest to the average value is the feature point in that data region. Let the curvature radius of the data point along the tangent direction be , the curvature radius is divided into n regions called , the curvature radius in th region is , j0 is the serial number of the starting curvature radius in the region, s is the number of curvature radius. The basic steps for initial feature points selection are as follows:

  1. (1) Iterate over the curvature radius , dividing it into n regions. Set be the fitting accuracy, is the threshold of radius curvature, the specific formula is , if , belongs to the same region.
  2. (2) Calculate the average curvature radius of the region .
  3. (3) Calculate the minimum between and in region, then we have:(14)
  4. (4) Assuming that the curvature radius number corresponding to is f(j), and the feature points are , then the feature point corresponding to region is selected as:(15)

Knot vector calculation and localization analysis

If KTP method is used to determine the knot vector, the planned knot vector may contain more node values [2226]. Both DOM algorithm and DAKM algorithm employ the AVG method to calculate the knot vector, based on the feature point parameters. Supposing the degree of fitting curve is K, the parameter of point pi is , is a knot vector and the parameter value for feature point qj is , then the inner knot values of the DAKM algorithm is:

(16)

Data points often need to be fitted multiple times to meet accuracy requirements. After each fitting, DOM and DAKM algorithms can lead to a change in the number and values of nodes in knot vector due to the addition of new feature points. In each fitting process of DAKM algorithm, the feature points are obtained from the fitted data points, the projection points and their parameters for the fitted data points are calculated, and the data points parameters are replaced with the projection points parameters. That is to say, the feature point parameters are corrected during the fitting process (refer to subsection New feature point determination and its parameter adjustment for more details). However, the DOM algorithm keeps the parameters of the feature points constant.

The knot vector computed by DAKM algorithm contains fewer knot values and possesses locality. Suppose the newly added feature point is qw, the corresponding parameter is , . The feature points after the new feature point is added are denoted as , then we have:

(17)

The parameters for the new feature point are:

(18)

The inner knot values of the new knot vector are:

(19)

By the Formulas (18) and (19), the relationship between the new knot vector and the original knot vector can be obtained:

(20)

From the above formula, it can be seen that the number of nodes in the knot vector may increase by 1 and at most k node values may change after inserting a new feature point. The knot vector has locality, which means that impact of a new feature point on the fitting curve is local.

Calculation of projection points for B-spline fitting curve

The projection points and their parameters of data points are calculated in DAKM algorithm during fitting process. Set as the parameter value corresponding to the data points to be fitted, and accumulation chord length method is used to parameterize the data points. Set n be the number of control points and the knot vector be . Set be the control points to be solved, Nj,k(u) be a B-spline basis function. Set boundary conditions as: p0 = p(0), pm = p(1), , . By least squares method, the objective function is obtained:

(21)

The partial derivative of the above equation is calculated and its value is set to zero, the following equation with control points as variables can be obtained:

(22)

where,

(23)(24)

In the above equation,

(25)

The fitting error is the maximum distance from all data points to the fitted curve, where the distance from the data point to the fitted curve needs to be calculated iteratively [27,28]. Let the fitting error be , the fitting accuracy is , then there is accuracy control condition:

(26)

To calculate the fitting error, it is necessary to determine the projection points of each data point and its parameters [29]. In Fig 2, there is the objective function:

(27)

When , the distance from pi to p(u) is the shortest. Let d(u) be the distance between p(u) and pi, the cosine of the angle between and [pi,p(u)], and be a tiny quantity, then the termination condition of iteration is [30,31]. Here, c(u) is the cosine of the angle between and [pi,p(u)]. Set the iterative initial value be , after r iterations, parameter is , then we have:

(28)

is the projection point of data point pi, and its parameter is used to replace the data point parameter. Parameter ur should be between 0 and 1. If ur is greater than 1, no correction will be made and the initial value will be taken. For cases of non convergence, the iteration loop will be terminated without any parameter adjustments.

New feature point determination and its parameter adjustment

After each fitting, the data point corresponding to the maximum deviation is determined. However, using point as the new feature point directly may result in more control points, and point is often used to determine the curve segment in which the new feature point is located [32,33]. As shown in Fig 2, and are the segmented connection points on the parameter curve calculated based on the knot vector U, and pi are the data points inside the curve segment , that is, the initial data points to be fitted. Then, according to the principle of “maximum angle between adjacent line segments", the data point pi with the largest adjacent angle is used as the new feature point. The fitting curve that meets accuracy requirements usually needs to be fitted multiple times. Except the first fitting, a new feature point is added before each fitting. The steps for determining a new feature point are as follows [34,35]:

  1. (1) Determine the data point corresponding to the maximum deviation .
  2. (2) Compute the segmented connection point of the curve based on the knot vector U.
  3. (3) Determine the curve segment where point is located, that is, the x coordinate of point is within the x coordinate range of point , .
  4. (4) Determine data point pi within the curve segment , that is, the x coordinate of point pi is within the x coordinate range of point , .
  5. (5) Calculate the angle of adjacent line segments.
  6. (6) Select the data point corresponding to the maximum value of as the new feature point. Set to be the serial number of the selected data point, the new feature point is:(29)

In DAKM algorithm, new feature points that have been added to the feature point linked list are marked, thus, the same new feature point will be avoided and duplicate knots are not included. After a new feature point is added, the feature points are . Set g(j) be the serial number of the data point corresponding to the feature point qj, namely the serial number of projection point, so the feature point parameter is corrected to:

(30)

Experimental verification

Experimental data

The experiment is conducted under the Dental CAD/CAM prototype system developed by the author’s team in the early stage, using VC++ and HOOPs as development tools. The B-spline tool path generation for CNC machining of the outer surface of human molar is used as an example [31]. The triangular mesh model of teeth is reconstructed from 3D laser point cloud data, and Fig 3 shows the three-dimensional mesh model of molar with lighting effect in Dental CAD/CAM. The molars model is a triangular mesh model with 6064 vertices and 11887 triangular pieces, and its size of the bounding box is 15 mm 15 mm 6 mm.The data points to be fitted in the planes are obtained by intersecting a series of section planes and triangular mesh model, as shown in Fig 4, the discrete data points in each plane are a set of test data. In this experiment, the spacing between the section planes is 0.1 mm, with a total of 148 section planes, resulting in 148 sets of test data. Fig 5 shows the linear tool paths using the section plane method in Dental CAD/CAM. Fig 6 shows the linear tool path with section plane of XOZ, with a total of 163 data points.

thumbnail
Fig 3. The outer surface of human molar.

(Reprinted from [36] under a CC BY license, with permission from [The Science Press], original copyright [2010]).

https://doi.org/10.1371/journal.pone.0325458.g003

thumbnail
Fig 4. Intersection between cutting planes and a triangular mesh surface.

https://doi.org/10.1371/journal.pone.0325458.g004

thumbnail
Fig 5. Tool path generated by the section plane method.

(Reprinted from [36]under a CC BY license, with permission from [The Science Press], original copyright [2010]).

https://doi.org/10.1371/journal.pone.0325458.g005

Experimental analysis

Traditional least squares fitting, DOM, and DAKM algorithms are used to fit B-spline curve. In traditional least squares fitting, knot vectors are calculated using KTP method. In DOM and DAKM algorithms, knot vectors are calculated using AVG method. Therefore, the traditional least squares fitting method is abbreviated as KTP algorithm.

The data points in the XOZ plane are fitted using KTP, DOM, and DAKM algorithm, respectively. Fig 7 shows a comparison of the knot value distributions of three algorithms. From the distribution of inner knot values, the KTP algorithm has a relatively uniform distribution and the largest number of nodes in knot vector, followed by the DOM algorithm, while the DAKM algorithm has a less uniform distribution and the smallest number of nodes. The more evenly and numerous the node values are distributed, the greater the number of control points are required. Table 1 shows the experimental result using different fitting algorithms, indicating that the B-spline curve fitted by the DAKM algorithm requires fewer control points, has a shorter execution time, and a smaller fitting error.

thumbnail
Fig 7. Comparison of knot value distributions for three algorithms.

https://doi.org/10.1371/journal.pone.0325458.g007

thumbnail
Table 1. Comparison of experimental data from three different algorithms.

https://doi.org/10.1371/journal.pone.0325458.t001

Then, KTP, DOM, and DAKM algorithm are carried out to fit the data points in each section plane, and the fitting accuracy was 0.005 mm, 0.01 mm, 0.02 mm, 0.05 mm, and 0.1 mm, respectively. Fig 8 shows the number of control points required by the three algorithms at different fitting accuracies. As the fitting accuracy improves, the number of control points required by the three algorithms increases. Among the three algorithms, the DAKM algorithm requires the fewest number of control points under the same fitting accuracy.

thumbnail
Fig 8. Comparison of the number of control points for the three algorithms.

https://doi.org/10.1371/journal.pone.0325458.g008

Fig 9 shows the average fitting error of the three algorithms under different fitting accuracies. The average fitting error of the KTP and DOM algorithms is very close, while the average fitting error of the DAKM algorithm is smaller than the other two algorithms. Fig 10 shows the execution time of the three algorithms under different fitting accuracies. As the fitting accuracy improves, the execution time of the three algorithms increases. The execution time of the KTP algorithm increases rapidly, while the execution time of the DAKM algorithm is the lowest among the three algorithms under the same fitting accuracy.

thumbnail
Fig 9. Comparison of average fitting errors for the three algorithms.

https://doi.org/10.1371/journal.pone.0325458.g009

thumbnail
Fig 10. Comparison of execution time for the three algorithms.

https://doi.org/10.1371/journal.pone.0325458.g010

Conclusion

A B-Spline curve fitting algorithm based on dynamic adjustment of knot vector is proposed in this paper. Improvements have been made to the DOM algorithm in terms of the calculation of projection points and their parameters, and correction of feature point parameters. During the fitting process, the projection points and their parameters of the data points are iteratively calculated, and the feature point parameters are corrected to achieve dynamic adjustment of the knot vector. However, the current experimental data is two-dimensional data, and further verification is needed to determine whether it is suitable for three-dimensional spatial data points. On this basis, DAKM algorithm is applied to B-Spline curve fitting of CNC linear tool paths. The results of experiment demonstrate that B-Spline curve fitted by the method has fewer control points, fewer fitting times, and higher fitting accuracy, which has important application value.

Acknowledgments

The authors thank the anonymous reviewers and the Editor for the constructive comments and generous feedback.

References

  1. 1. Shou H, Hu L, Fang S. Progressive iterative approximation of non-uniform cubic B-spline curves and surfaces via successive over-relaxation iteration. Mathematics. 2022;10(20):3766.
  2. 2. Gavriil APH. Optimizing B-spline surfaces for developability and paneling architectural freeform surfaces. Comput-Aided Design. 2019;111.
  3. 3. Wang G, Chen J, Zhou K, Pang Z. Industrial robot contouring control based on non-uniform rational B-spline curve. Symmetry. 2022;14(12):2533.
  4. 4. He S, Shen L, Wu Q, Yuan C. A certified cubic B-spline interpolation method with tangential direction constraints. J Syst Sci Complex. 2024;37(3):1271–94.
  5. 5. Dong Z, Lin H, Zhou C, Zhang B, Li G. Persistence B-spline grids: stable vector representation of persistence diagrams based on data fitting. Mach Learn. 2024;113(3):1373–420.
  6. 6. Park H, Lee J-H. -spline curve fitting based on adaptive curve refinement using dominant points. Comput-Aided Design. 2007;39(6):439–51.
  7. 7. Zhang L, Tan J, Ge X. Generalized B-splines’ geometric iterative fitting method with mutually different weights. J Comput Appl Math. 2017.
  8. 8. Jacso A, Sikarwar BS, Phanden RK, Singh RK, Ramkumar J, Sahu GN. Optimisation of tool path shape in trochoidal milling using B-spline curves. Int J Adv Manuf Technol. 2022;121(5–6):3801–16.
  9. 9. Albrecht G, Beccari CV, Romani L. Spatial pythagorean-hodograph B–Spline curves and 3D point data interpolation. Comput Aided Geomet Design. 2020;80:101868.
  10. 10. Zhong W-B, Luo X-C, Chang W-L, Cai Y-K, Ding F, Liu H-T, et al. Toolpath interpolation and smoothing for computer numerical control machining of freeform surfaces: a review. Int J Autom Comput. 2019;17(1):1–16.
  11. 11. Hu Y, Jiang X, Huo G. A path smoothing scheme for micro-line tools using cubic B-spline fitting with dominant points. IOP Publishing. 2022;2355(1):012018.
  12. 12. Işık Ş. Dominant point detection based on suboptimal feature selection methods. Exp Syst Appl. 2020;161:113741.
  13. 13. Bao Y, Yang Q, Sun Y. Iterative modeling of wind turbine power curve based on least‐square B‐spline approximation. Asian J Control. 2019;21(4):2004–16.
  14. 14. Du X, Huang J, Zhu L-M, Ding H. An error-bounded B-spline curve approximation scheme using dominant points for CNC interpolation of micro-line toolpath. Robot Comput-Integrat Manuf. 2020;64:101930.
  15. 15. Liu M, Zhang H, Yang J, Zhang T, Zhang C, Bo L. A path planning algorithm for three-dimensional collision avoidance based on potential field and B-spline boundary curve. Aerosp Sci Technol. 2024;144:108763.
  16. 16. Liu T, Wang P, Wen W, Feng F. Formulation and analysis of a cubic B-spline-based time integration procedure for structural seismic response analysis. Int J Str Stab Dyn. 2023;23(19).
  17. 17. Piegl L, Tiller W. The NURBS book. Springer Science & Business Media. 2012.
  18. 18. Liang F, Zhao J, Ji S, Fan C, Zhang B. A novel knot selection method for the error-bounded B-spline curve fitting of sampling points in the measuring process. Meas Sci Technol. 2017;28(6):065015.
  19. 19. Du X, Huang J, Zhu L-M, Ding H. An error-bounded B-spline curve approximation scheme using dominant points for CNC interpolation of micro-line toolpath. Robot Comput-Integrat Manuf. 2020;64:101930.
  20. 20. Liu M, Zhang H, Yang J, Zhang T, Zhang C, Bo L. A path planning algorithm for three-dimensional collision avoidance based on potential field and B-spline boundary curve. Aerosp Sci Technol. 2024;144:108763.
  21. 21. Liu T, Wang P, Wen W, Feng F. Formulation and analysis of a cubic B-spline-based time integration procedure for structural seismic response analysis. Int J Str Stab Dyn. 2023;23(19).
  22. 22. Yeh R, Nashed YSG, Peterka T, Tricoche X. Fast automatic knot placement method for accurate B-spline curve fitting. Comput.-Aided Design. 2020;128:102905.
  23. 23. Hosseini SF, Hashemian A, Reali A. Studies on knot placement techniques for the geometry construction and the accurate simulation of isogeometric spatial curved beams. Comput Methods Appl Mech Eng. 2020;360:112705.
  24. 24. Lu Z, Zhao J, Yang X, Qu X. An approximation method combined with conformal transformation for the fast measurement of blade section curves. Meas Sci Technol. 2021;32(9):095010.
  25. 25. Duan Y, Li Z, Zhang X. Least-squares phase-shifting algorithm of coherence scanning interferometry with windowed B-spline fitting, resampled and subdivided phase points for 3D topography metrology. Measurement. 2023;217:113103.
  26. 26. Yong Z, Kang H, Yang Z, Gu Y. The unimodality of initial B-spline approximations in spline fitting. Commun Math Stat. 2021;10(2):331–52.
  27. 27. Lin H, Zhang Z. An extended iterative format for the progressive-iteration approximation. Comput. Graph. 2011;35(5):967–75.
  28. 28. Prasad DK, Leung MKH, Quek C, Cho S-Y. A novel framework for making dominant point detection methods non-parametric. Image Vision Comput. 2012;30(11):843–59.
  29. 29. Sun C, Liu M, Ge S. B-spline curve fitting of hungry predation optimization on ship line design. Appl Sci. 2022;12(19):9465.
  30. 30. Lin H, Maekawa T, Deng C. Survey on geometric iterative methods and their applications. Comput-Aided Design. 2018;95:40–51.
  31. 31. Hu L, Shou H, Dai Z. HSS-iteration-based iterative interpolation of curves and surfaces with NTP bases. Wireless Netw. 2020;27(5):3523–35.
  32. 32. Ebrahimi A, Loghmani GB. A composite iterative procedure with fast convergence rate for the progressive-iteration approximation of curves. J Comput Appl Math. 2019;359:1–15.
  33. 33. Lin Z, Ding Y. B-spline curve fitting with normal constraints in computer aided geometric design. In: Big data analytics for cyber-physical system in smart city: BDCPS 2020, Shanghai, China, 2021. 1282–9.
  34. 34. Liu C, Gao N, Meng Z, Zhang Z, Gao F. Iteration of B-spline surface based deflectometric method for discontinuous specular surface. Opt Lasers Eng. 2023;165:107533.
  35. 35. Guo Z, Su H, Li X, Wang Y. Multi-resolution topology optimization using B-spline to represent the density field. Adv Eng Softw. 2023;182:103478.
  36. 36. Xiaobing C, Wenhe L, Haibing WU. An algorithm for constant scallop-height tool path generation for triangular mesh surface machining. J Comput-Aided Design Comput Graph. 2009;21(12):1800–4.