
Citation: Joseph Lifton, Tong Liu, John McBride. Non-linear least squares fitting of Bézier surfaces to unstructured point clouds[J]. AIMS Mathematics, 2021, 6(4): 3142-3159. doi: 10.3934/math.2021190
[1] | Xuanyi Zhao, Jinggai Li, Shiqi He, Chungang Zhu . Geometric conditions for injectivity of 3D Bézier volumes. AIMS Mathematics, 2021, 6(11): 11974-11988. doi: 10.3934/math.2021694 |
[2] | Syed Ahmad Aidil Adha Said Mad Zain, Md Yushalify Misro . A novel technique on flexibility and adjustability of generalized fractional Bézier surface patch. AIMS Mathematics, 2023, 8(1): 550-589. doi: 10.3934/math.2023026 |
[3] | Saknarin Channark, Poom Kumam, Juan Martinez-Moreno, Wachirapong Jirakitpuwapat . Hermitian and skew-Hermitian splitting method on a progressive-iterative approximation for least squares fitting. AIMS Mathematics, 2022, 7(9): 17570-17591. doi: 10.3934/math.2022967 |
[4] | Kai Wang, Xiheng Wang, Xiaoping Wang . Curvature estimation for point cloud 2-manifolds based on the heat kernel. AIMS Mathematics, 2024, 9(11): 32491-32513. doi: 10.3934/math.20241557 |
[5] | Muhsin Incesu . LS (3)-equivalence conditions of control points and application to spatial Bézier curves and surfaces. AIMS Mathematics, 2020, 5(2): 1216-1246. doi: 10.3934/math.2020084 |
[6] | Mahvish Samar, Xinzhong Zhu . Structured conditioning theory for the total least squares problem with linear equality constraint and their estimation. AIMS Mathematics, 2023, 8(5): 11350-11372. doi: 10.3934/math.2023575 |
[7] | Mashail M. Al Sobhi . The modified Kies-Fréchet distribution: Properties, inference and application. AIMS Mathematics, 2021, 6(5): 4691-4714. doi: 10.3934/math.2021276 |
[8] | Yujun Li . Characteristics of planar sextic indirect-PH curves. AIMS Mathematics, 2024, 9(1): 2215-2231. doi: 10.3934/math.2024110 |
[9] | Lingsheng Meng, Limin Li . Condition numbers of the minimum norm least squares solution for the least squares problem involving Kronecker products. AIMS Mathematics, 2021, 6(9): 9366-9377. doi: 10.3934/math.2021544 |
[10] | Fan Sha, Jianbing Zhang . Randomized symmetric Gauss-Seidel method for solving linear least squares problems. AIMS Mathematics, 2024, 9(7): 17453-17463. doi: 10.3934/math.2024848 |
Bézier curves and surfaces are widely used in computer graphics and computer aided design for representing complex geometries as a set of smooth analytically driven curves. For example, they have been used for aerofoil geometry optimisation [1] for representing the outline of textual characters [2] and are used extensively for designing and reconstructing complex free form objects in computer aided geometric design [3]. A Bézier curve is a parametric curve based on Bernstein polynomials. The shape of the curve is modified by a set of control points, consecutive control points are termed a control polygon, note that the resulting curve does not necessarily pass through these control points. The number of control points defines the possible complexity of the curve, for example, with two control points only a straight line can be evaluated, this being a first degree Bézier curve, with three control points (a second degree Bézier curve) quadratic curvature is possible, and so on. Some example fourth degree (5 by 5 control points) Bézier surfaces are shown in Figure 1 alongside the control points.
In this work we are interested in fitting Bézier surfaces to a set of noisy, unstructured, scattered points, the particular application we are interested in is the removal of geometric form in order to characterise the surface texture of highly complex engineering surfaces [4]. It is straightforward to fit a polynomial surface to a set of measured points using the least squares method, many commercial software packages are available to do this fitting task, however Bézier surfaces offer the desirable property of passing through the control points at the corners of its control polygon, this means that Bézier patches can be stitched together to form a patchwork which can be used to approximate geometries of even greater complexity, such as the surface geometries that can now be fabricated using additive manufacturing.
Having reviewed the literature, the linear least squares (LLS) solution for fitting Bézier surfaces is well documented, however, we are unable to find the non-linear least squares (NLLS) Bézier surface fitting algorithm that is presented in this work. Fitting Bézier curves (not surfaces) via LLS and NLLS is considered in references [5] and [6] and a NLLS spline curve fitting algorithm is presented in [7]. In references [8,9,10] the LLS Bézier surface fitting algorithm is given, but iterative refinement is achieved using a genetic algorithm, the fireworks algorithm and the firefly algorithm, respectively, rather than NLLS, which makes the fitting task more complicated than it need be for many applications such as form removal for surface texture characterisation. The LLS fitting algorithm for Bézier surfaces is given in references [11] and [12] but the authors do not present the NLLS fitting algorithm. In [13] free form surface fitting is discussed from a reverse engineering perspective but neither the LLS or NLLS Bézier surface fitting algorithms are presented. We therefore adopt the general LLS and NLLS approach presented in references [5] and [6] but extend to the case of a fourth degree Bézier surface.
Fourth degree Bézier surfaces are considered here to allow for the fitting of highly complex surfaces such as the engineered surface considered at the end of the paper. Linear, quadratic and cubic surfaces are deemed too simple to represent the complex surfaces that are of interest in this work. It is worth noting that the presented algorithm can be modified to consider any degree of Bézier surface.
In this work the partial derivatives that are required for both the LLS and NLLS fitting are evaluated explicitly (see Appendix 2 and 3) as opposed to numerically as per the work in [5], this leads to a more computationally efficient implementation.
The structure or order of the data points to which we fit Bézier surfaces is not required apriori, the data points can be randomly scattered. Furthermore, no initial estimate of the control points is required, this is provided by the LLS algorithm. Therefore, the developed method is highly practical and should be of great use for a number of surface fitting tasks.
In order to validate the developed method and benchmark it, we compare the algorithm to the fitting of polynomial surfaces for 3 different surfaces, two simulated surfaces with superimposed noise and one measured surface. The algorithm is benchmarked against polynomials because these are the default fitting functions used by engineers, especially in the field of surface metrology [4]. The convergence of the iterative NLLS algorithm is also plotted for each of the considered surfaces to demonstrate the stability of the algorithm.
The general formula for a Bézier surface of degree n,m is:
P(ut,vt)=n∑i=0m∑j=0(ni)uit(1−ut)n−i(mj)vjt(1−vt)m−jkij | (1) |
where u and v are parametric coordinates with 0≤u≤1 and 0≤v≤1. The term t is the index of the parametric coordinates. The terms kij are the control point coordinates in x,y,z and these are the variables that need to be estimated such that the Bézier surface P(ut,vt) fits the measured data. We will consider a fourth degree Bézier surface where m=n=4. The fourth degree Bézier surface is written explicitly as per Appendix 1.
Let the measured data we wish to fit the Bézier surface to be denoted dt with t=1,…,N. The least squares solution requires we minimise the sum of the squared errors. Therefore, define error et as:
et=P(ut,vt)−d(ut,vt). | (2) |
Summing the squared errors gives:
M=N∑t=1(P(ut,vt)−d(ut,vt))2=N∑t=1e2t. | (3) |
We want to minimise M, therefore take partial derivatives with respect to kij and set these to zero:
∂M∂ki,j=∂M∂et∂et∂ki,j,∂M∂et=2N∑t=1et,∂M∂ki,j=2N∑t=1et∂et∂ki,j. | (4) |
The partial derivatives ∂et/∂ki,j are given in Appendix 2. Taking partial derivatives leads to 25 equations that must be solved simultaneously for the coefficients kij. These equations can be written in the form Ax=b and solved in the usual way. First, consider the partial derivatives set equal to zero and then rearranged:
2N∑t=1(P(ut,vt)−d(ut,vt))∂et∂ki,j=0 | (5) |
N∑t=1P(ut,vt)∂et∂ki,j=N∑t=1d(ut,vt)∂et∂ki,j. | (6) |
Let the coefficients of the kij terms in P(ut,vt) be denoted c1toc25:
[N∑t=1c1∂et∂k0,0…N∑t=1c25∂et∂k0,0⋮⋱⋮N∑t=1c1∂et∂k4,4…N∑t=1c25∂et∂k4,4][kx0,0ky0,0kz0,0⋮⋮⋮kx4,4ky4,4kz4,4]=[N∑t=1dx(ut,vt)∂et∂k0,0N∑t=1dy(ut,vt)∂et∂k0,0N∑t=1dz(ut,vt)∂et∂k0,0⋮⋮⋮N∑t=1dx(ut,vt)∂et∂k4,4N∑t=1dy(ut,vt)∂et∂k4,4N∑t=1dz(ut,vt)∂et∂k4,4] | (7) |
which takes the form Ax=b where:
A=[N∑t=1c1∂et∂k0,0…N∑t=1c25∂et∂k0,0⋮⋱⋮N∑t=1c1∂et∂k4,4…N∑t=1c25∂et∂k4,4]x=[kx0,0ky0,0kz0,0⋮⋮⋮kx4,4ky4,4kz4,4]b=[N∑t=1dx(ut,vt)∂et∂k0,0N∑t=1dy(ut,vt)∂et∂k0,0N∑t=1dz(ut,vt)∂et∂k0,0⋮⋮⋮N∑t=1dx(ut,vt)∂et∂k4,4N∑t=1dy(ut,vt)∂et∂k4,4N∑t=1dz(ut,vt)∂et∂k4,4]. | (8) |
We therefore solve for x, where x=A−1b. This gives best fit control points ki,j for the initial nodal points ut,vt. Now we need to minimise et by finding the best fit nodal points ut,vt. Given that et is non-linear with respect to ut,vt we must use non-linear least squares, for this we will use the Newton Raphson method, which states the following:
0=f'(xn)(xn+1−xn)+f(xn) | (9) |
where xn is an initial guess of the root of f(x) and xn+1 is an improved guess of the root. For our purpose we want to find the root of et with respect to u and v, we therefore write:
0=de(u1,t,v1,t)dut(u2,t−u1,t)+e(u1,t,v1,t)0=de(u1,t,v1,t)dvt(v2,t−v1,t)+e(u1,t,v1,t) | (10) |
for ut and vt respectively. These equations require that the partial derivatives of et are evaluated with respect to ut and vt, these are given in Appendix 3. The partial derivatives are known as the Jacobian matrices, J, and are of size N by N and are filled with zeros apart from the diagonal. Rewriting ∂et/∂ut and ∂et/∂vt as Ju and Jv respectively and rearranging to solve for u2,t and v2,t gives:
u2,t=u1,t−α(JTuJu)−1JTue(u1,t,v1,t)v2,t=v1,t−α(JTvJv)−1JTve(u1,t,v1,t) | (11) |
where α is a relaxation parameter, α=0.5 is used throughout this work and is chosen empirically. These new estimates of ut and vt are then used to recalculate the control points ki,j using the linear least squares solution previously derived. The above can be implement as an iterative algorithm as follows:
1. Evaluate the linear least squares solution (Eq 7) to calculate the control points kxi,j,kyi,j,kzi,j, use an initial estimate of ut,vt which can be uniformly spaced values from 0 to 1.
2. Evaluate the non-linear least squares solution (Eq 11) to calculate a better estimate of ut,vt.
3. Use the linear least squares solution to calculate new control points kxi,j,kyi,j,kzi,j using the updated estimate of ut,vt.
4. Repeat 2 and 3 until a convergence criterion is met. In this work convergence is deemed to have been met when the percentage difference between the sum of the squared residual (Eq 3) of two successive iterations is less than or equal to 0.5%.
To test the developed algorithm, Bézier surfaces are fitted to unstructured scattered data sets that have been generated by randomly sampling two analytical surfaces, these surfaces are then superimposed with uniformly distributed noise. The analytical surfaces are:
z=ysinx5−xcosy5+ε(x,y) | (12) |
z=sinx+cosy+ε(x,y) | (13) |
where the x,ycoordinates are generated by randomly generating uniformly distributed values between -5 and 5. The term ε(x,y) is a noise signal with uniformly distributed values that lie between -0.1 and 0.1. Both data sets are generated to have 5000 x,y,z coordinates.
To benchmark the Bézier surface fitting algorithm, polynomial surfaces of 5th to 10th degree are fitted to the same scattered data points. The goodness of fit for both the Bézier and polynomial surfaces is calculated as the sum of the squared difference (error) between the z coordinates of the scattered data and the fitted surfaces for all x,y coordinates.
Figure 2A shows the unstructured scattered data points generated using Eq 12, these are represented as coloured dots, and the fitted Bézier surface is represented as a set of continuous red lines. The lines of the Bézier surface have been generated using uniformly spaced values of ut,vt, these are downsampled to show the curvature of the fitted surface more clearly. Figure 2B shows the same data but viewed from the top (z) direction, the curvature of the lines illustrates how the values of ut,vt have been modified by the NLLS algorithm in order for the surface to fit the scattered data, this modification would not occur with the LLS algorithm alone.
Figure 3A shows the convergence of the NLLS fitting algorithm, the convergence is smooth and without oscillation. Also plotted in Figure 3A is a constant value that corresponds to the sum of the squared noise; this is the squared sum of ε(x,y), the noise residual that would remain after subtracting the perfect analytical form in Eq 12. We would not expect the sum of the squared error of the surface fit to fall below this value, if it did, it would indicate overfitting. Figure 3B shows the sum of the squared error for fitting polynomials of varying degree, the plot shows that the 4th order (25 control points) Bézier surface achieves a fit similar in error to that of a 7th or 8th degree polynomial (36 and 45 fitting coefficients respectively). Also plotted in Figure 3B is the squared sum of ε(x,y), notice that for polynomials of degree 9 and 10 the fit residual falls below this value, which suggests the higher order polynomials are overfitting.
The results for fitting a Bézier surface to Eq 13 are shown in Figure 4A. As before the unstructured scattered data points are represented as coloured dots, and the fitted Bézier surface is represented as a set of continuous red lines. Figure 4B shows the same data but viewed from the top (z) direction, the curvature of the lines illustrates how the values of ut,vt have been modified by the NLLS algorithm in order for the surface to fit the scattered data.
Figure 5A shows the convergence of the NLLS fitting algorithm when fitting to data sampled from Eq 13, as before the convergence is smooth and without oscillation and the sum of the squared error does not fall below the sum of the squared noise. Fewer iterations are required for the algorithm to convergence when fitting to Eq 13 compared to fitting to Eq 12 (see Figure 3A). Figure 5B shows that the 4th order (25 control points) Bézier surface achieves a fit similar in error to that of a 6th or 7th degree polynomial (28 and 36 fitting coefficients respectively). The sum of the squared error for polynomials of 8th degree and higher converge to the sum of the squared noise, so little to no overfitting is observed.
To test the proposed method with real measured data we consider the problem of fitting and subtracting the geometric form of an engineering surface in order to isolate the surface texture for subsequent surface texture analysis. A complex metallic surface is measured via X-ray computed tomography (XCT), Figure 6A shows a volume rendering of the surface. The surface is extracted from the XCT data as an unstructured point cloud with 14478 x,yz coordinates (Figure 6B) and we fit a Bézier surface using the developed algorithm. The algorithm converges after 75 iterations. The fitted surface is shown in Figure 7A as a set of continuous red lines that are down sampled for clarity. Subtracting the fitted surface from the measured surface yields the waviness and roughness of the surface that can be analysed in the usual way [4], see Figure 7B.
From the examples considered, it can be seen that the NLLS Bézier surface fitting algorithm is able to approximate surfaces of a high degree of complexity and is comparable to a 6th to 8th degree polynomial. The main advantage of using a Bézier surface rather than a polynomial is the ability to form piecewise Bézier patchworks to approximate surfaces of even higher complexity. Bézier surfaces have the highly desirable property of passing through the control points at the corners of the control polygon, see Figure 1. Adjacent Bézier patches can be joined by equating the control points at the joining edges, however, to ensure a smooth transition from one patch to another requires equating the tangents of the joining control points, this is no trivial task. Fitting a patchwork of Bézier surfaces is complicated by the fact that control points at the edge of a patch cannot be changed without influencing the rest of the fitted surface, hence it is desirable to consider the stitching and fitting steps simultaneously. To address this problem Cao et al. [15] proposed a method to automatically subdivide a surface into a patchwork, whilst Lin et al. [16] proposed an algorithm for adaptively fitting a Bézier patchwork and ensuring first order continuity. Addressing this challenge is beyond the scope of the present work, but will be considered in future work. A comprehensive review of constrained fitting methods can be found in reference [17].
In the field of dimensional and surface metrology LLS and NLLS fitting algorithms are well known and accepted for their robustness [14]. Although more exotic iterative Bézier surface fitting algorithms have been developed, their complexity is not required for the type of surface fitting considered here, the robustness of the fitting algorithm is of more importance, this being the motivation for developing the algorithm presented here. Furthermore, many of the methods presented in the literature require the coordinate points to be ordered in order to fit a Bézier surface. Our algorithm requires no such apriori information, only the x,y,z coordinates of an unstructured point cloud are required as inputs, such as those generated by optical scanners and X-ray computed tomography.
To avoid overfitting or underfitting, the degree of the Bézier surface should be selected to match the complexity of the measured surface. This work has focused on an engineering surface with two inflection points (a peak and a trough), so at least 4 by 4 control points are required to approximate the surface. It was decided that the number of control points of the Bézier surface should be increased to 5 by 5 in order to better approximate the complexity of the measured surface, thus judgement was exercised in the choice of the degree of the Bézier surface. A more formal approach to selecting the degree of the Bézier surface is to conduct a convergence study, whereby the fit residual is plotted as a function of the degree of the surface, the point at which the fit residual converges is then selected as the appropriate degree of the Bézier surface. Alternatively, a Bézier surface of a fixed degree could be used and the patch size adjusted: if the fit residual is too large then the Bézier patch should be fitted to a smaller region of the measured surface and vice versa.
To conclude, linear and non-linear least squares Bézier surface fitting algorithms have been derived from first principles, the latter has not previously been published for Bézier surfaces. The analytical form of the partial derivatives required for the fitting process have been presented, these were previously evaluated numerically for the case of fitting Bézier curves, not surfaces [5]. The performance of the fitting algorithm has been evaluated for simulated and measured data and shown to be suitable for approximating complex surfaces. The developed algorithm has been shown to be stable and to smoothly converge to a solution.
All authors declare that there is no conflict of interest in this paper.
Appendix 1: Explicit form of a fourth degree Bézier surface
(40)=1,(41)=4,(42)=6,(43)=4,(44)=1[Px(ut,vt)Py(ut,vt)Pz(ut,vt)]=(1−ut)4(1−vt)4[kx0,0ky0,0kz0,0]+(1−ut)44vt(1−vt)3[kx0,1ky0,1kz0,1]+(1−ut)46v2t(1−vt)2[kx0,2ky0,2kz0,2]+(1−ut)44v3t(1−vt)[kx0,3ky0,3kz0,3]+(1−ut)4v4t[kx0,4ky0,4kz0,4]+4ut(1−ut)3(1−vt)4[kx1,0ky1,0kz1,0]+4ut(1−ut)34vt(1−vt)3[kx1,1ky1,1kz1,1]+4ut(1−u)36v2t(1−vt)2[kx1,2ky1,2kz1,2]+4ut(1−ut)34v3t(1−vt)[kx1,3ky1,3kz1,3]+4ut(1−ut)3v4t[kx1,4ky1,4kz1,4]+6u2t(1−ut)2(1−vt)4[kx2,0ky2,0kz2,0]+6u2t(1−ut)24vt(1−vt)3[kx2,1ky2,1kz2,1]+6u2t(1−ut)26v2t(1−vt)2[kx2,2ky2,2kz2,2]+6u2t(1−ut)24v3t(1−vt)[kx2,3ky2,3kz2,3]+6u2t(1−ut)2v4t[kx2,4ky2,4kz2,4]+4u3t(1−ut)(1−vt)4[kx3,0ky3,0kz3,0]+4u3t(1−ut)4vt(1−vt)3[kx3,1ky3,1kz3,1]+4u3t(1−ut)6v2t(1−vt)2[kx3,2ky3,2kz3,2]+4u3t(1−ut)4v3t(1−vt)[kx3,3ky3,3kz3,3]+4u3t(1−ut)v4t[kx3,4ky3,4kz3,4]+u4t(1−vt)4[kx4,0ky4,0kz4,0]+u4t4vt(1−vt)3[kx4,1ky4,1kz4,1]+u4t6v2t(1−vt)2[kx4,2ky4,2kz4,2]+u4t4v3t(1−vt)[kx4,3ky4,3kz4,3]+u4tv4t[kx4,4ky4,4kz4,4] |
Appendix 2: Partial derivatives of et with respect to kij
∂et∂k0,0=(1−ut)4(1−vt)4∂et∂k0,1=(1−ut)44vt(1−vt)3∂et∂k0,2=(1−ut)46v2t(1−vt)2∂et∂k0,3=(1−ut)44v3t(1−vt)∂et∂k0,4=(1−ut)4v4t∂et∂k1,0=4ut(1−ut)3(1−vt)4∂et∂k1,1=4ut(1−ut)34vt(1−vt)3∂et∂k1,2=4ut(1−ut)36v2t(1−vt)2∂et∂k1,3=4ut(1−ut)34v3t(1−vt)∂et∂k1,4=4ut(1−ut)3v4t∂et∂k2,0=6u2t(1−ut)2(1−vt)4∂et∂k2,1=6u2t(1−ut)24vt(1−vt)3∂et∂k2,2=6u2t(1−ut)26v2t(1−vt)2∂et∂k2,3=6u2t(1−ut)24v3t(1−vt)∂et∂k2,4=6u2t(1−ut)2v4t∂et∂k3,0=4u3t(1−ut)(1−vt)4∂et∂k3,1=4u3t(1−ut)4vt(1−vt)3∂et∂k3,2=4u3t(1−ut)6v2t(1−vt)2∂et∂k3,3=4u3t(1−ut)4v3t(1−vt)∂et∂k3,4=4u3t(1−ut)v4t∂et∂k4,0=u4t(1−vt)4∂et∂k4,1=u4t4vt(1−vt)3∂et∂k4,2=u4t6v2t(1−vt)2∂et∂k4,3=u4t4v3t(1−vt)∂et∂k4,4=u4tv4t |
Appendix 3: Partial derivatives of et with respect to ut and vt
∂et∂ut=−4(1−ut)3(1−vt)4k0,0+−4(1−ut)34vt(1−vt)3k0,1+−4(1−ut)36v2t(1−vt)2k0,2+−4(1−ut)34v3t(1−vt)k0,3+−4(1−ut)3v4tk0,4+(4(1−ut)3−12ut(1−ut)2)(1−vt)4k1,0+(4(1−ut)3−12ut(1−ut)2)4vt(1−vt)3k1,1+(4(1−ut)3−12ut(1−ut)2)6v2t(1−vt)2k1,2+(4(1−ut)3−12ut(1−ut)2)4v3t(1−vt)k1,3+(4(1−ut)3−12ut(1−ut)2)v4tk1,4+(12ut(1−ut)2−12u2t(1−ut))(1−vt)4k2,0+(12ut(1−ut)2−12u2t(1−ut))4vt(1−vt)3k2,1+(12ut(1−ut)2−12u2t(1−ut))6v2t(1−vt)2k2,2+(12ut(1−ut)2−12u2t(1−ut))4v3t(1−vt)k2,3+(12ut(1−ut)2−12u2t(1−ut))v4tk2,4+(12u2t(1−ut)−4u3t)(1−vt)4k3,0+(12u2t(1−ut)−4u3t)4vt(1−vt)3k3,1+(12u2t(1−ut)−4u3t)6v2t(1−vt)2k3,2+(12u2t(1−ut)−4u3t)4v3t(1−vt)k3,3+(12u2t(1−ut)−4u3t)v4tk3,4+4u3t(1−vt)4k4,0+4u3t4vt(1−vt)3k4,1+4u3t6v2t(1−vt)2k4,2+4u3t4v3t(1−vt)k4,3+4u3tv4tk4,4 |
∂et∂vt=(1−ut)4−4(1−vt)3k0,0+(1−ut)4(4(1−vt)3−12vt(1−vt)2)k0,1+(1−ut)4(12vt(1−vt)2−12v2t(1−vt))k0,2+(1−ut)4(12v2t(1−vt)−4v3t)k0,3+(1−ut)44v3tk0,4+4ut(1−ut)3−4(1−vt)3k1,0+4ut(1−ut)3(4(1−vt)3−12vt(1−vt)2)k1,1+4ut(1−u)3(12vt(1−vt)2−12v2t(1−vt))k1,2+4ut(1−ut)3(12v2t(1−vt)−4v3t)k1,3+4ut(1−ut)34v3tk1,4+6u2t(1−ut)2−4(1−vt)3k2,0+6u2t(1−ut)2(4(1−vt)3−12vt(1−vt)2)k2,1+6u2t(1−ut)2(12vt(1−vt)2−12v2t(1−vt))k2,2+6u2t(1−ut)2(12v2t(1−vt)−4v3t)k2,3+6u2t(1−ut)24v3tk2,4+4u3t(1−ut)−4(1−vt)3k3,0+4u3t(1−ut)(4(1−vt)3−12vt(1−vt)2)k3,1+4u3t(1−ut)(12vt(1−vt)2−12v2t(1−vt))k3,2+4u3t(1−ut)(12v2t(1−vt)−4v3t)k3,3+4u3t(1−ut)4v3tk3,4+u4t−4(1−vt)3k4,0+u4t(4(1−vt)3−12vt(1−vt)2)k4,1+u4t(12vt(1−vt)2−12v2t(1−vt))k4,2+u4t(12v2t(1−vt)−4v3t)k4,3+u4t4v3tk4,4 |
[1] | A. Sóbester, A. I. J. Forrester, Aircraft aerodynamic design: geometry and optimization, John Wiley & Sons, West Sussex, 2015. |
[2] |
L. Shao, H. Zhou, Curve fitting with Bézier cubics, Graphical Models and Image Processing, 58 (1996), 223–232. doi: 10.1006/gmip.1996.0019
![]() |
[3] | T. Várady, P. Salvi, M. Vaitkus, Á. Sipos, Multi-sided Bézier surfaces over curved, multi-connected domains, Computer Aided Geometric Design, 78 (2020), 101828. |
[4] | J. N. Petzing, J. M. Coupland, R. K. Leach, The measurement of rough surface topography using coherence scanning interferometry, National Physical Laboratory, UK, 2010 |
[5] | T. A. Pastva, Bézier curve fitting, Thesis, Naval Postgraduate School, Monterey, California, 1998. |
[6] |
C. F. Borges, T. Pastva, Total least squares fitting of Bézier and B-spline curves to ordered data, Computer Aided Geometric Design, 19 (2002), 275–289. doi: 10.1016/S0167-8396(02)00088-2
![]() |
[7] | P. Kovacs, A. M. Fekete, Nonlinear least-squares spline fitting with variable knots, Appl. Math. Comput., 354 (2019), 490–501. |
[8] | A. Gálvez, A. Iglesias, A. Cobo, J. Puig-Pey, J. Espinola, Bézier curve and surface fitting of 3D point clouds through genetic algorithms, functional networks and least-squares approximation, Computational Science and Its Applications, 4706 (2007), 680–693. |
[9] | K. S. Reddy, A. Mandal, K. K. Verma, G. Rajamohan, Fitting of Bézier surfaces using the fireworks algorithm, International Journal of Advances in Engineering & Technology, 9 (2016), 396–403. |
[10] | A. Gálvez, A. Iglesias, Firefly Algorithm for Polynomial Bézier Surface Parameterization, J. Appl. Math., 2013 (2013). |
[11] | L. Piegl, W. Tiller, The NURBS book, 2 Eds., Springer-Verlag, Berlin, Heidelberg, New York, 1995. |
[12] | J. Arvo, Graphics Gems Ⅱ, Academic Press Professional, San Diego, CA, United States, 1991. |
[13] | T. Varady and R. Martin, Handbook of Computer Aided Geometric Design, North-Holland, Amsterdam, The Netherlands, 2002. |
[14] | A. B. Forbes, Least-squares best-fit geometric elements, NPL Report DITC 140/89, 1991. |
[15] | Y. Cao, D. M. Yan, P. Wonka, Patch layout generation by detecting feature networks, Computers & Graphics, 46 (2015), 275–282. |
[16] |
H. Lin, W. Chen, H. Bao, Adaptive patch-based mesh fitting for reverse engineering, Computer-Aided Design, 39 (2007), 1134–1142. doi: 10.1016/j.cad.2007.10.002
![]() |
[17] |
I. Kovács, T. Várady, Constrained fitting with free-form curves and surfaces, Computer-Aided Design, 122 (2020), 102816. doi: 10.1016/j.cad.2020.102816
![]() |
1. | Yiting Duan, Xiaodong Zhang, Freeform optics characterization with surface registration and fitting algorithms for optical point-based spatial path 3D topography metrology, 2023, 62, 1559-128X, 573, 10.1364/AO.477299 | |
2. | Xinyi Qiu, Sung-Ho Kil, Hyun-Kil Jo, Chan Park, Wonkyong Song, Yun Eui Choi, Cooling Effect of Urban Blue and Green Spaces: A Case Study of Changsha, China, 2023, 20, 1660-4601, 2613, 10.3390/ijerph20032613 | |
3. | Mingzhe Liu, Xuan Zhang, Bo Yang, Zhengtong Yin, Shan Liu, Lirong Yin, Wenfeng Zheng, Three-Dimensional Modeling of Heart Soft Tissue Motion, 2023, 13, 2076-3417, 2493, 10.3390/app13042493 | |
4. | Monday Eze, Charles Okunbor, Deborah Aleburu, Olubukola Adekola, Ibrahim Ramon, Nneka Richard-Nnabu, Oghenetega Avwokuruaye, Abisola Olayiwola, Rume Yoro, Esomu Solomon, Graphics Evolutionary Computations in Higher Order Parametric Bezier Curves, 2022, 41, 0267-6192, 595, 10.32604/csse.2022.020835 | |
5. | Jinchen Wu, Wenwen Gao, Zhaoju Zheng, Dan Zhao, Yuan Zeng, Study of Human Activity Intensity from 2015 to 2020 Based on Remote Sensing in Anhui Province, China, 2023, 15, 2072-4292, 2029, 10.3390/rs15082029 | |
6. | Sélim Chefchaouni Moussaoui, Rafael Cisneros-Limón, Hiroshi Kaminaga, Mehdi Benallegue, Taiki Nobeshima, Shusuke Kanazawa, Fumio Kanehiro, Spatial Calibration of Humanoid Robot Flexible Tactile Skin for Human–Robot Interaction, 2023, 23, 1424-8220, 4569, 10.3390/s23094569 | |
7. | Dongbo Li, Guiwen Lan, Hanqiang Huang, Jia Wei, Fengfan Zhou, Three-dimensional Visualization of Overhead Transmission Lines with UAV-LiDAR Point Cloud Data, 2023, 2661, 1742-6588, 012034, 10.1088/1742-6596/2661/1/012034 | |
8. | 郭晗 GUO Han, 赵旺 ZHAO Wang, 王帅 WANG Shuai, 杨平 YANG Ping, 闫力松 YAN Lisong, 刘生虎 LIU Shenghu, 官泓利 GUAN Hongli, 赵晨思 ZHAO Chensi, 基于贝塞尔曲面拟合的子光斑背景噪声去除方法, 2024, 53, 1004-4213, 0801003, 10.3788/gzxb20245308.0801003 |