Abstract
The fairing curves and surfaces are used extensively in geometric design, modeling, and industrial manufacturing. However, the majority of conventional fairing approaches, which lack sufficient parameters to improve fairness, are based on energy minimization problems. In this study, we develop a novel progressive-iterative approximation method for the fairing curve and surface generation (fairing-PIA). Fairing-PIA is an iteration method that can generate a series of curves (surfaces) by adjusting the control points of B-spline curves (surfaces). In fairing-PIA, each control point is endowed with an individual weight. Thus, the fairing-PIA has many parameters to optimize the shapes of curves and surfaces. Not only a fairing curve (surface) can be generated globally through fairing-PIA, but also the curve (surface) can be improved locally. Moreover, we prove the convergence of the developed fairing-PIA and show that the conventional energy minimization fairing model is a special case of fairing-PIA. Finally, numerical examples indicate that the proposed method is effective and efficient.
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs00371-023-02861-7/MediaObjects/371_2023_2861_Fig1_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs00371-023-02861-7/MediaObjects/371_2023_2861_Fig2_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs00371-023-02861-7/MediaObjects/371_2023_2861_Fig3_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs00371-023-02861-7/MediaObjects/371_2023_2861_Fig4_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs00371-023-02861-7/MediaObjects/371_2023_2861_Fig5_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs00371-023-02861-7/MediaObjects/371_2023_2861_Fig6_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs00371-023-02861-7/MediaObjects/371_2023_2861_Fig7_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs00371-023-02861-7/MediaObjects/371_2023_2861_Fig8_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs00371-023-02861-7/MediaObjects/371_2023_2861_Fig9_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs00371-023-02861-7/MediaObjects/371_2023_2861_Fig10_HTML.png)
Similar content being viewed by others
References
Li, W., Krist, S.: Spline-based airfoil curvature smoothing and its applications. J. Aircr. 42(4), 1065–1074 (2005)
Sariöz, E.: An optimization approach for fairing of ship hull forms. Ocean Eng. 33(16), 2105–2118 (2006)
Westgaard, G., Nowacki, H.: A process for surface fairing in irregular meshes. Comput. Aided Geom. Design 18(7), 619–638 (2001)
Hashemian, A., Hosseini, S.F.: An integrated fitting and fairing approach for object reconstruction using smooth nurbs curves and surfaces. Comput. Math. Appl. 76(7), 1555–1575 (2018)
Gilimyanov, R.F.: Recursive method of smoothing curvature of path in path planning problems for wheeled robots. Autom. Remote. Control. 72(7), 1548–1556 (2011)
Song, B., Wang, Z., Zou, L.: An improved pso algorithm for smooth path planning of mobile robots using continuous high-degree bézier curve, Appl. Soft Comput. 100 (2021)
Hagen, H., Bonneau, G.-P.: Variational design of smooth rational bézier curves. Comput. Aided Geom. Design 8(5), 393–399 (1991)
Wang, W., Zhang, Y.: Wavelets-based nurbs simplification and fairing: Computational geometry and analysis. Comput. Methods Appl. Mech. Eng. 199(5–8), 290–300 (2010)
Kjellander, J.A.P.: Smoothing of cubic parametric splines. Comput. Aided Design 15(3), 175–179 (1983)
Farin, G., Rein, G., Sapidis, N., Worsey, A.: Fairing cubic b-spline curves. Comput. Aided Geom. Design 4(1), 91–103 (1987)
Wang, A., Zhao, G., Li, Y.-D.: Wavelet based local fairing algorithm for surfaces with data compression. Int. J. Wavelets Multiresolut. Inf. Process. 13(5), 1550041 (2015)
Pottmann, H.: Smooth curves under tension. Comput. Aided Design 22(4), 241–245 (1990)
Campbell, E.S.: Smoothest curve approximation. Math. Comput. 11(60), 233–243 (1957)
Meier, H., Nowacki, H.: Interpolating curves with gradual changes in curvature. Comput. Aided Geom. Design 4(4), 297–305 (1987)
Rando, T.C.: Automatic fairness in computer-aided geometric design. In: Ph.D. Thesis, The University of Connecticut, aAI9102032 (1990)
Vassilev, T.I.: Fair interpolation and approximation of b-splines by energy minimization and points insertion. Comput. Aided Design 28(9), 753–760 (1996)
Zhang, C., Zhang, P., Cheng, F.: Fairing spline curves and surfaces by minimizing energy. Comput. Aided Design 33(13), 913–923 (2001)
Caliò, F., Miglio, E., Rasella, M.: Curve fairing using integral spline operators. Int. J. Numer. Methods Biomed. Eng. 26(12), 1674–1686 (2010)
Li, W., Xu, S., Zheng, J., Zhao, G.: Target curvature driven fairing algorithm for planar cubic b-spline curves. Comput. Aided Geom. Design 21(5), 499–513 (2004)
Finkelstein, A., Salesin, D.: Multiresolution curves. SIGGRAPH Comput. Graph. 11 (1997)
Li, A., Wei, G., Tian, H., Kou, F.: Wavelet-based multiresolution nurbs curve fairing. Adv. Mater. Res. 314–316, 1562–1565 (2011)
Li, A., Tian, H.: A multiresolution fairing approach for nurbs curves. Appl. Mech. Mater. 215–216, 1205–1208 (2012)
Hoschek, J., Lasser, D., Schumaker, L.L.: Fundamentals of Computer Aided Geometric Design. A. K. Peters Ltd, USA (1993)
Qi, D., Tian, Z., Zhang, Y.: The method of numeric polish in curve fitting. Acta Math. Sin. 18, 173–184 (1975)
de Boor, C.: How does agee’s smoothing method work?. In: Proceedings of the 1979 Army Numerical Analysis and Computers Conference 01 (1979)
Lin, H., Wang, G., Dong, C.: Constructing iterative non-uniform b-spline curve and surface to fit data points, Science in China Series F. Inf. Sci. 47, 315–331 (2004)
Lin, H., Bao, H., Wang, G.: Totally positive bases and progressive iteration approximation. Comput. Math. Appl. 50(3), 575–586 (2005)
Shi, L., Wang, R.: An iterative algorithm of nurbs interpolation and approximation. J. Math. Res. Expos. 26 01 (2006)
Lu, L.: Weighted progressive iteration approximation and convergence analysis. Comput. Aided Geom. Design 27(2), 129–137 (2010)
Hu, Q., Wang, J., Liang, R.: Weighted local progressive-iterative approximation property for triangular bézier surfaces. Vis. Comput. 38(11), 3819–3830 (2022)
Wang, Z., Li, Y., Deng, C.: Convergence proof of gs-pia algorithm. J. Comput. Aided Design Comput. Graph. 30, 2035 (2018)
Deng, C., Lin, H.: Progressive and iterative approximation for least squares b-spline curve and surface fitting. Comput. Aided Des. 47, 32–44 (2014)
Zhang, L., Ge, X., Tan, J.: Least square geometric iterative fitting method for generalized b-spline curves with two different kinds of weights. Vis. Comput. 32, 1109–1120 (2016)
Wang, H.: On extended progressive and iterative approximation for least squares fitting. Vis. Comput. 38, 591–602 (2021)
Chen, Z., Luo, X., Tan, L., Ye, B., Chen, J.: Progressive interpolation based on catmull clark subdivision surfaces. Comput. Graph. Forum 27, 1823–1827 (2008)
Deng, C., Ma, W.: Weighted progressive interpolation of loop subdivision surfaces. Comput. Aided Des. 44, 424–431 (2012)
Hamza, Y., Lin, H.: Conjugate-gradient progressive-iterative approximation for loop and catmull-clark subdivision surface interpolation. J. Comput. Sci. Technol. 37(2), 487–502 (2022)
Wang, Z., Li, Y., Liu, J., Ma, W., Deng, C.: Gauss-seidel progressive iterative approximation (gs-pia) for subdivision surface interpolation. Vis. Comput. 10 (2021)
Hamza, Y., Lin, H., Li, Z.: Implicit progressive-iterative approximation for curve and surface reconstruction. Comput. Aided Geom. Design 77, 101817 (2020)
Liu, S., Liu, T., Hu, L., Shang, Y., Liu, X.: Variational progressive-iterative approximation for rbf-based surface reconstruction. Vis. Comput. 37, 2485–2497 (2021)
Zhang, Y., Wang, P., Bao, F., Yao, X., Zhang, C., Lin, H.: A single image super-resolution method based on progressive-iterative approximation. IEEE Trans. Multimedia 22, 1407–1422 (2020)
Lin, H., Maekawa, T., Deng, C.: Survey on geometric iterative methods and their applications. Comput. Aided Design 95, 40–51 (2018)
Veltkamp, R.C., Wesselink, W.: Modeling 3d curves of minimal energy. Comput. Graph. Forum 14, 97–110 (1995)
Zhang, C., Zhang, P., Cheng, F.F.: Fairing spline curves and surfaces by minimizing energy. Comput. Aided Des. 33(13), 913–923 (2001)
Meier, H., Nowacki, H.: Interpolating curves with gradual changes in curvature. Comput. Aided Geom. Design 4(4), 297–305 (1987)
Wang, X., Cheng, F.F., Barsky, B.A.: Energy and b-spline interproximation. Comput. Aided Des. 29(7), 485–496 (1997)
Lin, H., Cao, Q., Zhang, X.: The convergence of least-squares progressive iterative approximation for singular least-squares fitting system. J. Syst. Sci. Complex. 31(6), 1618–1632 (2018)
Acknowledgements
This work is supported by the National Natural Science Foundation of China under Grant nos. 62272406, 61872316, and the National Key R &D Plan of China under Grant no. 2020YFB1708900.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendix
Appendix
In this section, we show the convergence of the fairing-PIA method when the diagonal elements of matrix \(\varvec{\Omega }\) are equal to a constant value \(\omega \), and coefficient matrix \(\varvec{B}\) is a positive semidefinite matrix.
Lemma Appendix 1
Let the diagonal elements of matrix \(\varvec{\Lambda }\) satisfy \(0<\mu _i<\frac{2}{\lambda _{\text {max}}\left( \varvec{B}\right) },\;i=1,2,\cdots ,n\), where \(\lambda _{\text {max}}\) is the largest eigenvalue of \(\varvec{B}\). The eigenvalues \(\beta \) of the matrix \(\varvec{\Lambda B}\)(9) are all real and satisfy \(0\le \beta <2\).
Proof
Matrix \(\varvec{B}\) is a positive semidefinite matrix. Thus, real orthogonal matrix \(\varvec{U}\) and diagonal matrix \(\varvec{S}=\text {diag}\left( s_1,s_2, \cdots ,s_n\right) \), \(s_i\ge 0,\; i=1,2,\cdots ,n\) exist, such that \(\varvec{B} = \varvec{USU}^T\). We obtain the following by denoting \(\varvec{C}=\varvec{S}^{\frac{1}{2}}\varvec{U}^T\):
Suppose that \(\beta \) is an arbitrary eigenvalue of matrix \(\varvec{\Lambda C}^T\varvec{C}\) w.r.t. eigenvector \(\varvec{v}\), i.e.,
In this case, we obtain
by multiplying both sides of Eq. (27) by \(\varvec{C}\), indicating that \(\beta \) is also an eigenvalue of the matrix \(\varvec{C\Lambda C}^T\) w.r.t. eigenvector \(\varvec{Cv}\). Moreover, for all nonzero vectors \(\varvec{x}\in R^{n}\), it holds
Therefore, we conclude that the matrix \(\varvec{C\Lambda C}^T\) is a positive semidefinite matrix. Thus, all its eigenvalues are nonnegative real numbers, i.e., \(\beta \ge 0\). According to Eq. (27), the eigenvalues of matrix \(\varvec{\Lambda B}=\varvec{\Lambda C}^T\varvec{C}\) are also all nonnegative real numbers.
On the other hand, given that \(0<\mu _i<\frac{2}{\lambda _{\text {max}}\left( \varvec{B}\right) },\;i=1,2,\cdots ,n\), the eigenvalues of \(\varvec{\Lambda B}\) meet
\(\square \)
Remark Appendix 2
Let \(n_0\) denote the dimension of the zero eigenspace of \(\varvec{B}\) (10). Given that \(\varvec{\Lambda }\) is nonsingular, the ranks of the matrix \(\varvec{B}\) and \(\varvec{\Lambda B}\) are the same, i.e.,
Moreover, in the proof of Theorem Appendix 5, a lemma similar to Lemma 2.5 in [47] is used as follows:
Lemma Appendix 3
The algebraic multiplicity of the zero eigenvalue of matrix \(\varvec{\Lambda B}\) is equal to its geometric multiplicity.
Proof
Based on Eq. (26), matrix \(\varvec{\Lambda B}\) can be written as \(\varvec{\Lambda C}^T\varvec{C}\). Then, the proof of this lemma is similar to that of Lemma 2.5 provided in [47]. \(\square \)
Lemma Appendix 4
The Jordan canonical form of the matrix \(\varvec{\Lambda B}\)(9) can be represented as
![](http://media.springernature.com/lw402/springer-static/image/art%3A10.1007%2Fs00371-023-02861-7/MediaObjects/371_2023_2861_Equ28_HTML.png)
where
![](http://media.springernature.com/lw255/springer-static/image/art%3A10.1007%2Fs00371-023-02861-7/MediaObjects/371_2023_2861_Equ76_HTML.png)
is called a Jordan block of size \(n_i\) with eigenvalue \(\beta _i\), and \(0<\beta _i<2\) and \(i=1,2,\cdots ,k\) are the nonzero eigenvalues of \(\varvec{\Lambda B}\).
Proof
Based on Lemma Appendix 1, the eigenvalues of \(\varvec{\Lambda B}\) are all nonnegative real numbers. Thus, the Jordan canonical form of \(\varvec{\Lambda B}\) can be written as
![](http://media.springernature.com/lw515/springer-static/image/art%3A10.1007%2Fs00371-023-02861-7/MediaObjects/371_2023_2861_Equ77_HTML.png)
where \(\varvec{J}_{n_i}(\beta _i,1)\) is a Jordan block of size \(n_i\) with nonzero eigenvalue \(\beta _i\) of \(\varvec{\Lambda B}\), \(i=1,2,\cdots ,k\), and \(\varvec{J}_{m_j}(0,1)\) is a Jordan block of size \(m_i\) with zero eigenvalue of \(\varvec{\Lambda B}\), \(j=1,2,\cdots ,l\).
Moreover, Lemma Appendix 3 states that the algebraic multiplicity of the zero eigenvalue of the matrix \(\varvec{\Lambda B}\) is equal to its geometric multiplicity. This finding means that the Jordan blocks w.r.t the zero eigenvalues of the matrix \(\varvec{\Lambda B}\) are all equal to the matrix \((0)_{1\times 1}\). \(\square \)
Theorem Appendix 5
If \(\varvec{B}\) is a positive semidefinite matrix, then iterative method (9) is convergent.
Proof
A positive semidefinite matrix \(\varvec{B}\) can be decomposed as
where \(\varvec{V}\) is an orthogonal matrix, and \(\lambda _i\) and \(i=1,2,\cdots ,n-n_0\) are both the nonzero eigenvalues and nonzero singular values of \(\varvec{B}\). Then, the Moore-Penrose (M-P) inverse of \(\varvec{B}\) has the corresponding decomposition as follows:
Thus,
Based on Lemma Appendix 4, the Jordan canonical form of the matrix \(\varvec{\Lambda B}\) is \(\varvec{J}\) (28). We obtain the following by using the Jordan decomposition: \(\varvec{\Lambda B}=\varvec{T}^{-1}\varvec{JT}\), where \(\varvec{T}\) is an invertible matrix. Hence,
![](http://media.springernature.com/lw591/springer-static/image/art%3A10.1007%2Fs00371-023-02861-7/MediaObjects/371_2023_2861_Equ78_HTML.png)
Based on Lemma Appendix 1, \(-1<1-\beta _i<1\), \(i=1,2,\cdots ,k\). Then, we obtain the following by combining Eq. (29):
On the other hand, the coefficient matrix \(\varvec{B}\) is singular; thus, the linear system in Eq. (17) has its solution if and only if
Therefore, we obtain the following by subtracting \(\left( 1-\omega \right) \varvec{B}^{+}\varvec{N}^T\varvec{Q}\) from both sides of iterative scheme (9):
From Eq. (30), when \(k\rightarrow \infty \), the above equation tends to
Consequently,
where \(\varvec{P}^{[0]}\) is the initial control point, which can be randomly selected. When \(\varvec{P}^{[0]}=0\), iterative method (9) converges to
\(\square \)
Remark Appendix 6
If matrix \(\varvec{V}\) is the inverse matrix of \(\varvec{T}\), that is, \(\varvec{VT}=\varvec{TV}=\varvec{I}\), then Eq. (31) becomes
where \(\varvec{B}^{+}\) is the M-P pseudo-inverse of the matrix \(\varvec{B}\). Then iterative method (9) converges to the solution of classical energy minimization Eq. (17).
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Jiang, Y., Lin, H. & Huang, W. Fairing-PIA: progressive-iterative approximation for fairing curve and surface generation. Vis Comput 40, 1467–1484 (2024). https://doi.org/10.1007/s00371-023-02861-7
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00371-023-02861-7