Skip to main content
Log in

Control point reduction for lofted B-spline surface interpolation based on serial closed contours

  • Published:
Computational and Applied Mathematics Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

Notes

  1. 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

    Book  MATH  Google Scholar 

  • Gerald F (2002) Curves and surfaces for CAGD: a practical guide. Morgan Kaufmann, Burlington

    Google Scholar 

  • Ginnis Alexandros I, Kostas Konstantinos V, Kaklis Panagiotis D (2017) Construction of smooth branching surfaces using T-splines. Comput Aided Des 92:22–32

    Article  Google Scholar 

  • Hu C, Ai J, Lin H (2020) Curve guided T-spline skinning for surface and solid generation. Comput Graph 90:84–94

    Article  Google Scholar 

  • Jung H-B, Kim K (2000) A new parameterisation method for NURBS surface interpolation. Int J Adv Manuf Technol 16(11):784–790

    Article  Google Scholar 

  • Lee ETY (1989) Choosing nodes in parametric curve interpolation. Comput Aided Des 21(6):363–370

    Article  MATH  Google Scholar 

  • 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

    Article  MathSciNet  MATH  Google Scholar 

  • Lim C-G (1999) A universal parametrization in B-spline curve and surface interpolation. Comput Aided Geom Des 16(5):407–422

    Article  MathSciNet  MATH  Google Scholar 

  • Moore P, Molloy D (2014) Efficient energy evaluations for active B-spline/NURBS surfaces. Comput Aided Des 47:12–31

    Article  Google Scholar 

  • Nasri A, Sinno K, Zheng J (2012) Local T-spline surface skinning. Vis Comput 28(6):787–797

    Article  Google Scholar 

  • Nora E, Bert J (2019) Lofting with patchwork B-splines. Advanced methods for geometric modeling and numerical simulation. Springer, Berlin, pp 77–98

    Google Scholar 

  • Moore P, Molloy D (2014) Efficient energy evaluations for active B-spline/NURBS surfaces. Comput Aided Des 47:12–31

    Article  Google Scholar 

  • Park H (2001) Choosing nodes and knots in closed B-spline curve interpolation to point data. Comput Aided Des 33(13):967–974

    Article  Google Scholar 

  • Park H (2003) Lofted B-spline surface interpolation by linearly constrained energy minimization. Comput Aided Des 35(14):1261–1268

    Article  Google Scholar 

  • Park H, Kim K (1996) Smooth surface approximation to serial cross-sections. Comput Aided Des 28(12):995–1005

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Google Scholar 

  • Piegl L, Tiller W (1996) The NURBS book. Springer, New York

    MATH  Google Scholar 

  • Piegl L, Tiller W (1996) Algorithm for approximate NURBS skinning. Comput Aided Des 28(9):699–706

    Article  Google Scholar 

  • Piegl L, Tiller W (2000) Reducing control points in surface interpolation. IEEE Comput Graph Appl 20(5):70–75

    Article  Google Scholar 

  • Piegl L, Tiller W (2000) Surface approximation to scanned data. Vis Comput 16(7):386–395

    Article  MATH  Google Scholar 

  • Piegl L, Tiller W (2002) Surface skinning revisited. Vis Comput 18(4):273–283

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Shi F-Z (2001) CAGD and NURBS (in Simplified Chinese). Higher Education Press, Beijing

    Google Scholar 

  • 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

    Article  Google Scholar 

  • Woodward C (1987) Cross-sectional design of B-spline surfaces. Comput Graph 11(2):193–201

    Article  Google Scholar 

  • Woodward C (1988) Skinning techniques for interactive B-spline surface interpolation. Comput Aided Des 20(8):441–451

    Article  MATH  Google Scholar 

  • Yang X, Zheng J (2012) Approximate T-spline surface skinning. Comput Aided Des 44(12):1269–1276

    Article  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Shutao Tang.

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.

Fig. 13
figure 13

The diagram of Property (1) by a cyclic knot vector with \(p=3, n=6\)

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. (1)

    \(N_{(n+1)+i,p}(u+T) = N_{i,p}(u), \quad i = 0, \ldots , 2k-2\)

  2. (2)

    \(N_{i,p}(u-T) = N_{i+(n+1),p}(u), \quad i = 0, \ldots , 2k-2\)

  3. (3)

    If \(u \in [u_j,u_{j+1})\), then \(N_{i,p}(u) \ge 0, \quad i = j, \ldots , j+p\)

  4. (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. (1)

    \(u_{n+1+j} = u_j + T, \quad j = 0, \ldots , k-1\)

  2. (2)

    \(u_{j} = u_{j+(n+1)} - T, \quad j = -k, \ldots , 0\)

  3. (3)

    \(N^p[\mathbf{{u}}_i](u) = N_{i+k-1, p}(u), \quad i=0, \ldots , n\)

  4. (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

$$\begin{aligned} \begin{aligned} u_{(n+1)+\ell +1}&= u_{n+1+\ell } + r_{(n+1+\ell ) \bmod (n+1)} \\ {}&= u_\ell + T + r_\ell = u_\ell + T + (u_{\ell +1}-u_\ell ) \\ {}&= u_{\ell +1} + T \end{aligned} \end{aligned}$$

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. (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. (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. (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\),

$$\begin{aligned} \begin{aligned}&\because n \ge p=2k-1 \ \Rightarrow i+k \le (n+1)+i-k \ \Rightarrow u_{i+k} \le u_{(n+1)+i-k} \\&\because u_{i-k} + T = u_{(n+1)+i-k} \ \Rightarrow u_{i+k} \le u_{i-k} + T \ \Rightarrow u_{i+k} - u_{i-k} \le T \end{aligned} \end{aligned}$$

(ii) For \(k \le i < n+1-k\),

$$\begin{aligned} \begin{aligned}&\because i< n+1-k \text { and } k \le i \ \Rightarrow i+k< n+1 \text { and } i-k \ge 0 \\&\Rightarrow u_{i+k}< u_{n+1} \text { and } -u_{i-k} \le -u_0 \ \Rightarrow u_{i+k} - u_{i-k} < u_{n+1} - u_0 = T \end{aligned} \end{aligned}$$

(iii) For \(n+1-k \le i \le n\),

$$\begin{aligned} \begin{aligned}&\because n \ge p=2k-1 \ \Rightarrow i+k-(n+1) \le i-k \ \Rightarrow u_{i+k-(n+1)} \le u_{i-k} \\&\because u_{i+k} = u_{i+k-(n+1)} + T \ \Rightarrow u_{i+k} - T \le u_{i-k} \ \Rightarrow u_{i+k} - u_{i-k} \le T \end{aligned} \end{aligned}$$

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

$$\begin{aligned} \hat{N}[\mathbf{{u}}_i](u) = N^p[\mathbf{{u}}_i](u) \end{aligned}$$

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

$$\begin{aligned} \begin{aligned}&\because i \ge j-k+1 \text { and } i \le -1 \le j-1 \\&\Rightarrow (n+1)+i+k \ge n+j+2 \text { and } n+i+2 \le n+j+1 \\&\Rightarrow u_{n+j+2} \le u_{n+1+i+k} \text { and } u_{n+j+1} \ge u_{n+2+i} > u_{n+1+i-k} \\&\Rightarrow u+T \in [u_{n+j+1}, u_{n+j+2}) \subseteq [u_{n+1+i-k}, u_{n+1+i+k}] = I_{i+(n+1)}^k \end{aligned} \end{aligned}$$

Next, we prove \(u-T, \ u \notin I_{i+(n+1)}^k\) as follows.

$$\begin{aligned} \begin{aligned}&\because n \ge p=2k-1 \ \Rightarrow i+k-1 \le n+i-k \\&\because i \ge j-k+1 \ \Rightarrow j \le i+k-1 \le n+i-k \\&\Rightarrow j+1 \le n+i+1-k \Rightarrow u_{j+1} \le u_{n+i+1-k} \\&\Rightarrow u-T< u < u_{j+1} \le u_{n+i+1-k} \\&\Rightarrow u-T, \ u \notin I_{i+(n+1)}^k \end{aligned} \end{aligned}$$

Hence,

$$\begin{aligned} \hat{N}[\mathbf{{u}}_{i+(n+1)}](u) = N^p[\mathbf{{u}}_{i+(n+1)}](u+T) \end{aligned}$$

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]\).

$$\begin{aligned} \begin{aligned}&\because i \ge n+1 \ge j+1> j+1-k\text { and } i \le j+k \\&\Rightarrow i-(n+1)+k> j-n \text { and } i-(n+1)-k \le j-(n+1) \\&\Rightarrow u_{i-(n+1)+k} > u_{j-n} \text { and } u_{i-(n+1)-k} \le u_{j-(n+1)} \\&\Rightarrow u-T \in [u_{j-(n+1)}, u_{j-n}) \subseteq [u_{i-(n+1)-k}, u_{i-(n+1)+k}] = I_{i-(n+1)}^k \end{aligned} \end{aligned}$$

Again, \(u, \ u+T \notin I_{i-(n+1)}^k\) can be derived as follows.

$$\begin{aligned} \begin{aligned}&\because i \le j+k \ \Rightarrow i-(n+1)-k \le j-(n-2k+1) \\&\because n \ge p=2k-1 \ \Rightarrow i-(n+1)-k \le j \ \Rightarrow u_{i-(n+1)-k} \le u_j \\&\Rightarrow u_{i-(n+1)-k} \le u_j \le u < u+T \\&\Rightarrow u, \ u+T \notin I_{i-(n+1)}^k \end{aligned} \end{aligned}$$

Thus,

$$\begin{aligned} \hat{N}[\mathbf{{u}}_{i-(n+1)}](u) = N^p[\mathbf{{u}}_{i-(n+1)}](u-T) \end{aligned}$$

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

$$\begin{aligned} \hat{N}[\mathbf{{u}}_{i \bmod (n+1)}](u) = \hat{N}[\mathbf{{u}}_{i}](u) = N^p[\mathbf{{u}}_i](u) = N_{i+k-1,p}(u) \end{aligned}$$

(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.

$$\begin{aligned} \begin{aligned} \hat{N}[\mathbf{{u}}_{i \bmod (n+1)}](u)&= \hat{N}[\mathbf{{u}}_{i+n+1}](u) \\ {}&= N^p[\mathbf{{u}}_{i+n+1}](u+T) \ \ \qquad \qquad \longleftarrow \text {Property }(3.2) \\ {}&= N_{i+k-1+(n+1),p}(u+T) \quad \qquad \longleftarrow \text {Property } (2.3) \end{aligned} \end{aligned}$$

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

$$\begin{aligned} N_{i+k-1+(n+1),p}(u+T) = N_{i+k-1,p}(u) \end{aligned}$$

(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]\).

$$\begin{aligned} \begin{aligned} \hat{N}[\mathbf{{u}}_{i \bmod (n+1)}](u)&= \hat{N}[\mathbf{{u}}_{i-(n+1)}](u) \\ {}&= N^p[\mathbf{{u}}_{i-(n+1)}](u-T) \qquad \qquad \longleftarrow \text {Property }(3.3) \\ {}&= N_{i+k-1-(n+1),p}(u-T) \quad \qquad \longleftarrow \text {Property } (2.3) \end{aligned} \end{aligned}$$

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

$$\begin{aligned} N_{i+k-1-(n+1),p}(u-T) = N_{i+k-1,p}(u) \end{aligned}$$

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.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s40314-023-02226-9

Keywords

Mathematics Subject Classification

Navigation