Table of Contents
Fetching ...

Local spline refinement driven by fault jump estimates for scattered data approximation

Cesare Bracco, Carlotta Giannelli, Francesco Patrizi, Alessandra Sestini

TL;DR

This work addresses high-fidelity surface reconstruction from scattered data by estimating jumps across fault curves to drive local, anisotropic refinement within Locally Refined (LR) B-spline spaces. The authors develop a fault-aware quasi-interpolation (QI) method that decouples mesh refinement from reconstruction, leveraging jump estimates for ordinary and gradient faults to guide refinement levels and directions. They introduce MNDF-based fault indicators for detection, a direct jump-estimation strategy (including gradient jumps) with clustering into refinement classes, and a marking/solving pipeline that uses local least-squares with smoothing and inheritance to obtain LR-QI coefficients. The resulting framework achieves comparable RMSE to fault-based methods with significantly fewer degrees of freedom and substantial computational savings, demonstrated on synthetic functions and real terrain datasets. This approach offers a robust, scalable path for adaptive surface reconstruction in geospatial contexts, with potential extensions to fault intersections and noisy data handling.

Abstract

We present new fault jump estimates to guide local refinement in surface approximation schemes with adaptive spline constructions. The proposed approach is based on the idea that, since discontinuities in the data should naturally correspond to sharp variations in the reconstructed surface, the location and size of jumps detected in the input point cloud should drive the mesh refinement algorithm. To exploit the possibility of inserting local meshlines in one or the other coordinate direction, as suggested by the jump estimates, we propose a quasi-interpolation (QI) scheme based on locally refined B-splines (LR B-splines). Particular attention is devoted to the construction of the local operator of the LR B-spline QI scheme, which properly adapts the spline approximation according to the nature and density of the scattered data configuration. A selection of numerical examples outlines the performance of the method on synthetic and real datasets characterized by different geographical features.

Local spline refinement driven by fault jump estimates for scattered data approximation

TL;DR

This work addresses high-fidelity surface reconstruction from scattered data by estimating jumps across fault curves to drive local, anisotropic refinement within Locally Refined (LR) B-spline spaces. The authors develop a fault-aware quasi-interpolation (QI) method that decouples mesh refinement from reconstruction, leveraging jump estimates for ordinary and gradient faults to guide refinement levels and directions. They introduce MNDF-based fault indicators for detection, a direct jump-estimation strategy (including gradient jumps) with clustering into refinement classes, and a marking/solving pipeline that uses local least-squares with smoothing and inheritance to obtain LR-QI coefficients. The resulting framework achieves comparable RMSE to fault-based methods with significantly fewer degrees of freedom and substantial computational savings, demonstrated on synthetic functions and real terrain datasets. This approach offers a robust, scalable path for adaptive surface reconstruction in geospatial contexts, with potential extensions to fault intersections and noisy data handling.

Abstract

We present new fault jump estimates to guide local refinement in surface approximation schemes with adaptive spline constructions. The proposed approach is based on the idea that, since discontinuities in the data should naturally correspond to sharp variations in the reconstructed surface, the location and size of jumps detected in the input point cloud should drive the mesh refinement algorithm. To exploit the possibility of inserting local meshlines in one or the other coordinate direction, as suggested by the jump estimates, we propose a quasi-interpolation (QI) scheme based on locally refined B-splines (LR B-splines). Particular attention is devoted to the construction of the local operator of the LR B-spline QI scheme, which properly adapts the spline approximation according to the nature and density of the scattered data configuration. A selection of numerical examples outlines the performance of the method on synthetic and real datasets characterized by different geographical features.
Paper Structure (14 sections, 3 theorems, 35 equations, 11 figures, 2 tables, 4 algorithms)

This paper contains 14 sections, 3 theorems, 35 equations, 11 figures, 2 tables, 4 algorithms.

Key Result

Theorem 2.3

The following statements are equivalent:

Figures (11)

  • Figure 1: Replacement of an LR B-spline due to the refinement of the LR mesh. Consider the LR mesh $\mathcal{M}$ reported in figure (a) and the bidegree $\mathbf{p} = (2, 2)$. Let $B[\mathbf{x},\mathbf{y}]$ be the LR B-spline on $\mathcal{M}$ whose support and tensor mesh $\mathcal{M}_B$ are highlighted in figure (a). Let us insert a horizontal meshline $\gamma$ (dashed in figure (a)). Such $\gamma$ is traversing $\mathop{\mathrm{supp}}\nolimits B$ and $B[\mathbf{x},\mathbf{y}]$ is replaced by the B-splines $B[\mathbf{x},\mathbf{y}_1]$ and $B[\mathbf{x},\mathbf{y}_2]$ involved in the knot insertion. In figure (b) we see the supports and tensor meshes of the latter on the new LR mesh. In particular we see that $B[\mathbf{x},\mathbf{y}_1]$ (the bottom B-spline in figure (b)) has not minimal support on the LR mesh as there is a vertical meshline traversing its support which is not in its associated tensor mesh. Thus $B[\mathbf{x},\mathbf{y}_1]$ is replaced as well, via knot insertion, by two other B-splines $B[\mathbf{x}_1,\mathbf{y}_1], B[\mathbf{x}_2, \mathbf{y}_1]$. Therefore, in the end, we move from $B[\mathbf{x}, \mathbf{y}]$, which was defined on $\mathcal{M}$, to $B[\mathbf{x}_1, \mathbf{y}_1], B[\mathbf{x}_2,\mathbf{y}_1], B[\mathbf{x}, \mathbf{y}_2]$ on the new LR mesh $\mathcal{M}' \coloneqq \mathcal{M} \cup \{\gamma\}$. The supports and tensor meshes of the latter are represented in figure (c). In figure (d) we see that $\mathcal{M}'$ has not the N$_2$S property as $B[\mathbf{x}_2, \mathbf{y}_1]$ is nested into another LR B-spline on the mesh and both are defined on simple knots, i.e., their associated tensor meshes have all distinct meshlines, of multiplicity one.
  • Figure 2: N$_2$S$_2$ refinement of a marked B-spline. Assume bidegree $\mathbf{p} = (2, 2)$. In figure (a) we have picked a B-spline on a tensor mesh to be refined. Its support and associated tensor mesh are highlighted with colours. The first step of each iteration of the N$_2$S$_2$ refinement is to halve all the non-empty knot intervals, in both directions for isotropic refinement, only in one of the two for anisotropic refinement. This step is pictured in figure (b), in the isotropic case. The next step re-instate the N$_2$S property on the new mesh by suitably extending the vertical or the horizontal meshlines on the new mesh, in order to prevent nesting of the LR B-spline supports. In figure (c) we show the result of this second step, when extending the horizontal meshlines. Figure (c) is also the final mesh produced by the N$_2$S$_2$ refinement procedure.
  • Figure 3: Example of jump estimate and classification for an ordinary fault. We consider the sampling on one million Halton points of a piecewise surface in $[0, 1]^2$ which is zero outside of a region $R$, in the shape of a plus symbol, and it is the restriction of the plane $f(x, y) = 2x + 1$ inside $R$. In figure (a) we report the analytical jump. In figure (b) we show the fault and jump reconstructed. In figure (c) the classification of the jump when allowing $L = 15$ levels of refinements.
  • Figure 4: Setting for the gradient estimate in an offset of the fault curve. All the dots belong to $X$ except the central red dot. The red central marker is the narrowed point $\pmb{x}_N \in F_N^G$ defined from a detected fault point $\pmb{x} \in F^G$. The yellow curve is the restriction of the fault curve in the considered neighbourhood (bounded by the dashed circumference). The two coloured groups of dot markers are the two sets, composing $X_{\pmb{x}_N}$, considered for the gradient estimate on the two sides of the fault curve.
  • Figure 5: Example of jump estimate and classification for a gradient fault. We consider the sampling on one million Halton points in $[0, 1]^2$ of the function $f(x, y) = |x - \frac{1}{2} - \frac{1}{10}\sin(2\pi y)|$, which is only $C^0$ along the gradient fault $x = \frac{1}{2} + \frac{1}{10}\sin(2\pi y)$. The analytical jump in the normal derivative across the fault is $g(y) = 2\sqrt{1 + \frac{\pi^2}{25}\cos^2(2\pi y)}$ and it is reported in figure (a). In figure (b) we show the reconstructed fault and jump. In figure (c) the classification of the jump when allowing $L = 15$ levels of refinements. Despite the availability of 15 classes, the detected points are gathered only in the last three by the jump classification algorithm. This is due to the fact that the range of the jump estimate is relatively small with respect to its magnitude and therefore it is reckon as fairly "close to constant" by the classification algorithm.
  • ...and 6 more figures

Theorems & Definitions (16)

  • Definition 2.1
  • Definition 2.2
  • Theorem 2.3
  • Remark 2.4
  • Proposition 3.1
  • proof
  • Remark 3.2
  • Remark 3.3
  • Remark 3.4
  • Remark 4.1
  • ...and 6 more