• Keine Ergebnisse gefunden

The process of Locally Refined B-splines is described in detail in [Dok13]. Please consult the paper for formal proofs. Below a summary of the most important steps is presented.

The refinement always starts from a TP B-spline spaceB0. The refinement pro-ceeds with a sequence of meshline insertions producing a series of collections of TP B-splinesB0,B1, . . . ,Bk,Bk+1spanning nested spline spaces each providing a refined surface

F(u, v)=

B∈Bi

cBsBB(u, v), i =0,1, . . . ,k,k+1. (2.3)

Above we end withk+1, as we will now detail how to createBk+1fromBk. Note that we require that all TP B-splines in these collections have minimal sup-port. By this we mean that all meshlines that cross the support of a TP B-spline also have to be a line in the mesh representing the knots of the TP B-splines counting multiplicity. We denote these meshlines knotlines of the TP B-spline. Thus, to ensure that all TP B-splines have this property, the process of going fromBk toBk+1 fre-quently includes a number of intermediate steps and a corresponding sequence of intermediate LR B-spline collections.

2.5 LR B-Spline Refinement Method 19 Assume that Eq.2.3representsF(u, v)using the collectionBkand we now want to representF(u, v)using a refined collection of minimal support TP B-splinesBk+1. The refinement process goes as follows:

• As long as there is aBBkthat does not have minimal support on the refined mesh we proceed as follows. Letγ be a meshline that splits the support ofB. This means that eitherγ is not a knotline ofB, orγ is a knotline of Bbut has higher multiplicity than the knotline ofB. DecomposeB into its univariate component B-splinesB(u, v)=B(u)B(v). We now have two cases:

– Ifγ is parallel to second parameter direction then it has a constant parameter valuea in the first parameter direction. We inserta in the univariate B-spline B(u) using Eq.2.5 below and express B(u)as B(u)=α1B1(u)+α2B2(u).

Then we make two new TP B-splines B1(u, v)=B1(u)B(v)andB2(u, v)= B2(u)B(v).

– If γ is parallel to first parameter direction then it has a constant parameter valueain the second parameter direction. We insertain the univariate B-spline B(v)using Eq. 2.5below and express B(v)as B(v)=α1B1(v)+α2B2(v).

Then we make the two new TP B-splinesB1(u, v)=B(u)B1(v)andB2(u, v)= B(u)B2(v).

B can be decomposed as follows, B(u, v)=α1B1(u, v)+α2B2(u, v). We can now expressF(u, v)by replacingB(u, v)with the two new TP B-splines.F(u, v)= F(u, v)cBsBB(u, v)+cBsB1B1(u, v)+α2B2(u, v)). We updateBkby remov-ing B and adding the TP B-splines B1(u, v)andB2(u, v). In addition we have to create/update both coefficients and scaling factors belonging to these two TP B-splines. We must have in mind thatB1(u, v)andB2(u, v)often will be duplicates of B-splines already inBj. Now letBr,r =1,2

– In the caseBr has no duplicate setsBr =sBαrandcBr =cB.

– In the caseBr has a duplicateBdsetsBr =sBd+sBαr andcBr =(sBdcBd+sBαr

cB)/(sBr), and remove the duplicate.

Note thatsB,αr andsBd are all positive numbers, thussBr will be positive.

When all BBkhave minimal support, we setBk+1=Bk.

To simplify notation as in Chap. 3, we now define the scaled TP B-splines NB(u, v)=sBB(u, v) to provide a basis that is partition of unity for the spline space spanned byBj. IfF(x,y)≡1 then all coefficients of the TP B-spline surface we start from, are 1. In this case the coefficientscBr calculated above all remain 1, duplicates or not. Consequently,

B∈Bk

NB(u, v)=

B∈Bk

sBB(u, v)=

B∈B0

B(u, v)=1. (2.4)

The process of inserting a knota(u0,up+1)into the local knot vector[u] = {u0, . . . ,up+1} belonging to a univariate B-spline B[u], of degree p was first described by Boehm [Boe80]. We organize the resulting sequence of knots as a

Fig. 2.2 Parameter domain of an LR B-spline surface with indication on B-spline support. The mesh is shown as black lines. The support of two overlapping B-splines are shown in red and in blue

non-decreasing knot sequence { ˆu0, . . . ,uˆp+2}. From this we make two new B-splines B1[u1]andB2[u2]with corresponding knot vectors[u1] = { ˆu0, . . . ,uˆp+1} and[u2] = { ˆu1, . . . ,uˆp+2}. Then

B[u] =α1B1[u1] +α2B2[u2], (2.5) where

α1:=

au

0

upu0, u0<a<up, 1, upa<up+1, α2:=

1, u0<au1,

up+1a

up+1u1, u1<a<up+1.

(2.6)

The incremental refinement by knot insertion used by LR B-splines ensures that the spline spaces generated are nested. Figure2.2shows a parameter domain and the segmentation into boxes corresponding to a biquadratic LR B-spline surface. In addition the support of two TP B-splines is shown. We see that a meshline stops inside the blue TP B-spline support. This meshline is excluded from the local knot vectors defining the TP B-spline covering this support.

Linear independence of the resulting collectionBk+1of LR B-splines is not guar-anteed, but occurrences are rare for the constructions used in this book. The approx-imation procedure outlined in Chap.3does not depend on linear independence. LR B-spline linear dependency configurations can, however, be resolved, if needed by an application, by insertion of extra meshlines. Linear dependence of LR B-splines is addressed in detail in [Pat20].

References 21

References

[Boe80] Boehm, W. (1980). Inserting new knots into B-spline curves.Computer Aided Geometric Design.https://doi.org/10.1016/0010-4485(80)90154-2

[Dok13] Dokken, T., Pettersen, K. F., & Lyche, T. (2013). Polynomial splines over locally refined boxpartitions.Computer Aided Geometric Design.https://doi.org/10.1016/j.cagd.2012.12.

005

[Dok19] Dokken, T., Skytt, V., & Barrowclough, O. (2019). Trivariate spline representations for computer aided design and additive manufacturing.Computers and Mathematics with Appli-cation.https://doi.org/10.1016/j.camwa.2018.08.017

[For88] Forsey, D. R., & Bartels, R. H. (1988). Hierarchical B-spline refinement. InSIGGRAPH 88 Conference Proceedings, Vol. 4, pp. 205–212.

[Gia12] Giannelli, C., Jüttler, B., & Speleers, H. (2012). THB-splines: The truncated basis for hierarchical splines.Computer Aided Geometric Design.https://doi.org/10.1016/j.cagd.2012.

03.025

[Hug05] Hughes, T. J. R., Cottrell, J. A., & Bazilevs, Y. (2004). Isogeometric analysis: CAD, Finite elements, NURBS, exact geometry, and mesh refinement.Computer Methods in Applied Mechanics and Engineering.https://doi.org/10.1016/j.cma.2004.10.008

[Joh13] Johannessen, K. A., Kvamsdal, T., & Dokken, T. (2013). Isogeometric analysis using LR B-splines.Computer Methods in Applied Mechanics and Engineering.https://doi.org/10.

1016/j.cma.2013.09.014

[Kra98] Kraft, R. (1998).Adaptive und linear unabhangige multilevel B-splines und ihre Anwen-dungen, PhD thesis, University of Stuttgatt.

[Pat20] Patrizi, F., & Dokken, T. (2020). Linear dependence of bivariate Minimal Support and Locally Refined B-splines over LR-meshes.Computer Aided Geometric Design.https://doi.

org/10.1016/j.cagd.2019.101803

[Sch81] Schumaker, L. L. (1981).Spline Functions: Basis Theory. New York: Wiley.

[Sco11] Scott, M. A., Li, X., Sederberg, T. W., & Hughes, T. J. R. (2011). Local refinement of analysis-suitable T-splines.Computer Methods in Applied Mechanics and Engineering.

https://doi.org/10.1016/j.cma.2011.11.022

[Sed03] Sederberg, T. W., Zheng, J., Bakenov, A., & Nasri, A. (2003). T-splines and T-NURCCs.

ACM Transactions on Graphics.https://doi.org/10.1145/882262.882295

[Sed04] Sederberg, T. W., Cardon, D. L., Finnigan, G. T., North, N. S., Zheng, J., & Lyche, T.

(2004). T-spline simplification and local refinement.ACM Transactions on Graphics. doi, 10(1145/1015706), 1015715.

[Spl17] Speleers, H. (2017). Hierarchical spline spaces: Quasi-interpolants and local approxi-mation estimates.Advances in Computational Mathematics. https://doi.org/10.1007/s10444-016-9483-y

Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.

The images or other third party material in this chapter are included in the chapter’s Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter’s Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.

Adaptive Surface Fitting with Local Refinement: LR B-Spline Surfaces

Abstract A locally refined (LR) B-spline surface is a piecewise polynomial surface for which the distribution of the surface coefficients can be locally adapted. Such a mathematical representation is interesting for fitting scattered and noisy data, as the local behaviour of a real point cloud may require more degrees of freedom only locally. The number of redundant surface coefficients is minimized, which avoids the fitting of the point cloud’s noise. The surface approximation is performed iteratively either by solving a least squares system or by a local approximation method. This procedure allows for mesh refinement in domains where the distance between a current surface and the point cloud exceeds a prescribed tolerance. In this way, parts of the LR B-spline surface obtained at previous steps may be kept unchanged.

This chapter aims at explaining the adaptive fitting using local refinement with LR B-splines. We present two examples with simulated point clouds to illustrate the methodology.

Keywords LR B-splines surface

·

Adaptive refinement

·

Surface fitting

·

Local

refinement

·

Least-squares

·

Multilevel B-spline Approximation (MBA)