Abstract
Modern shape design and capture techniques usually present geometric data in serial rows of data points, where the number of data points varies from row to row. Lofted or skinned B-spline surface interpolation is a technique that generates a B-spline surface that passes through these data points precisely. Traditional approach often causes a large increase in the number of control points of the resulting B-spline surface. However, much of the work to date in mitigating the effects of this increase (i.e., control point reduction) has been limited to open-section curves. The lofting of serial closed contours using interpolation techniques has not been addressed in the existing literature. The key is to find a condition, like the well-established Schoenberg–Whitney condition and its generalization in open B-spline curve interpolation, to establish the relationship between the domain knots and parameters, so that the system matrix is invertible or full-rank. This paper focuses on control point reduction in lofted B-spline surface interpolation from serial closed contours. The technical challenges of employing lofted B-spline surface interpolation to closed contours are comprehensively outlined and analyzed. We also derive a theorem that describes the relationship of numerical stability between the domain knots and parameters of the periodic B-splines. Then, we use the interpolation condition of the proposed theorem to extend the existing method of control point reduction to serial closed contours more naturally. Experimental results demonstrate that our algorithm produces a closed surface of the same quality as the open surfaces, but with significantly fewer control points.
Similar content being viewed by others
Notes
The Schoenberg–Whitney theorem holds not only for splines with finite knot sequences but also for splines with infinite knot sequences. Since a periodic spline f on some finite knot sequence \(\textbf{u}\), on the interval [0, 1], say, has a natural extension to a spline with a bi-infinite knot sequence, \(F: {\mathbb {R}} \longrightarrow {\mathbb {R}}: u \mapsto f(u - [u])\) (with [u] the integral part of u, i.e., the largest integer no greater than u) with a bi-infinite knot sequence, therefore the Schoenberg–Whitney theorem also applies to periodic splines. Prof. Carl de Boor (on September 28, 2021)
Although one reviewer of Computer-Aided Design thought this is simple even trivial, we think this is not a well-known conclusion. According to our limited knowledge, the authors have not found a version of the Schoenberg–Whitney theorem that covers the periodic case in the existing textbooks/references. In addition, we have asked many famous scholars (including Hongwei Lin, Xunnian Yang, Xiao-Diao Chen, Hartmut Prautzsch, Tom Lyche, Shi-Min Hu, Klaus Höllig, Gershon Elber, etc.) in the field of CAD about this issue by e-mail from 2017 to 2021; however, no one knew or told us this conclusion, except Prof. Carl de Boor.
The periodic case has been neglected and requires additional arguments. I am not aware of a “periodic variant” of the Schoenberg–Whitney theorem. Prof. Klaus Höllig.
References
de Boor C (1978) A practical guide to splines, vol 27. Springer, Berlin
Gerald F (2002) Curves and surfaces for CAGD: a practical guide. Morgan Kaufmann, Burlington
Ginnis Alexandros I, Kostas Konstantinos V, Kaklis Panagiotis D (2017) Construction of smooth branching surfaces using T-splines. Comput Aided Des 92:22–32
Hu C, Ai J, Lin H (2020) Curve guided T-spline skinning for surface and solid generation. Comput Graph 90:84–94
Jung H-B, Kim K (2000) A new parameterisation method for NURBS surface interpolation. Int J Adv Manuf Technol 16(11):784–790
Lee ETY (1989) Choosing nodes in parametric curve interpolation. Comput Aided Des 21(6):363–370
Li Y, Chen W, Cai Y, Nasri A, Zheng J (2015) Surface skinning using periodic T-spline in semi-NURBS form. J Comput Appl Math 273:116–131
Lim C-G (1999) A universal parametrization in B-spline curve and surface interpolation. Comput Aided Geom Des 16(5):407–422
Moore P, Molloy D (2014) Efficient energy evaluations for active B-spline/NURBS surfaces. Comput Aided Des 47:12–31
Nasri A, Sinno K, Zheng J (2012) Local T-spline surface skinning. Vis Comput 28(6):787–797
Nora E, Bert J (2019) Lofting with patchwork B-splines. Advanced methods for geometric modeling and numerical simulation. Springer, Berlin, pp 77–98
Moore P, Molloy D (2014) Efficient energy evaluations for active B-spline/NURBS surfaces. Comput Aided Des 47:12–31
Park H (2001) Choosing nodes and knots in closed B-spline curve interpolation to point data. Comput Aided Des 33(13):967–974
Park H (2003) Lofted B-spline surface interpolation by linearly constrained energy minimization. Comput Aided Des 35(14):1261–1268
Park H, Kim K (1996) Smooth surface approximation to serial cross-sections. Comput Aided Des 28(12):995–1005
Park H, Kim K, Lee S-C (2000) A method for approximate NURBS curve compatibility based on multiple curve refitting. Comput Aided Des 32(4):237–252
Park H, Jung H-B, Kim K (2004) A new approach for lofted B-spline surface interpolation to serial contours. Int J Adv Manuf Technol 23(11):889–895
Piegl L, Tiller W (1996) The NURBS book. Springer, New York
Piegl L, Tiller W (1996) Algorithm for approximate NURBS skinning. Comput Aided Des 28(9):699–706
Piegl L, Tiller W (2000) Reducing control points in surface interpolation. IEEE Comput Graph Appl 20(5):70–75
Piegl L, Tiller W (2000) Surface approximation to scanned data. Vis Comput 16(7):386–395
Piegl L, Tiller W (2002) Surface skinning revisited. Vis Comput 18(4):273–283
Shang C, Jianzhong F, Lin Z, Feng J, Li B (2018) Closed T-spline surface reconstruction from medical image data. Int J Precis Eng Manuf 19(11):1659–1671
Shi F-Z (2001) CAGD and NURBS (in Simplified Chinese). Higher Education Press, Beijing
Wang Y (2009) Free-form surface representation and approximation using T-splines. PhD thesis, Nanyang Technological University, Singapore. https://hdl.handle.net/10356/19090
Wang W-K, Zhang H, Park H, Yong J-H, Paul J-C, Sun J-G (2008) Reducing control points in lofted B-spline surface interpolation using common knot vector determination. Comput Aided Des 40(10–11):999–1008
Woodward C (1987) Cross-sectional design of B-spline surfaces. Comput Graph 11(2):193–201
Woodward C (1988) Skinning techniques for interactive B-spline surface interpolation. Comput Aided Des 20(8):441–451
Yang X, Zheng J (2012) Approximate T-spline surface skinning. Comput Aided Des 44(12):1269–1276
Acknowledgements
We owe thanks to the anonymous referees for their helpful comments and suggestions. We wish to thank Prof. Carl de Boor for pointing out that the Schoenberg–Whitney theorem also applies to periodic splines, which is not a well-known conclusion. Furthermore, we would also like to thank Dr. Patricia Moore for her suggestions and improvements to the early manuscripts written in 2017 and 2019. Last but not least, we would like to express our gratitude to Zixuan Zhao for his assistance in the writing and revision of this paper.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.
Additional information
Communicated by Antonio José Silva Neto.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
A Proof of Lemma 1
A Proof of Lemma 1
Before providing the proof of Lemma 1, we introduce the following properties.
Property 1
Let \(p=2k-1\) be the degree, \({\textbf {U}}_{\mathrm{{cyclic}}}^{n,p}(u_{i})\) be a cyclic knot vector, then the following statements hold:
-
(1)
\(N_{(n+1)+i,p}(u+T) = N_{i,p}(u), \quad i = 0, \ldots , 2k-2\)
-
(2)
\(N_{i,p}(u-T) = N_{i+(n+1),p}(u), \quad i = 0, \ldots , 2k-2\)
-
(3)
If \(u \in [u_j,u_{j+1})\), then \(N_{i,p}(u) \ge 0, \quad i = j, \ldots , j+p\)
-
(4)
\(u_a \le u_b\) if \(a \le b\) (monotonicity of knot vector)
Proof
For parts (1) and (2), refer to Fig. for an illustration. For part (3), refer to page 57 of Ref (Piegl and Tiller 1996a). \(\square \)
Property 2
Let \(p=2k-1\) be the degree of periodic B-spline, \(N^p[\mathbf{{u}}_i](u)\) and \(N_{i, p}(u)\) be two B-spline basis functions, we have
-
(1)
\(u_{n+1+j} = u_j + T, \quad j = 0, \ldots , k-1\)
-
(2)
\(u_{j} = u_{j+(n+1)} - T, \quad j = -k, \ldots , 0\)
-
(3)
\(N^p[\mathbf{{u}}_i](u) = N_{i+k-1, p}(u), \quad i=0, \ldots , n\)
-
(4)
\(N^p[\mathbf{{u}}_i](u) = 0 \text { if } u \notin I_i^k\) (local support property)
Proof
We prove part (1) by induction on j. Clearly, \(u_{n+1} = u_0 + T\) holds for \(j=0\). Assume now that the relation is true for some \(j=\ell \), then by the induction hypothesis we obtain \(u_{n+1+\ell } = u_\ell + T\). Next, for \(j=\ell + 1\), applying \(u_{j+1} = u_{j} + r_{j \bmod (n+1)}\) yields that
it follows that the identity holds for \(j=\ell + 1\). Furthermore, part (2) can be proven similarly.
For part (3), since \(N^p[\mathbf{{u}}_i](u)\) and \(N_{i, p}(u)\) are associated with knot vectors \([u_{i-k}, \ldots , u_{i+k}]\), \([u_{i-2k+1}, \ldots , u_{i+1}]\), respectively. By definition in Eqs. (3) and (12), we know that \({\hat{\textbf{U}}}_{T}\) is a subset of \(\mathbf{{U}}_{\mathrm{{cyclic}}}^{n,p}(u_i)\). Thus, \(N^p[\mathbf{{u}}_i](u) = N_{i+k-1, p}(u)\), i.e., the property follows. \(\square \)
Property 3
Let \(p=2k-1\) be the degree of periodic B-spline, and assume that \(u \in [u_j, u_{j+1})\), and \(n \ge p\), then we have
-
(1)
If \(i \in [0, n]\), then \(\hat{N}[\mathbf{{u}}_i](u) = N^p[\mathbf{{u}}_i](u)\) when \(i \in [j-k+1, j+k]\).
-
(2)
If \(j \in [0,k-2]\), then \(\hat{N}[\mathbf{{u}}_{i+(n+1)}](u) = N^p[\mathbf{{u}}_{i+(n+1)}](u+T)\) when \(i \in [j-k+1, -1]\).
-
(3)
If \(j \in [n-k+1, n]\), then \(\hat{N}[\mathbf{{u}}_{i-(n+1)}](u) = N^p[\mathbf{{u}}_{i-(n+1)}](u-T)\) when \(i \in [n+1, j+k]\).
Proof
We first prove part (1). Since \(j-k+1 \le i \text { and } i \le j+k\), then we have \(j+1 \le i+k \text { and } j \ge i-k\). Namely, \(u_{j+1} \le u_{i+k} \text { and } u_j \ge u_{i-k}\). Hence, \(u \in [u_j, u_{j+1}) \subseteq [u_{i-k}, u_{i+k}] = I_i^k\). Next, we prove \(u_{i+k} - u_{i-k} \le T, \ i=0, \ldots , n\). We divide the interval [0, n] into three parts, i.e., \(i \in [0, k) \cup [k, n+1-k) \cup [n+1-k, n]\), then the proof consists of three steps:
(i) For \(0 \le i < k\),
(ii) For \(k \le i < n+1-k\),
(iii) For \(n+1-k \le i \le n\),
As a consequence, \(u_{i+k} - u_{i-k} \le T\) holds for all \(i \in [0, n]\). Then, we have \(u-T, \ u+T \notin I_i^k\) when \(u \in I_i^k\). According to the definition of \(\hat{N}[\mathbf{{u}}_i](u)\), we obtain
For part (2), since \(u+T \in [u_j+T, u_{j+1}+T)\), by Property (2.1) we have \(u+T \in [u_{n+j+1}, u_{n+j+2})\) for \(j \in [0, k-2]\). On the other hand, \(i \in [j-k+1, -1]\), then we have
Next, we prove \(u-T, \ u \notin I_{i+(n+1)}^k\) as follows.
Hence,
For part (3), by Property (2.2) and \(u-T \in [u_j-T, u_{j+1}-T)\), we obtain \(u-T \in [u_{j-(n+1)}, u_{j-n})\) when \(j \in [n-k+1, n]\).
Again, \(u, \ u+T \notin I_{i-(n+1)}^k\) can be derived as follows.
Thus,
To sum up, this completes our proof. \(\square \)
Proof of Lemma 1
First, we divide \(j \in [0, n]\) into three cases (\(k \ge 2\)), i.e., \(j \in [0, k-2] \cup [k-1, n-k] \cup [n-k+1, n]\).
(i) when \(j \in [k-1, n-k]\), then \(i=j-k+1, \ldots , j+k \subseteq [0, n]\), by Property (3.1) and Property (2.3), we have
(ii) when \(j \in [0, k-2]\), then \(i \in [j+1-k, -1] \cup [0, j+k]\), for \(i \in [0, j+k]\), the identity can be validated like part (i), so only \(i \in [j+1-k, -1]\) needs to be considered.
Because \(i \in [j+1-k, -1]\), so \(i+k-1 \in [j, k-2] \subseteq [0, k-2]\). By Property (1.1) we have
(iii) when \(j \in [n-k+1, n]\), then \(i \in [j-k+1, j+k] = [j+k-1, n] \cup [n+1, j+k]\), thus, we discuss the case for \(i \in [n+1, j+k]\).
Since \(i \in [n+1, j+k]\), so \(i+k-1-(n+1) \in [k-1, j+2k-1-(n+1)] \subseteq [k-1, 2k-2]\). By Property (1.2) we obtain
On the other hand, \(i+k-1 \in [j, j+p]\), by Property (1.3), we have \(N_{i+k-1,p}(u) \ge 0\). According to the partition of unity, i.e., \(\sum _{i=j}^{j+p}N_{i,p}(u)=1\) (page 57 of Ref Piegl and Tiller 1996a), we know that at most 2k of the \(\hat{N}[\mathbf{{u}}_{i}](u)\) are nonzero. Thus, the lemma follows. \(\square \)
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
Tang, S. Control point reduction for lofted B-spline surface interpolation based on serial closed contours. Comp. Appl. Math. 42, 86 (2023). https://doi.org/10.1007/s40314-023-02226-9
Received:
Revised:
Accepted:
Published:
DOI: https://doi.org/10.1007/s40314-023-02226-9