<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing with OASIS Tables v3.0 20080202//EN" "https://jats.nlm.nih.gov/nlm-dtd/publishing/3.0/journalpub-oasis3.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:oasis="http://docs.oasis-open.org/ns/oasis-exchange/table" xml:lang="en" dtd-version="3.0" article-type="research-article"><?xmltex \hack{\allowdisplaybreaks}?><?xmltex \bartext{Development and technical paper}?>
  <front>
    <journal-meta><journal-id journal-id-type="publisher">GMD</journal-id><journal-title-group>
    <journal-title>Geoscientific Model Development</journal-title>
    <abbrev-journal-title abbrev-type="publisher">GMD</abbrev-journal-title><abbrev-journal-title abbrev-type="nlm-ta">Geosci. Model Dev.</abbrev-journal-title>
  </journal-title-group><issn pub-type="epub">1991-9603</issn><publisher>
    <publisher-name>Copernicus Publications</publisher-name>
    <publisher-loc>Göttingen, Germany</publisher-loc>
  </publisher></journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.5194/gmd-16-3651-2023</article-id><title-group><article-title>AdaHRBF v1.0: gradient-adaptive Hermite–Birkhoff radial basis function
interpolants for three-dimensional stratigraphic implicit modeling</article-title><alt-title>AdaHRBF v1.0</alt-title>
      </title-group><?xmltex \runningtitle{AdaHRBF v1.0}?><?xmltex \runningauthor{B.~Zhang et al.}?>
      <contrib-group>
        <contrib contrib-type="author" corresp="no" rid="aff1 aff2">
          <name><surname>Zhang</surname><given-names>Baoyi</given-names></name>
          
        <ext-link>https://orcid.org/0000-0001-6075-9359</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1 aff2">
          <name><surname>Du</surname><given-names>Linze</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff3">
          <name><surname>Khan</surname><given-names>Umair</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1 aff2 aff4">
          <name><surname>Tong</surname><given-names>Yongqiang</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff4 aff5">
          <name><surname>Wang</surname><given-names>Lifang</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="yes" rid="aff1 aff2">
          <name><surname>Deng</surname><given-names>Hao</given-names></name>
          <email>haodeng@csu.edu.cn</email>
        </contrib>
        <aff id="aff1"><label>1</label><institution>Key laboratory of Metallogenic Prediction of Nonferrous Metals and
Geological Environment Monitoring (Ministry of Education), Central South University, Changsha 410083,
China</institution>
        </aff>
        <aff id="aff2"><label>2</label><institution>School of
Geosciences and Info-Physics, Central South University, Changsha 410083,
China</institution>
        </aff>
        <aff id="aff3"><label>3</label><institution>Institute of Deep-Sea Science and Engineering, Chinese Academy of
Sciences, Sanya 572000, China</institution>
        </aff>
        <aff id="aff4"><label>4</label><institution>Wuhan ZGIS Science and Technology Co. Ltd., Wuhan 430074, China</institution>
        </aff>
        <aff id="aff5"><label>5</label><institution>School of Geomatics and Geography, Hunan Vocational College of
Engineering, Changsha 410151, China</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">Hao Deng (haodeng@csu.edu.cn)</corresp></author-notes><pub-date><day>5</day><month>July</month><year>2023</year></pub-date>
      
      <volume>16</volume>
      <issue>13</issue>
      <fpage>3651</fpage><lpage>3674</lpage>
      <history>
        <date date-type="received"><day>21</day><month>November</month><year>2022</year></date>
           <date date-type="rev-request"><day>23</day><month>January</month><year>2023</year></date>
           <date date-type="rev-recd"><day>25</day><month>May</month><year>2023</year></date>
           <date date-type="accepted"><day>1</day><month>June</month><year>2023</year></date>
      </history>
      <permissions>
        <copyright-statement>Copyright: © 2023 Baoyi Zhang et al.</copyright-statement>
        <copyright-year>2023</copyright-year>
      <license license-type="open-access"><license-p>This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this licence, visit <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</ext-link></license-p></license></permissions><self-uri xlink:href="https://gmd.copernicus.org/articles/16/3651/2023/gmd-16-3651-2023.html">This article is available from https://gmd.copernicus.org/articles/16/3651/2023/gmd-16-3651-2023.html</self-uri><self-uri xlink:href="https://gmd.copernicus.org/articles/16/3651/2023/gmd-16-3651-2023.pdf">The full text article is available as a PDF file from https://gmd.copernicus.org/articles/16/3651/2023/gmd-16-3651-2023.pdf</self-uri>
      <abstract><title>Abstract</title>

      <p id="d1e156">Three-dimensional (3D) stratigraphic modeling is capable of
modeling the shape, topology, and other properties of strata in a
digitalized manner. The implicit modeling approach is becoming the
mainstream approach for 3D stratigraphic modeling, which incorporates both
the off-contact strike and dip directions and the on-contact occurrence
information of stratigraphic interface to estimate the stratigraphic
potential field (SPF) to represent the 3D architectures of strata. However,
the magnitudes of the SPF gradient controlling the variation trend of SPF values
cannot be directly derived from the known stratigraphic attribute or strike
and dip data. In this paper, we propose a Hermite–Birkhoff radial basis
function (HRBF) formulation, AdaHRBF, with an adaptive gradient magnitude
for continuous 3D SPF modeling of multiple stratigraphic interfaces. In the
linear system of HRBF interpolants constrained by the scattered on-contact
attribute points and off-contact strike and dip points of a set of strata in
3D space, we add a novel optimizing term to iteratively obtain the optimized
gradient magnitude. The case study shows that the HRBF interpolants can
consistently and accurately establish multiple stratigraphic interfaces and fully
express the internal stratigraphic attribute and orientation. To ensure
harmony of the variation in stratigraphic thickness, we adopt the relative
burial depth of the stratigraphic interface to the Quaternary as the SPF
attribute value. In addition, the proposed stratigraphic-potential-field
modeling by HRBF interpolants can provide a suitable basic model for
subsequent geosciences' numerical simulation.</p>
  </abstract>
    
<funding-group>
<award-group id="gs1">
<funding-source>National Natural Science Foundation of China</funding-source>
<award-id>42072326</award-id>
<award-id>41972309</award-id>
</award-group>
<award-group id="gs2">
<funding-source>China Geological Survey</funding-source>
<award-id>DD20190156</award-id>
</award-group>
<award-group id="gs3">
<funding-source>National Key Research and Development Program of China</funding-source>
<award-id>2019YFC1805905</award-id>
</award-group>
</funding-group>
</article-meta>
  </front>
<body>
      

<sec id="Ch1.S1" sec-type="intro">
  <label>1</label><title>Introduction</title>
      <p id="d1e168">The three-dimensional (3D) stratigraphic modeling and visualization
technology is of great importance for the intelligent management of
subsurface space (e.g., mineral resource assessment, reservoir
characterization, groundwater management, and urban subsurface space
planning) (Houlding, 1994; Mallet, 2002). The two main
ways of representing 3D stratigraphic surface are so-called explicit and
implicit modeling (Lajaunie et al., 1997). Traditional explicit modeling
can be described as a way of representing 3D geological boundaries that
relies heavily on a complicated and time-consuming process of human–computer
interaction for connecting the geological boundary lines to form a 3D model
of geological surfaces, and it is difficult to update the model. Implicit
modeling defines a continuous 3D stratigraphic potential field (SPF) that
describes the stratigraphic distribution and represents geological
boundaries using an implicit mathematical function. The increasing
importance of an implicit method in stratigraphic modeling stems from not only
the advantages of efficiency, reproducibility, and topological consistency
over the traditional explicit modeling method but<?pagebreak page3652?> also the full
representation of stratigraphic structure through SPF. Although implicit
modeling often requires a large solution system of linear equations to
consume more computational time than explicit modeling, e.g., the Delaunay
triangulation (Mallet, 2002; De Berg et al., 2008), we can overcome
this difficulty with the help of increasing computational ability of
computers. Three-dimensional stratigraphic-potential-field modeling is to
implicitly represent the nature, shape, topology, and internal property of a
given set of strata. The stratigraphic interface is expressed by a specific
equipotential surface of the SPF. Therefore, using SPF to express a set of
conformable strata and their attribute distribution in 3D space is
convenient for spatial analysis, statistics, and simulation.</p>
      <p id="d1e171">The strike and dip information can be incorporated into implicit modeling by
setting up the gradients of implicit function. To control the orientation of
the modeled strata, the dip and strike directions are encoded as the
gradient directions. The difference between Hermite–Birkhoff radial basis
function (HRBF) and standard radial basis function (RBF) is the presence of
gradients; however, the existing HRBF method constructs implicit field functions
separately for each geological interface and extracts the zero-value
equipotential surfaces to locate the geological interface. Therefore, it is
difficult to maintain topological and semantic consistency between
geological bodies. For modeling multiple strata in an integrated and unique
framework, however, setting up the gradient magnitudes to be adaptive to the
orientation and thickness variations in strata is rather challenging.
Assigning the adaptive gradient magnitudes to HRBF interpolant function is a
“chicken-and-egg” problem: while the implicit function results from the
gradients, the suitable gradient magnitudes are estimated from the
reasonable implicit function.</p>
      <p id="d1e174">In this study, we propose a gradient-adaptive HRBF framework for SPF
modeling, AdaHRBF, which interpolates multiple interfaces among a set of
conformable strata by a unified one-step process. In this linear system of
HRBF interpolants, we iteratively obtain the optimized gradient magnitudes.
The particular case where the SPF was reconstructed from geological maps and
cross-sections demonstrates the advantages and general performance of
stratigraphic-potential-field modeling using the AdaHRBF method, comparing
with HRBF interpolants using constant unit normal gradients and RBF
interpolants only using contact locations without orientations. The SPF
attribute value is set to the relative burial depth of strata, i.e., mean
distance from a given stratigraphic surface to the top surface of the
Quaternary. The distributions of burial depth, thickness, and strike and dip
of strata in 3D space can be fully expressed by the SPF and its gradient
vector field.</p>
</sec>
<sec id="Ch1.S2">
  <label>2</label><title>Related works</title>
      <p id="d1e185">The key of implicit modeling methods is to interpolate a 3D scalar field
function whose equipotential surfaces indicate the boundaries of geological
bodies. These surfaces can represent ore-grade boundaries or stratigraphic
interfaces. This scalar field is interpolated from stratigraphic interface
points and strike and dip data with either discrete-interpolation schemes or
continuous-interpolation schemes.</p>
<sec id="Ch1.S2.SS1">
  <label>2.1</label><title>Discrete interpolants</title>
      <p id="d1e195">For discrete-interpolation schemes of implicit modeling with a special mesh,
the GoCAD (<uri>https://app.pdgm.com/product-category/skua-gocad/</uri>, last access: 30 June 2022) software was developed based
on the discrete smooth interpolation (DSI) method to meet the needs of
geological, geophysical, and petroleum reservoir engineering modeling
(Mallet, 2004; Frank et al., 2007). Caumon et al. (2013) proposed a
discretizing finite-element method (FEM) to generate 3D models of horizons
on a tetrahedral mesh, using stratigraphic interface traces of unknown
attribute values and strike and dip measurements from 2D geological maps,
remote sensing images, and digital elevation models. Hillier et al. (2013) presented a structural field interpolation (SFI) algorithm using an
anisotropic inverse distance-weighted (IDW) interpolation scheme derived
from eigen analysis of strike and dip measurements. Renaudeau et al. (2019)
proposed an implicit structural modeling method using locally defined moving-least-squares shape functions and solved a sparse sampling problem without
relying on a complex mesh. Irakarama et al. (2020) introduced a new
method for implicit structural modeling by regularization operators on the
Cartesian grid using finite differences. Grose et al. (2021b)
presented LoopStructural, a new open-source 3D geological modeling Python
package, in which discrete interpolators and polynomial trend interpolators
can be mixed and matched within a geological model.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F1" specific-use="star"><?xmltex \currentcnt{1}?><?xmltex \def\figurename{Figure}?><label>Figure 1</label><caption><p id="d1e203">Data commonly used in <bold>(a)</bold> 3D geological modeling extracted from
<bold>(b)</bold> cross-sections and <bold>(c)</bold> geological maps. A stratum S1 is between its
bottom surface d<inline-formula><mml:math id="M1" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:math></inline-formula> and top surface d<inline-formula><mml:math id="M2" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:math></inline-formula> (Fig. 1a); a fault interface
F divides the 3D space into two sub-domains, D<inline-formula><mml:math id="M3" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:math></inline-formula> and D<inline-formula><mml:math id="M4" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:math></inline-formula>. We can
extract the on-contact boundary points and off-contact strike and dip points
of the strata and fault from the cross-section AA<inline-formula><mml:math id="M5" display="inline"><mml:msup><mml:mi/><mml:mo>′</mml:mo></mml:msup></mml:math></inline-formula> <bold>(b)</bold> and geological
map <bold>(c)</bold>.</p></caption>
          <?xmltex \igopts{width=398.338583pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/16/3651/2023/gmd-16-3651-2023-f01.png"/>

        </fig>

</sec>
<sec id="Ch1.S2.SS2">
  <label>2.2</label><title>Continuous interpolants</title>
      <p id="d1e281">Since the continuous-interpolation scheme does not depend on a mesh for its
definition, the stratigraphic interfaces can be extracted at any desired
resolution in the specific volume of interest. There is already a dual
kriging or cokriging formulation for continuous potential-field modeling of
multiple stratigraphic interfaces. Lajaunie et al. (1997) proposed an
implicit potential-field modeling method using the dual formulation of
kriging interpolation that considers known points on a geological interface
and plane strike and dip data such as stratification or foliation planes.
Calcagno et al. (2008) cokriged the location of
geological interfaces and strike and dip data from a structural field to
interpolate a continuous 3D potential-field scalar function describing the
geometry of geological bodies. Geomodeller 3D<?pagebreak page3653?> (<uri>http://www.geomodeller.com</uri>, last access: 30 June 2022), an implicit geological modeling application,
utilizes the implicit potential-field method by cokriging or the dual
formulation of kriging (Lindsay et al., 2012; Hassen et al., 2016).
Gonçalves et al. (2017) proposed a vector potential-field solution
from a machine learning perspective, recasting the problem as multivariate
classification in a compositional data framework, which alleviates some of
the assumptions of the cokriging method. De la Varga et al. (2019)
presented GemPy (<uri>https://github.com/cgre-aachen/gempy</uri>, last access: 30 June 2022), an open-source
implementation, to generate 3D geological models based on an implicit
potential-field cokriging interpolation approach and to enable stochastic
geological modeling and inversions of gravity and topology in
machine learning and Bayesian inference frameworks. To reduce the impact of
regularly occurring modeling artifacts that result from data configuration
and uncertainty, Von Harten et al. (2021) proposed an approach that is
a combination of an implicit interpolation algorithm with a local smoothing
method based on the concepts of nugget effect and filtered kriging known
from conventional geostatistics.</p>
      <p id="d1e290">For continuous radial basis function (RBF) or HRBF interpolation schemes of
implicit modeling without a mesh, Cowan et al. (2003) constructed an implicit model of the orebody or stratigraphic
interface using a volumetric RBF interpolation function with an
equipotential surface that includes the interface points and conventionally
assigned an attribute value of zero and a “<inline-formula><mml:math id="M6" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula>” sign to indicate the
inside and outside of the interface. Hillier et al. (2014, 2016) presented a generalized interpolation framework using RBF in
Surfe, an open-source library, to implicitly model 3D continuous geological
interfaces from on-surface points with gradient constraints as defined by
strike–dip data with assigned polarity. Leapfrog Geo (<uri>http://www.leapfrog3d.com</uri>, last access: 30 June 2022) is
an implicit geological modeling software package that models scattered data
for interfaces using fast RBF interpolation methods (Vollgger et al.,
2015; Basson et al., 2016, 2017; Creus et al., 2018; Stoch et
al., 2020). Martin and Boisvert (2017) developed a RBF-based
implicit modeling framework using domain decomposition to locally vary
orientations and magnitudes of anisotropy for geological boundary models.
Zhong et al. (2019, 2021) introduced combination
constraints for modeling ore bodies based on multiple implicit field
interpolation through RBF methods, in which a multiply labeled implicit
function was defined that combines different implicit sub-fields by the
combination operations to construct constraints honoring geological
relationships more flexibly. Guo et al. (2016, 2018, 2020, 2021) proposed an explicitly and implicitly integrated 3D
geological modeling approach for the geometric fusion of different types of
complex geological structure models; therein, the HRBF-based implicit method
was used to model general<?pagebreak page3654?> strata, faults, and folds, and the skinning method
and the free-form surface were used to model local detailed structures.
Wang et al. (2018) proposed an implicit modeling approach to
automatically build a 3D model for orebodies by means of spatial HRBF
interpolation directly based on geological borehole data.</p>
      <p id="d1e303">However, the above RBF and HRBF interpolants, which use only the on-contact
point datasets for each geological interface or assign an approximate
gradient vector for each on-contact point according to its nearest strike
and dip measurements, cannot be accurately consistent with actual strike and
dip survey data. To maintain topological consistency between geological
bodies and represent their internal burial depth and structural
orientations, our AdaHRBF interpolation scheme yields an HRBF linear system
that is analogous in form to the previously developed implicit potential-field interpolation method based on cokriging of contact increments using
parametric isotropic covariance functions.</p>
</sec>
</sec>
<sec id="Ch1.S3">
  <label>3</label><title>Methodology</title>
<sec id="Ch1.S3.SS1">
  <label>3.1</label><title>Modeling constraints</title>
      <p id="d1e322">The geological boundaries and structural orientations on planar geological
maps and cross-sections are the most common data used for 3D geological
modeling. Besides the geological boundaries extracted from boreholes,
cross-sections, and geological maps, structural orientation (including
strike direction, dip direction, and dip angle) data from geological maps
play important roles in characterizing the shape and distribution of
geological bodies, as shown in Fig. 1. The SPF modeling method can jointly
reconstruct a 3D geological model using these data extracted from geological
maps and cross-sections.</p>
      <p id="d1e325">A field in a spatial domain <inline-formula><mml:math id="M7" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold">R</mml:mi><mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> defines the function <inline-formula><mml:math id="M8" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi>p</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> at a point
<inline-formula><mml:math id="M9" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mo>∈</mml:mo><mml:msup><mml:mi mathvariant="bold">R</mml:mi><mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> in domain <inline-formula><mml:math id="M10" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold">R</mml:mi><mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M11" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi>p</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is also called field function. The
SPF defines the 3D space as a scalar function <inline-formula><mml:math id="M12" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi>p</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> at any point <inline-formula><mml:math id="M13" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula>; meanwhile, the
stratigraphic interfaces are simulated and expressed as specific
equipotential surfaces satisfying <inline-formula><mml:math id="M14" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi>p</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo></mml:mrow></mml:math></inline-formula> …, <inline-formula><mml:math id="M15" display="inline"><mml:mi>K</mml:mi></mml:math></inline-formula>) in the SPF.
In practice, this specific function value <inline-formula><mml:math id="M16" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> may correspond to the age
of the stratigraphic interface or a relative distance from a reference
interface (Mallet, 2004). Therefore, a stratum occupies the space between
its bottom surface <inline-formula><mml:math id="M17" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and top surface <inline-formula><mml:math id="M18" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, while there are
countless disjoint equipotential surfaces in each stratum (Mallet, 2004).
A well-known problem is how to interpolate unknown points by a function
<inline-formula><mml:math id="M19" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mo>⋅</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> using known points of the space <inline-formula><mml:math id="M20" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold">R</mml:mi><mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>. The key problem of
SPF modeling is to obtain surfaces that are consistent with known
on-contact points on the stratigraphic interfaces and the off-contact strike
and dip directions of the strata. The stratigraphic interface points define
the distribution of reference equipotential surfaces, while the strike and
dip points define the gradient vectors of the scalar field.</p>
      <p id="d1e521">The SPF modeling by the HRBF interpolant satisfies both the on-contact
attribute constraint and off-contact strike and dip constraint. To fit an
implicitly defined SPF from known attribute values <inline-formula><mml:math id="M21" display="inline"><mml:mrow><mml:msubsup><mml:mfenced open="{" close="}"><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mfenced><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:msubsup><mml:mo>∈</mml:mo><mml:msup><mml:mi mathvariant="bold">R</mml:mi><mml:mi>n</mml:mi></mml:msup><mml:mo>×</mml:mo><mml:mi>R</mml:mi></mml:mrow></mml:math></inline-formula> and gradients <inline-formula><mml:math id="M22" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold">g</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:msubsup><mml:mo mathvariant="italic">}</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>M</mml:mi></mml:msubsup><mml:mo>∈</mml:mo><mml:msup><mml:mi mathvariant="bold">R</mml:mi><mml:mi>n</mml:mi></mml:msup><mml:mo>×</mml:mo><mml:msup><mml:mi mathvariant="bold">R</mml:mi><mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> derived from strike and dip data, we
can search for a function <inline-formula><mml:math id="M23" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>:</mml:mo><mml:msup><mml:mi mathvariant="bold">R</mml:mi><mml:mi>n</mml:mi></mml:msup><mml:mo>→</mml:mo><mml:mi>R</mml:mi></mml:mrow></mml:math></inline-formula> which satisfies
both the on-contact constraints <inline-formula><mml:math id="M24" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> for
each <inline-formula><mml:math id="M25" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mi>N</mml:mi></mml:mrow></mml:math></inline-formula> and the off-contact gradient constraints <inline-formula><mml:math id="M26" display="inline"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>f</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="bold">g</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> for each <inline-formula><mml:math id="M27" display="inline"><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, …, <inline-formula><mml:math id="M28" display="inline"><mml:mi>M</mml:mi></mml:math></inline-formula>. In particular,
<inline-formula><mml:math id="M29" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mfenced open="[" close="]"><mml:mtable class="array" columnalign="left left left"><mml:mtr><mml:mtd><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mi>i</mml:mi><mml:mi>x</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mi>i</mml:mi><mml:mi>y</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mi>i</mml:mi><mml:mi>z</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M30" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">g</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="left left left"><mml:mtr><mml:mtd><mml:mrow><mml:msubsup><mml:mi>g</mml:mi><mml:mi>j</mml:mi><mml:mi>x</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msubsup><mml:mi>g</mml:mi><mml:mi>j</mml:mi><mml:mi>y</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msubsup><mml:mi>g</mml:mi><mml:mi>j</mml:mi><mml:mi>z</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:math></inline-formula> in space <inline-formula><mml:math id="M31" display="inline"><mml:mrow><mml:msup><mml:mi>R</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>.</p>
</sec>
<sec id="Ch1.S3.SS2">
  <label>3.2</label><title>HRBF interpolant</title>
      <p id="d1e824">Generally, the basic RBF reconstructs an implicit function with constraint
<inline-formula><mml:math id="M32" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>; however, the HRBF
reconstructs an implicit function which interpolates scattered multivariate
Hermite–Birkhoff data (i.e., unstructured points and orientations)
(Macedo et al., 2011). With the joint constraints of <inline-formula><mml:math id="M33" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M34" display="inline"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>f</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="bold">g</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the optional solution is to obtain equipotential
surfaces that are as smooth as possible, that is, to ensure the energy
function, which represents the degree of equipotential surface smoothness
and unevenness of SPF, is as small as possible. Therefore, the energy function
<inline-formula><mml:math id="M35" display="inline"><mml:mi>E</mml:mi></mml:math></inline-formula> of the SPF is defined by further combining the thin-plate regularizer of
<inline-formula><mml:math id="M36" display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula> (Wahba, 1990; Walder et al., 2006) as
            <disp-formula id="Ch1.E1" content-type="numbered"><label>1</label><mml:math id="M37" display="block"><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:mi>E</mml:mi></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:munderover><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>M</mml:mi></mml:munderover><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:msubsup><mml:mi>g</mml:mi><mml:mi>j</mml:mi><mml:mi>x</mml:mi></mml:msubsup></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:msubsup><mml:mi>g</mml:mi><mml:mi>j</mml:mi><mml:mi>y</mml:mi></mml:msubsup></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:msubsup><mml:mi>g</mml:mi><mml:mi>j</mml:mi><mml:mi>z</mml:mi></mml:msubsup></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:munderover><mml:mo movablelimits="false">∫</mml:mo><mml:mi>R</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:munderover><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mi mathvariant="normal">d</mml:mi><mml:mi>x</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi>y</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi>z</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
          where <inline-formula><mml:math id="M38" display="inline"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:math></inline-formula>, <inline-formula><mml:math id="M39" display="inline"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:math></inline-formula>, and <inline-formula><mml:math id="M40" display="inline"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:math></inline-formula> are the first-order partial derivatives of
implicit function <inline-formula><mml:math id="M41" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> at point <inline-formula><mml:math id="M42" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M43" display="inline"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:math></inline-formula>, <inline-formula><mml:math id="M44" display="inline"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:math></inline-formula>, <inline-formula><mml:math id="M45" display="inline"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:math></inline-formula>, <inline-formula><mml:math id="M46" display="inline"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:math></inline-formula>, <inline-formula><mml:math id="M47" display="inline"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:math></inline-formula>, and <inline-formula><mml:math id="M48" display="inline"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:math></inline-formula> are the second-order partial
derivatives of implicit function <inline-formula><mml:math id="M49" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. The first and second
components of energy function represent the misfit between the estimated
values and observed contact and orientation points, respectively, and the
third component of a second-order derivative of implicit function guarantees
the smoothness of SPF implicit function.</p>
      <?pagebreak page3655?><p id="d1e1579">When using the HRBF interpolation method, we usually add a first-order
polynomial <inline-formula><mml:math id="M50" display="inline"><mml:mrow><mml:mi>C</mml:mi><mml:mo>(</mml:mo><mml:mi>p</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> to ensure the smoothness and continuity of equipotential
surfaces. In particular, <inline-formula><mml:math id="M51" display="inline"><mml:mrow><mml:mi>C</mml:mi><mml:mfenced open="(" close=")"><mml:mi mathvariant="bold-italic">p</mml:mi></mml:mfenced><mml:mo>=</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:msup><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>x</mml:mi></mml:msup><mml:mo>+</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub><mml:msup><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>y</mml:mi></mml:msup><mml:mo>+</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">4</mml:mn></mml:msub><mml:msup><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>z</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>.
The HRBF interpolation function has a concrete estimation form <inline-formula><mml:math id="M52" display="inline"><mml:mrow><mml:msup><mml:mi>f</mml:mi><mml:mo>∗</mml:mo></mml:msup><mml:mfenced open="(" close=")"><mml:mi mathvariant="bold-italic">p</mml:mi></mml:mfenced></mml:mrow></mml:math></inline-formula>:

                <disp-formula specific-use="gather" content-type="numbered"><mml:math id="M53" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E2"><mml:mtd><mml:mtext>2</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mi>f</mml:mi><mml:mo>∗</mml:mo></mml:msup><mml:mfenced close=")" open="("><mml:mi mathvariant="bold-italic">p</mml:mi></mml:mfenced></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:munderover><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mfenced close=")" open="("><mml:mfenced close="∥" open="∥"><mml:mrow><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>M</mml:mi></mml:munderover><mml:mo>〈</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">β</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="italic">φ</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mfenced open="∥" close="∥"><mml:mrow><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi></mml:mrow></mml:mfenced><mml:mo>)</mml:mo><mml:mo>〉</mml:mo><mml:mo>+</mml:mo><mml:mi>C</mml:mi><mml:mfenced close=")" open="("><mml:mi mathvariant="bold-italic">p</mml:mi></mml:mfenced></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E3"><mml:mtd><mml:mtext>3</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msup><mml:mi>f</mml:mi><mml:mo>∗</mml:mo></mml:msup><mml:mfenced close=")" open="("><mml:mi mathvariant="bold-italic">p</mml:mi></mml:mfenced></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:munderover><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="italic">φ</mml:mi><mml:mfenced close=")" open="("><mml:mfenced close="∥" open="∥"><mml:mrow><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>M</mml:mi></mml:munderover><mml:msup><mml:mi mathvariant="normal">∇</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi mathvariant="italic">φ</mml:mi><mml:mfenced close=")" open="("><mml:mfenced open="∥" close="∥"><mml:mrow><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mfenced><mml:msub><mml:mi mathvariant="bold-italic">β</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>C</mml:mi><mml:mfenced close=")" open="("><mml:mi mathvariant="bold-italic">p</mml:mi></mml:mfenced></mml:mrow></mml:mtd></mml:mtr></mml:mtable><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

            where <inline-formula><mml:math id="M54" display="inline"><mml:mrow><mml:mfenced open="∥" close="∥"><mml:mrow><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> denotes the Euclidean
distance between locations <inline-formula><mml:math id="M55" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M56" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>; <inline-formula><mml:math id="M57" display="inline"><mml:mrow><mml:mi mathvariant="italic">φ</mml:mi><mml:mfenced open="(" close=")"><mml:mi>r</mml:mi></mml:mfenced></mml:mrow></mml:math></inline-formula> is the radial basis function, herein, for which the cubic
function <inline-formula><mml:math id="M58" display="inline"><mml:mrow><mml:mi mathvariant="italic">φ</mml:mi><mml:mfenced open="(" close=")"><mml:mi>r</mml:mi></mml:mfenced><mml:mo>=</mml:mo><mml:msup><mml:mi>r</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> is used in this study; <inline-formula><mml:math id="M59" display="inline"><mml:mi mathvariant="normal">∇</mml:mi></mml:math></inline-formula> is the
Hamiltonian operator; <inline-formula><mml:math id="M60" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold">∇</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> is the
Hessian operator, in particular, <inline-formula><mml:math id="M61" display="inline"><mml:mrow><mml:mi mathvariant="bold">∇</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="left left left"><mml:mtr><mml:mtd><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mo>∂</mml:mo><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mo>∂</mml:mo><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mo>∂</mml:mo><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M62" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold">∇</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>=</mml:mo><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="left left left"><mml:mtr><mml:mtd><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:math></inline-formula>; and
<inline-formula><mml:math id="M63" display="inline"><mml:mrow><mml:mo>〈</mml:mo><mml:mi mathvariant="bold-italic">a</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">b</mml:mi><mml:mo>〉</mml:mo></mml:mrow></mml:math></inline-formula> is the inner product of vectors <inline-formula><mml:math id="M64" display="inline"><mml:mi mathvariant="bold-italic">a</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M65" display="inline"><mml:mi mathvariant="bold-italic">b</mml:mi></mml:math></inline-formula>. The scalar weight coefficients
<inline-formula><mml:math id="M66" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>∈</mml:mo><mml:mi>R</mml:mi></mml:mrow></mml:math></inline-formula>, vector weight coefficients
<inline-formula><mml:math id="M67" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">β</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>∈</mml:mo><mml:msup><mml:mi mathvariant="bold">R</mml:mi><mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M68" display="inline"><mml:mrow><mml:mi mathvariant="bold">c</mml:mi><mml:mo>∈</mml:mo><mml:msup><mml:mi mathvariant="bold">R</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> (in particular, <inline-formula><mml:math id="M69" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">β</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="left left left"><mml:mtr><mml:mtd><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">β</mml:mi><mml:mi>j</mml:mi><mml:mi>x</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">β</mml:mi><mml:mi>j</mml:mi><mml:mi>y</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">β</mml:mi><mml:mi>j</mml:mi><mml:mi>z</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M70" display="inline"><mml:mrow><mml:mi mathvariant="bold">c</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="left left left left"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">4</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mi>T</mml:mi></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> are unknown and uniquely determined by the joint
constraints <inline-formula><mml:math id="M71" display="inline"><mml:mrow><mml:msup><mml:mi>f</mml:mi><mml:mo>∗</mml:mo></mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> for each <inline-formula><mml:math id="M72" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, …, <inline-formula><mml:math id="M73" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M74" display="inline"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msup><mml:mi>f</mml:mi><mml:mo>∗</mml:mo></mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="bold">g</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>
for each <inline-formula><mml:math id="M75" display="inline"><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, …, <inline-formula><mml:math id="M76" display="inline"><mml:mi>M</mml:mi></mml:math></inline-formula>.</p>
      <p id="d1e2465">The HRBF interpolant defines the implicit function as a sum of chosen basic
functions with their linear weights. Furthermore, the type of basic
functions (e.g., Gaussian, multi-quadric, and thin-plate spline) affects the
result of spatial interpolation (Wendland, 2005;
Rasmussen and Williams, 2006), which is split into two categories, i.e.,
strictly positive definite (SPD) and conditionally positive definite (CPD)
functions (Hillier et al., 2014). We adopt the cubic function as
the basis function in this study, i.e., <inline-formula><mml:math id="M77" display="inline"><mml:mrow><mml:mi mathvariant="italic">φ</mml:mi><mml:mfenced open="(" close=")"><mml:mi>R</mml:mi></mml:mfenced><mml:mo>=</mml:mo><mml:msup><mml:mi>r</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>, since it minimizes the curvature in three
dimensions (Eq. 1).</p>
      <p id="d1e2486">According to the joint constraints, the weight coefficients <inline-formula><mml:math id="M78" display="inline"><mml:mi mathvariant="bold-italic">α</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M79" display="inline"><mml:mi mathvariant="bold-italic">β</mml:mi></mml:math></inline-formula>, and <inline-formula><mml:math id="M80" display="inline"><mml:mi mathvariant="bold">c</mml:mi></mml:math></inline-formula> of the interpolant
are determined by the following linear system:
            <disp-formula id="Ch1.E4" content-type="numbered"><label>4</label><mml:math id="M81" display="block"><mml:mrow><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="left left left"><mml:mtr><mml:mtd><mml:mi mathvariant="bold">Φ</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="bold">Φ</mml:mi></mml:mrow></mml:mtd><mml:mtd><mml:mi mathvariant="bold">C</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="bold">Φ</mml:mi><mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msup><mml:mi mathvariant="bold">∇</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi mathvariant="bold">Φ</mml:mi></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="bold">C</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mi mathvariant="bold">C</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="bold">C</mml:mi><mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:mtd><mml:mtd><mml:mn mathvariant="bold">0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="left"><mml:mtr><mml:mtd><mml:mi mathvariant="bold-italic">α</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="bold-italic">β</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="bold">c</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>=</mml:mo><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="left"><mml:mtr><mml:mtd><mml:mi mathvariant="bold">f</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="bold">g</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn mathvariant="bold">0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
          where
            <disp-formula id="Ch1.Ex1"><mml:math id="M82" display="block"><mml:mrow><mml:mi mathvariant="bold">Φ</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="center center center center"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mn mathvariant="normal">11</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mn mathvariant="normal">12</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋯</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mi>N</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mn mathvariant="normal">21</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mn mathvariant="normal">22</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋯</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>N</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋱</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋯</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mi>N</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mrow><mml:mi>N</mml:mi><mml:mo>×</mml:mo><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
          whose element <inline-formula><mml:math id="M83" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">φ</mml:mi><mml:mfenced open="(" close=")"><mml:mfenced open="∥" close="∥"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mfenced></mml:mrow></mml:math></inline-formula> represents the
RBF value between a pair of contact points;
            <disp-formula id="Ch1.Ex2"><mml:math id="M84" display="block"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="bold">Φ</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mfenced open="[" close="]"><mml:mtable class="array" columnalign="center center center center"><mml:mtr><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mn mathvariant="normal">11</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mn mathvariant="normal">12</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋯</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mi>M</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mn mathvariant="normal">21</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mn mathvariant="normal">22</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋯</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>M</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋱</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋯</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mi>M</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mrow><mml:mi>N</mml:mi><mml:mo>×</mml:mo><mml:mi>n</mml:mi><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
          whose element <inline-formula><mml:math id="M85" display="inline"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="italic">φ</mml:mi><mml:mfenced open="(" close=")"><mml:mfenced close="∥" open="∥"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mfenced></mml:mrow></mml:math></inline-formula> represents the differential RBF value between a contact point and an
orientation point;
            <disp-formula id="Ch1.Ex3"><mml:math id="M86" display="block"><mml:mrow><mml:msup><mml:mi mathvariant="bold">∇</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi mathvariant="bold">Φ</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="center center center center"><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mi mathvariant="normal">∇</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mn mathvariant="normal">11</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msup><mml:mi mathvariant="normal">∇</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mn mathvariant="normal">12</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋯</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:msup><mml:mi mathvariant="normal">∇</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mi>M</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mi mathvariant="normal">∇</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mn mathvariant="normal">21</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msup><mml:mi mathvariant="normal">∇</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mn mathvariant="normal">22</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋯</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:msup><mml:mi mathvariant="normal">∇</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>M</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋱</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mi mathvariant="normal">∇</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mrow><mml:mi>M</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msup><mml:mi mathvariant="normal">∇</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mrow><mml:mi>M</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋯</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:msup><mml:mi mathvariant="normal">∇</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mrow><mml:mi>M</mml:mi><mml:mi>M</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mrow><mml:mi>n</mml:mi><mml:mi>M</mml:mi><mml:mo>×</mml:mo><mml:mi>n</mml:mi><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
          whose element <inline-formula><mml:math id="M87" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="normal">∇</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mi mathvariant="normal">∇</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi mathvariant="italic">φ</mml:mi><mml:mfenced close=")" open="("><mml:mfenced open="∥" close="∥"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mfenced></mml:mrow></mml:math></inline-formula> represents the second-order
differential RBF value between a pair of orientation points,
<inline-formula><mml:math id="M88" display="inline"><mml:mrow><mml:mi>C</mml:mi><mml:mo>=</mml:mo><mml:mi>C</mml:mi><mml:mo>(</mml:mo><mml:mi>p</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, in particular,

                <disp-formula specific-use="gather"><mml:math id="M89" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mi mathvariant="bold">C</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mfenced open="[" close="]"><mml:mtable class="array" columnalign="center center center center"><mml:mtr><mml:mtd><mml:mn mathvariant="normal">1</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn><mml:mi>x</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn><mml:mi>y</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn><mml:mi>z</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn mathvariant="normal">1</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn><mml:mi>x</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn><mml:mi>y</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn><mml:mi>z</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn mathvariant="normal">1</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mi>N</mml:mi><mml:mi>x</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mi>N</mml:mi><mml:mi>y</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mi>N</mml:mi><mml:mi>z</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mrow><mml:mi>N</mml:mi><mml:mo>×</mml:mo><mml:mo>(</mml:mo><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mtext>and</mml:mtext></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mi mathvariant="bold">∇</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="center center center center"><mml:mtr><mml:mtd><mml:mn mathvariant="bold">0</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msubsup><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn><mml:mi>x</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msubsup><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn><mml:mi>y</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msubsup><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn><mml:mi>z</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn mathvariant="bold">0</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msubsup><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn><mml:mi>x</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msubsup><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn><mml:mi>y</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msubsup><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn><mml:mi>z</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn mathvariant="bold">0</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msubsup><mml:mi>p</mml:mi><mml:mi>M</mml:mi><mml:mi>x</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msubsup><mml:mi>p</mml:mi><mml:mi>M</mml:mi><mml:mi>y</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msubsup><mml:mi>p</mml:mi><mml:mi>M</mml:mi><mml:mi>z</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mrow><mml:mi>n</mml:mi><mml:mi>M</mml:mi><mml:mo>×</mml:mo><mml:mo>(</mml:mo><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

            whose elements are <inline-formula><mml:math id="M90" display="inline"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msubsup><mml:mi>p</mml:mi><mml:mi>i</mml:mi><mml:mi>x</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:msup><mml:mfenced open="[" close="]"><mml:mtable class="array" columnalign="left left left"><mml:mtr><mml:mtd><mml:mn mathvariant="normal">1</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M91" display="inline"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msubsup><mml:mi>p</mml:mi><mml:mi>i</mml:mi><mml:mi>y</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:msup><mml:mfenced open="[" close="]"><mml:mtable class="array" columnalign="left left left"><mml:mtr><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">1</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M92" display="inline"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msubsup><mml:mi>p</mml:mi><mml:mi>i</mml:mi><mml:mi>z</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:msup><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="left left left"><mml:mtr><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">1</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>, respectively.

                <disp-formula specific-use="gather"><mml:math id="M93" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mi mathvariant="bold-italic">α</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="center center center center"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋯</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>N</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mi>T</mml:mi></mml:msup><mml:mo>;</mml:mo><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mi mathvariant="bold-italic">β</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="center center center center"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">β</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">β</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋯</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">β</mml:mi><mml:mi>M</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mi mathvariant="normal">T</mml:mi></mml:msup><mml:mo>;</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mi mathvariant="bold">f</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mfenced open="[" close="]"><mml:mtable class="array" columnalign="left left left left"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋯</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>N</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mi>T</mml:mi></mml:msup><mml:mo>;</mml:mo><mml:mtext> and </mml:mtext><mml:mi mathvariant="bold">g</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="left left left left"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="bold">g</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="bold">g</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mi mathvariant="normal">…</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="bold">g</mml:mi><mml:mi>M</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mi>T</mml:mi></mml:msup><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

            Once we have the weight coefficients (<inline-formula><mml:math id="M94" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>,
<inline-formula><mml:math id="M95" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">β</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) and the polynomial coefficients (<inline-formula><mml:math id="M96" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>,
<inline-formula><mml:math id="M97" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M98" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M99" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">4</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>) by solving the above HRBF linear system, we can
substitute the weight coefficients and polynomial coefficients into the HRBF
equations; then the interpolant function <inline-formula><mml:math id="M100" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi>p</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> and its gradient function <inline-formula><mml:math id="M101" display="inline"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>f</mml:mi><mml:mfenced open="(" close=")"><mml:mi mathvariant="bold-italic">p</mml:mi></mml:mfenced></mml:mrow></mml:math></inline-formula> can be easily obtained.</p>
</sec>
<sec id="Ch1.S3.SS3">
  <label>3.3</label><title>Adaptive gradient constraint</title>
<sec id="Ch1.S3.SS3.SSS1">
  <label>3.3.1</label><title>Determination of gradient direction</title>
      <p id="d1e3868">The gradient of the SPF is an important feature of stratum shape because it
indicates the strike and dip of a stratum. For construction of a scalar
field <inline-formula><mml:math id="M102" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, the gradient constraints <inline-formula><mml:math id="M103" display="inline"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>f</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="bold">g</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> can also be added into modeling
process (Caumon et al., 2013; Hillier et al., 2014). As shown in Fig. 2,
the gradient vector <inline-formula><mml:math id="M104" display="inline"><mml:mi mathvariant="bold-italic">g</mml:mi></mml:math></inline-formula> of SPF and the normal vector <inline-formula><mml:math id="M105" display="inline"><mml:mi mathvariant="bold-italic">n</mml:mi></mml:math></inline-formula> of the<?pagebreak page3656?> stratigraphic
interface have the same direction, which can be obtained through geological
observation.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F2"><?xmltex \currentcnt{2}?><?xmltex \def\figurename{Figure}?><label>Figure 2</label><caption><p id="d1e3925">The gradient vector <inline-formula><mml:math id="M106" display="inline"><mml:mi mathvariant="bold-italic">g</mml:mi></mml:math></inline-formula>, the strike vector <inline-formula><mml:math id="M107" display="inline"><mml:mi mathvariant="bold-italic">s</mml:mi></mml:math></inline-formula>, and the dip vector <inline-formula><mml:math id="M108" display="inline"><mml:mi mathvariant="bold-italic">d</mml:mi></mml:math></inline-formula>.
The gradient vector <inline-formula><mml:math id="M109" display="inline"><mml:mi mathvariant="bold-italic">g</mml:mi></mml:math></inline-formula>, the strike vector <inline-formula><mml:math id="M110" display="inline"><mml:mi mathvariant="bold-italic">s</mml:mi></mml:math></inline-formula>, and the dip vector <inline-formula><mml:math id="M111" display="inline"><mml:mi mathvariant="bold-italic">d</mml:mi></mml:math></inline-formula> of the SPF are
orthogonal to each other. The strike <inline-formula><mml:math id="M112" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is the direction of
the intersection of the stratigraphic interface and horizontal plane, which
is represented by the angle between the strike vector <inline-formula><mml:math id="M113" display="inline"><mml:mi mathvariant="bold-italic">s</mml:mi></mml:math></inline-formula> and the northern
direction. The dip <inline-formula><mml:math id="M114" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, which is the projected direction of the
dip vector <inline-formula><mml:math id="M115" display="inline"><mml:mi mathvariant="bold-italic">d</mml:mi></mml:math></inline-formula> onto the horizontal plane, is represented by the angle between
the projected dip direction and the northern direction. Strike direction and
dip direction are perpendicular to each other, i.e., <inline-formula><mml:math id="M116" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mn mathvariant="normal">90</mml:mn></mml:mrow></mml:math></inline-formula><inline-formula><mml:math id="M117" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>. Dip angle <inline-formula><mml:math id="M118" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is the
angle between the dip vector and projected dip direction. The three elements
form the stratigraphic interface's strike and dip.</p></caption>
            <?xmltex \igopts{width=236.157874pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/16/3651/2023/gmd-16-3651-2023-f02.png"/>

          </fig>

      <p id="d1e4055">The gradient <inline-formula><mml:math id="M119" display="inline"><mml:mi mathvariant="bold">g</mml:mi></mml:math></inline-formula> is a vector with magnitude and direction (which is
the same as the normal direction <inline-formula><mml:math id="M120" display="inline"><mml:mi mathvariant="bold">n</mml:mi></mml:math></inline-formula> of the stratigraphic
interface). The <inline-formula><mml:math id="M121" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula>-axis, <inline-formula><mml:math id="M122" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula>-axis, and <inline-formula><mml:math id="M123" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula>-axis components of the normal
direction, <inline-formula><mml:math id="M124" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold">n</mml:mi><mml:mi>x</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M125" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold">n</mml:mi><mml:mi>y</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M126" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold">n</mml:mi><mml:mi>z</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>, in the
3D Cartesian coordinate system can be derived from the strike, dip, and angle
of dip of the stratigraphic interface as follows:
              <disp-formula id="Ch1.E5" content-type="numbered"><label>5</label><mml:math id="M127" display="block"><mml:mrow><mml:mfenced close="" open="{"><mml:mtable class="array" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mi mathvariant="bold">n</mml:mi><mml:mi>x</mml:mi></mml:msup><mml:mo>=</mml:mo><mml:mi>cos⁡</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mtext>radians</mml:mtext><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mo>⋅</mml:mo><mml:mi>sin⁡</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mtext>radians</mml:mtext><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mi mathvariant="bold">n</mml:mi><mml:mi>y</mml:mi></mml:msup><mml:mo>=</mml:mo><mml:mi>cos⁡</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mtext>radians</mml:mtext><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mo>⋅</mml:mo><mml:mi>cos⁡</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mtext>radians</mml:mtext><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mi mathvariant="bold">n</mml:mi><mml:mi>z</mml:mi></mml:msup><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mi>sin⁡</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mtext>radians</mml:mtext><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
</sec>
<sec id="Ch1.S3.SS3.SSS2">
  <label>3.3.2</label><title>Optimization of gradient magnitude</title>
      <?pagebreak page3657?><p id="d1e4246">The exact definition of gradient magnitude (<inline-formula><mml:math id="M128" display="inline"><mml:mrow><mml:mfenced close="∥" open="∥"><mml:mi mathvariant="bold">g</mml:mi></mml:mfenced><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>
is the change in an attribute value over unit distance along the gradient
direction. The gradient magnitude reflects the rate of change in the scalar
field values, which is caused by the difference in stratum thickness at
different locations. A larger gradient magnitude indicates that the stratum
becomes thinner, whereas a smaller gradient magnitude indicates that the
stratum tends to become thicker. Laurent (2016) iteratively adjusted
the magnitude of scalar field gradient in the direction obtained after
previous iterations on a discrete mesh to prevent the interpolated gradient
magnitude from varying too much. Grose et al. (2021b) used constant
gradient regularization in LoopStructural to minimize the change in gradient
of the implicit function between tetrahedra with a shared face. We assume
that the gradient magnitude changes gradually everywhere in the scalar
field instead of the constant gradient magnitude existing on the
interfaces (Frank et al., 2007; Caumon et al., 2013); therefore, every
equipotential surface inside of the stratum changes uniformly. In the
application, it is difficult to determine the exact gradient magnitude
through any geological measurement. However, if we force all gradient
magnitudes to be equal, it may cause inconsistent SPF changes with
neighbors, which results in artifacts whereby the trends of some equipotential
surfaces inside of the stratum change suddenly compared to other
equipotential surfaces. To estimate self-adaptive gradient magnitudes, we
optimize the gradient magnitudes in the framework of the HRBF energy in Eq. (1), aiming at finding the smooth gradient magnitudes that minimize the
energy like Eq. (1):
              <disp-formula id="Ch1.E6" content-type="numbered"><label>6</label><mml:math id="M129" display="block"><mml:mrow><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:munderover><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>M</mml:mi></mml:munderover><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:msub><mml:mi>l</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:msubsup><mml:mi>n</mml:mi><mml:mi>j</mml:mi><mml:mi>x</mml:mi></mml:msubsup></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:msub><mml:mi>l</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:msubsup><mml:mi>n</mml:mi><mml:mi>j</mml:mi><mml:mi>y</mml:mi></mml:msubsup></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:msub><mml:mi>l</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:msubsup><mml:mi>n</mml:mi><mml:mi>j</mml:mi><mml:mi>z</mml:mi></mml:msubsup></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:munderover><mml:mo movablelimits="false">∫</mml:mo><mml:mi>R</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:munderover><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mi mathvariant="normal">d</mml:mi><mml:mi>x</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi>y</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
            where <inline-formula><mml:math id="M130" display="inline"><mml:mrow><mml:msub><mml:mi>l</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M131" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">n</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mfenced open="[" close="]"><mml:mtable class="array" columnalign="center center center"><mml:mtr><mml:mtd><mml:mrow><mml:msubsup><mml:mi>n</mml:mi><mml:mi>j</mml:mi><mml:mi>x</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msubsup><mml:mi>n</mml:mi><mml:mi>j</mml:mi><mml:mi>y</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msubsup><mml:mi>n</mml:mi><mml:mi>j</mml:mi><mml:mi>z</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:math></inline-formula> denote the gradient magnitude and a unit normal
vector for <inline-formula><mml:math id="M132" display="inline"><mml:mi>j</mml:mi></mml:math></inline-formula>th gradient constraints, respectively, and
<inline-formula><mml:math id="M133" display="inline"><mml:mrow><mml:mi mathvariant="bold">l</mml:mi><mml:mo>=</mml:mo><mml:mfenced open="{" close="}"><mml:mrow><mml:msub><mml:mi>l</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">⋯</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>l</mml:mi><mml:mi>M</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> is the vector
of gradient magnitudes to be optimized. Given the optimization problem with
respect to both <inline-formula><mml:math id="M134" display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M135" display="inline"><mml:mi mathvariant="bold">l</mml:mi></mml:math></inline-formula> in Eq. (6), it is intractable to
directly optimize both <inline-formula><mml:math id="M136" display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M137" display="inline"><mml:mi mathvariant="bold">l</mml:mi></mml:math></inline-formula> using the common
optimization techniques such as the variational approach. Instead, we use
the alternating optimization (Bezdek and Hathaway, 2002) to
optimize the problem in Eq. (6). The alternating optimization is an
optimization scheme that alternately updates just some variables (while
fixing other variables) at a time rather than updating of all variables
simultaneously like gradient descendent techniques. The scheme is
well suited to the scenario where the variables can be divided into several
subsets, and an explicit partial minimizer of each subset exists. For our
optimization problem in Eq. (6), since the variables <inline-formula><mml:math id="M138" display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula> and
<inline-formula><mml:math id="M139" display="inline"><mml:mi mathvariant="bold">l</mml:mi></mml:math></inline-formula> can be minimized individually by fixing each other, we
can solve the minimizer of <inline-formula><mml:math id="M140" display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M141" display="inline"><mml:mi mathvariant="bold">l</mml:mi></mml:math></inline-formula> by using the
alternating optimization. Thus, we use an iteration to alternately update
<inline-formula><mml:math id="M142" display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M143" display="inline"><mml:mi mathvariant="bold">l</mml:mi></mml:math></inline-formula>, which is expected to converge to the solution
of Eq. (6). This leads to a two-pass optimization at every iteration step: at
the iteration step <inline-formula><mml:math id="M144" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula>, without loss of generality, we firstly optimize the
<inline-formula><mml:math id="M145" display="inline"><mml:mrow><mml:msup><mml:mi>f</mml:mi><mml:mi>t</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> by fixing gradient magnitudes <inline-formula><mml:math id="M146" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold">l</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msubsup><mml:mfenced open="{" close="}"><mml:mrow><mml:msubsup><mml:mi>l</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:mfenced><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow><mml:mi>M</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> at the iteration step <inline-formula><mml:math id="M147" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>,
              <disp-formula id="Ch1.E7" content-type="numbered"><label>7</label><mml:math id="M148" display="block"><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mi>f</mml:mi><mml:mi>t</mml:mi></mml:msup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mi>arg⁡</mml:mi><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:munderover><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>M</mml:mi></mml:munderover><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:msubsup><mml:mi>l</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>n</mml:mi><mml:mi>j</mml:mi><mml:mi>x</mml:mi></mml:msubsup></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:msubsup><mml:mi>l</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>n</mml:mi><mml:mi>j</mml:mi><mml:mi>y</mml:mi></mml:msubsup></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:msubsup><mml:mi>l</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>n</mml:mi><mml:mi>j</mml:mi><mml:mi>z</mml:mi></mml:msubsup></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:munderover><mml:mo movablelimits="false">∫</mml:mo><mml:mi>R</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:munderover><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mi mathvariant="normal">d</mml:mi><mml:mi>x</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi>y</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi>z</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
            And then we optimize gradient magnitudes <inline-formula><mml:math id="M149" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold">l</mml:mi><mml:mi>t</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> at the
iteration step <inline-formula><mml:math id="M150" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> by given <inline-formula><mml:math id="M151" display="inline"><mml:mrow><mml:msup><mml:mi>f</mml:mi><mml:mi>t</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>,
              <disp-formula id="Ch1.E8" content-type="numbered"><label>8</label><mml:math id="M152" display="block"><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mi mathvariant="bold">l</mml:mi><mml:mi>t</mml:mi></mml:msup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mi>arg⁡</mml:mi><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>M</mml:mi></mml:munderover><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msup><mml:mi>f</mml:mi><mml:mi>t</mml:mi></mml:msup><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:msubsup><mml:mi>l</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>n</mml:mi><mml:mi>j</mml:mi><mml:mi>x</mml:mi></mml:msubsup></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msup><mml:mi>f</mml:mi><mml:mi>t</mml:mi></mml:msup><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:msubsup><mml:mi>l</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>n</mml:mi><mml:mi>j</mml:mi><mml:mi>y</mml:mi></mml:msubsup></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msup><mml:mi>f</mml:mi><mml:mi>t</mml:mi></mml:msup><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:msubsup><mml:mi>l</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>n</mml:mi><mml:mi>j</mml:mi><mml:mi>z</mml:mi></mml:msubsup></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
            The above procedure is iterated until <inline-formula><mml:math id="M153" display="inline"><mml:mrow><mml:msup><mml:mi>f</mml:mi><mml:mi>t</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M154" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold">l</mml:mi><mml:mi>t</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>
converge.</p>
      <p id="d1e5546">Simply optimizing Eq. (7) would lead to a linear system as
              <disp-formula id="Ch1.E9" content-type="numbered"><label>9</label><mml:math id="M155" display="block"><mml:mrow><mml:mfenced open="[" close="]"><mml:mtable class="array" columnalign="left left left"><mml:mtr><mml:mtd><mml:mi mathvariant="bold">Φ</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="bold">Φ</mml:mi></mml:mrow></mml:mtd><mml:mtd><mml:mi mathvariant="bold">C</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msup><mml:mi mathvariant="bold">Φ</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msup><mml:mi mathvariant="bold">∇</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi mathvariant="bold">Φ</mml:mi></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="bold">C</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mi mathvariant="bold">C</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msup><mml:mi mathvariant="bold">C</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:mtd><mml:mtd><mml:mn mathvariant="bold">0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="left"><mml:mtr><mml:mtd><mml:mi mathvariant="bold-italic">α</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="bold-italic">β</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="bold">c</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>=</mml:mo><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="left"><mml:mtr><mml:mtd><mml:mi mathvariant="bold">f</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mi mathvariant="bold">l</mml:mi><mml:mi mathvariant="bold">t</mml:mi></mml:msup><mml:mo>⊡</mml:mo><mml:mi mathvariant="bold">n</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn mathvariant="bold">0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
            where <inline-formula><mml:math id="M156" display="inline"><mml:mo>⊡</mml:mo></mml:math></inline-formula> denotes the Hadamard product between vectors. Equation (9) demonstrates
that the gradients of potential function rigorously fit to
<inline-formula><mml:math id="M157" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold">l</mml:mi><mml:mi>t</mml:mi></mml:msup><mml:mo>⊡</mml:mo><mml:mi mathvariant="bold">n</mml:mi></mml:mrow></mml:math></inline-formula>. However, the
gradient magnitude <inline-formula><mml:math id="M158" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold">l</mml:mi><mml:mi>t</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> might not be reliable
at the iteration step <inline-formula><mml:math id="M159" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula>. Instead, we relax the linear system in Eq. (9) by
adding a diagonal matrix <inline-formula><mml:math id="M160" display="inline"><mml:mi mathvariant="bold">Λ</mml:mi></mml:math></inline-formula> to the associated rows
of Eq. (4):
              <disp-formula id="Ch1.E10" content-type="numbered"><label>10</label><mml:math id="M161" display="block"><mml:mrow><?xmltex \hack{\hbox\bgroup\fontsize{9.5}{9.5}\selectfont$\displaystyle}?><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="left left left"><mml:mtr><mml:mtd><mml:mi mathvariant="bold">Φ</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="bold">Φ</mml:mi></mml:mrow></mml:mtd><mml:mtd><mml:mi mathvariant="bold">C</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="bold">Φ</mml:mi><mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msup><mml:mi mathvariant="bold">∇</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi mathvariant="bold">Φ</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="bold">Λ</mml:mi></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="bold">C</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mi mathvariant="bold">C</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="bold">C</mml:mi><mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:mtd><mml:mtd><mml:mn mathvariant="bold">0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="left"><mml:mtr><mml:mtd><mml:mi mathvariant="bold-italic">α</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="bold-italic">β</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="bold">c</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>=</mml:mo><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="left"><mml:mtr><mml:mtd><mml:mi mathvariant="bold">f</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mi mathvariant="bold">l</mml:mi><mml:mi>t</mml:mi></mml:msup><mml:mo>⊡</mml:mo><mml:mi mathvariant="bold">n</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn mathvariant="bold">0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><?xmltex \hack{$\egroup}?><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
            where the diagonal coefficient matrix is given by
              <disp-formula id="Ch1.Ex9"><mml:math id="M162" display="block"><mml:mrow><mml:mi mathvariant="bold">Λ</mml:mi><mml:mo>=</mml:mo><mml:mfenced close=")" open="("><mml:mtable class="array" columnalign="center center center center"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">λ</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">λ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋱</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">λ</mml:mi><mml:mi>M</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>;</mml:mo></mml:mrow></mml:math></disp-formula>
            in particular, <inline-formula><mml:math id="M163" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">λ</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mfenced open="[" close="]"><mml:mtable class="array" columnalign="center center center"><mml:mtr><mml:mtd><mml:mrow><mml:msubsup><mml:mi mathvariant="bold-italic">λ</mml:mi><mml:mi>j</mml:mi><mml:mi>x</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:msubsup><mml:mi mathvariant="bold-italic">λ</mml:mi><mml:mi>j</mml:mi><mml:mi>y</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:msubsup><mml:mi mathvariant="bold-italic">λ</mml:mi><mml:mi>j</mml:mi><mml:mi>z</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:math></inline-formula>. With <inline-formula><mml:math id="M164" display="inline"><mml:mrow><mml:mi mathvariant="bold">Λ</mml:mi><mml:mo>≠</mml:mo><mml:mn mathvariant="bold">0</mml:mn></mml:mrow></mml:math></inline-formula>,
the solution of Eq. (10) becomes a problem of approximations by the
gradient magnitude <inline-formula><mml:math id="M165" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold">l</mml:mi><mml:mi>t</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>, where diagonal
elements of <inline-formula><mml:math id="M166" display="inline"><mml:mi mathvariant="bold">Λ</mml:mi></mml:math></inline-formula> represents the degrees of
approximations for each gradient constraint. When <inline-formula><mml:math id="M167" display="inline"><mml:mrow><mml:mi mathvariant="bold">Λ</mml:mi><mml:mo>→</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>, the solution is close to interpolation.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F3"><?xmltex \currentcnt{3}?><?xmltex \def\figurename{Figure}?><label>Figure 3</label><caption><p id="d1e6012">Pseudo-code of iterative algorithm for optimizing gradient
magnitude.</p></caption>
            <?xmltex \igopts{width=236.157874pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/16/3651/2023/gmd-16-3651-2023-f03.png"/>

          </fig>

      <p id="d1e6022">On the other hand, to optimize <inline-formula><mml:math id="M168" display="inline"><mml:mi mathvariant="bold">l</mml:mi></mml:math></inline-formula> by given <inline-formula><mml:math id="M169" display="inline"><mml:mrow><mml:msup><mml:mi>f</mml:mi><mml:mi>t</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>, we
can derive the update to each <inline-formula><mml:math id="M170" display="inline"><mml:mrow><mml:msubsup><mml:mi>l</mml:mi><mml:mi>j</mml:mi><mml:mi>t</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> using simple algebra
as
              <disp-formula id="Ch1.E11" content-type="numbered"><label>11</label><mml:math id="M171" display="block"><mml:mrow><mml:msubsup><mml:mi>l</mml:mi><mml:mi>j</mml:mi><mml:mi>t</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:mfenced open="∥" close="∥"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msup><mml:mi>f</mml:mi><mml:mi>t</mml:mi></mml:msup></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:msup><mml:mfenced close=")" open="("><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msup><mml:mi>f</mml:mi><mml:mi>t</mml:mi></mml:msup></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mfenced open="(" close=")"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msup><mml:mi>f</mml:mi><mml:mi>t</mml:mi></mml:msup></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mfenced open="(" close=")"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msup><mml:mi>f</mml:mi><mml:mi>t</mml:mi></mml:msup></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:msqrt><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
            Using the above iteration scheme, we can optimize <inline-formula><mml:math id="M172" display="inline"><mml:mrow><mml:msubsup><mml:mi>l</mml:mi><mml:mi>j</mml:mi><mml:mi>t</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> by tuning the
coefficients <inline-formula><mml:math id="M173" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="bold-italic">λ</mml:mi><mml:mi>j</mml:mi><mml:mi>t</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> according to the
reliability of <inline-formula><mml:math id="M174" display="inline"><mml:mrow><mml:msubsup><mml:mi>l</mml:mi><mml:mi>j</mml:mi><mml:mi>t</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula>. Initially we set <inline-formula><mml:math id="M175" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="bold-italic">λ</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mfenced close=")" open="("><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mfenced></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> to a nonzero constant vector and
<inline-formula><mml:math id="M176" display="inline"><mml:mrow><mml:msubsup><mml:mi>l</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>. After solving the HRBF system, we can obtain the function
of scalar field <inline-formula><mml:math id="M177" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>; then the gradient vector on the observed strike and
dip point <inline-formula><mml:math id="M178" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is easily obtained according to
<inline-formula><mml:math id="M179" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">g</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. We record the HRBF
coefficients calculated at the <inline-formula><mml:math id="M180" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula>th time as <inline-formula><mml:math id="M181" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">α</mml:mi><mml:mi>i</mml:mi><mml:mi>t</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> and
<inline-formula><mml:math id="M182" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="bold-italic">β</mml:mi><mml:mi>j</mml:mi><mml:mi>t</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> and record the gradient magnitude at the
observed strike and dip point <inline-formula><mml:math id="M183" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> as <inline-formula><mml:math id="M184" display="inline"><mml:mrow><mml:msubsup><mml:mi>l</mml:mi><mml:mi>j</mml:mi><mml:mi>t</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula>. After
the solution of the linear system in Eq. (10), we estimate the gradient
magnitudes <inline-formula><mml:math id="M185" display="inline"><mml:mrow><mml:msubsup><mml:mi>l</mml:mi><mml:mi>j</mml:mi><mml:mi>t</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> in terms of Eq. (11) and generate the gradient
constraint at the next iteration step as
<inline-formula><mml:math id="M186" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="bold">g</mml:mi><mml:mi>j</mml:mi><mml:mi>t</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mi>l</mml:mi><mml:mi>j</mml:mi><mml:mi>t</mml:mi></mml:msubsup><mml:mo>×</mml:mo><mml:msub><mml:mi mathvariant="bold">n</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. With
the gradient magnitude becoming more reliable, we shrink the coefficient
<inline-formula><mml:math id="M187" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="bold-italic">λ</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> to fit more closely to the updated
gradient constraint. Our idea is that when gradient magnitudes converge, the
resulting implicit function interpolates the converged <inline-formula><mml:math id="M188" display="inline"><mml:mrow><mml:msubsup><mml:mi>l</mml:mi><mml:mi>j</mml:mi><mml:mi>t</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula>.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F4" specific-use="star"><?xmltex \currentcnt{4}?><?xmltex \def\figurename{Figure}?><label>Figure 4</label><caption><p id="d1e6419">Experimental field 1: <bold>(a)</bold> original potential field, <bold>(b)</bold> field
reconstructed when each gradient magnitude was set to a constant value of 1,
<bold>(c)</bold> distribution of field attribute and unit gradient points, <bold>(d)</bold> field
reconstructed when the gradient magnitude was obtained iteratively, and <bold>(e)</bold> distribution of field attribute and iteratively obtained gradient points.</p></caption>
            <?xmltex \igopts{width=483.69685pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/16/3651/2023/gmd-16-3651-2023-f04.png"/>

          </fig>

      <?pagebreak page3658?><p id="d1e6443">In this study, we calculate the increment of <inline-formula><mml:math id="M189" display="inline"><mml:mi mathvariant="italic">λ</mml:mi></mml:math></inline-formula> from
              <disp-formula id="Ch1.E12" content-type="numbered"><label>12</label><mml:math id="M190" display="block"><mml:mrow><mml:msubsup><mml:mi mathvariant="bold-italic">λ</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:msubsup><mml:mi>l</mml:mi><mml:mi>j</mml:mi><mml:mi>t</mml:mi></mml:msubsup><mml:mo>-</mml:mo><mml:msubsup><mml:mi>l</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
            where <inline-formula><mml:math id="M191" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M192" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> are constant coefficients. We apply the same
<inline-formula><mml:math id="M193" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="bold-italic">λ</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> to three axes of <inline-formula><mml:math id="M194" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M195" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula>, and <inline-formula><mml:math id="M196" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula>. Given
the updated <inline-formula><mml:math id="M197" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="bold-italic">λ</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M198" display="inline"><mml:mrow><mml:msubsup><mml:mi>l</mml:mi><mml:mi>j</mml:mi><mml:mi>t</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula>, we
substitute them into the (<inline-formula><mml:math id="M199" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>)th HRBF system (Eq. 10) and solve for the
updated coefficient of implicit function. This iterative process continues
until the stopping criteria are satisfied.</p>
      <p id="d1e6632">We use two stopping criteria to finish the iterations. Firstly, for all
observed strike and dip points, if the sum of differences in gradient
magnitudes between two consecutive iterations is less than or equal to a
small enough threshold <inline-formula><mml:math id="M200" display="inline"><mml:mi mathvariant="italic">ε</mml:mi></mml:math></inline-formula>, we stop the iterations when
convergency is reached. Secondly, when the number of iterations reaches a given
number <inline-formula><mml:math id="M201" display="inline"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi mathvariant="normal">iterate</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, we also obtain the final results of <inline-formula><mml:math id="M202" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">α</mml:mi><mml:mi>i</mml:mi><mml:mi>t</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M203" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="bold-italic">β</mml:mi><mml:mi>j</mml:mi><mml:mi>t</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula>, and
<inline-formula><mml:math id="M204" display="inline"><mml:mrow><mml:msubsup><mml:mi>l</mml:mi><mml:mi>j</mml:mi><mml:mi>t</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula>.
              <disp-formula id="Ch1.E13" content-type="numbered"><label>13</label><mml:math id="M205" display="block"><mml:mrow><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>M</mml:mi></mml:munderover><mml:mfenced open="|" close="|"><mml:mrow><mml:msubsup><mml:mi>l</mml:mi><mml:mi>j</mml:mi><mml:mi>t</mml:mi></mml:msubsup><mml:mo>-</mml:mo><mml:msubsup><mml:mi>l</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:mfenced><mml:mo>≤</mml:mo><mml:mi mathvariant="italic">ε</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
            where <inline-formula><mml:math id="M206" display="inline"><mml:mrow><mml:mo>|</mml:mo><mml:mo>|</mml:mo></mml:mrow></mml:math></inline-formula> represents the absolute value of a real number, and <inline-formula><mml:math id="M207" display="inline"><mml:mi>M</mml:mi></mml:math></inline-formula>
is the number of observed strike and dip points. The basic steps of the
iterative calculation of gradient magnitude are given in the pseudo-code
(Fig. 3).</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F5" specific-use="star"><?xmltex \currentcnt{5}?><?xmltex \def\figurename{Figure}?><label>Figure 5</label><caption><p id="d1e6760">Experimental field 2: <bold>(a)</bold> original potential field, <bold>(b)</bold> field
reconstructed when each gradient magnitude was set to a constant value of 1,
<bold>(c)</bold> distribution of field attribute and unit gradient points, <bold>(d)</bold> field
reconstructed when the gradient magnitude was obtained iteratively, and <bold>(e)</bold> distribution of field attribute and iteratively obtained gradient points.</p></caption>
            <?xmltex \igopts{width=483.69685pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/16/3651/2023/gmd-16-3651-2023-f05.png"/>

          </fig>

<?xmltex \hack{\newpage}?>
</sec>
</sec>
</sec>
<?pagebreak page3659?><sec id="Ch1.S4">
  <label>4</label><title>Verification experiments</title>
      <p id="d1e6797">Two experimental fields in 2D space, with the gradient changing in direction or
magnitude, were designed to verify the AdaHRBF method. The experimental
results show that the different gradient magnitude settings apparently
affect the modeled fields; moreover, the AdaHRBF method is effective to
iteratively obtain the optimized gradient magnitude of the fields. We
modeled an analytic field of <inline-formula><mml:math id="M208" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mfenced close=")" open="("><mml:mi mathvariant="bold-italic">p</mml:mi></mml:mfenced><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>x</mml:mi></mml:msup><mml:mo>-</mml:mo><mml:mn mathvariant="normal">300</mml:mn></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>y</mml:mi></mml:msup></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msup><mml:mo>)</mml:mo><mml:mfrac><mml:mn mathvariant="normal">3</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:msup></mml:mrow></mml:math></inline-formula> with the changing gradient direction and
magnitude, as shown in Fig. 4a. Then we sampled attribute and strike and dip
points from the analytic field with different locations, as shown in Fig. 4b.
Hence, we can retrieve the coefficients <inline-formula><mml:math id="M209" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and
<inline-formula><mml:math id="M210" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">β</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> of the HRBF formula and the polynomial
coefficients, respectively. We compared two different experimental settings.
(1) Assuming that the gradient is a unit vector, and each gradient magnitude is
1, we used the HRBF interpolant to reconstruct the field, as shown in Fig. 4c. Although the field values at the sampling points are equal to the given
attribute values, the retrieved field values change irregularly; thus we
obtained a large number of exceptional values in the reconstructed field.
(2) The optimized gradient magnitude was obtained via the iterative AdaHRBF
method introduced above. In this condition, we more accurately restored the
field (as shown in Fig. 4d) and also got the optimized gradient magnitude
after the iterations, which was close to the true value.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F6" specific-use="star"><?xmltex \currentcnt{6}?><?xmltex \def\figurename{Figure}?><label>Figure 6</label><caption><p id="d1e6876">Geological map of the study area.</p></caption>
        <?xmltex \igopts{width=483.69685pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/16/3651/2023/gmd-16-3651-2023-f06.png"/>

      </fig>

      <?pagebreak page3660?><p id="d1e6885">We also modeled a potential field of <inline-formula><mml:math id="M211" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mfenced close=")" open="("><mml:mi mathvariant="bold-italic">p</mml:mi></mml:mfenced><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi>y</mml:mi></mml:msup><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> with the changing gradient magnitude, as
shown in Fig. 5a. It is known that each direction of gradient points is the
positive <inline-formula><mml:math id="M212" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula>-axis direction. We sampled attribute points and strike and dip
points, as shown in Fig. 5b. We also compared two different experimental
conditions: (1) assuming that each fixed gradient magnitude is 1, we used
the HRBF interpolant to reconstruct the field, as shown in Fig. 5c, and (2) the
optimized gradient magnitude was obtained via the iterative AdaHRBF method.
In this condition, we more accurately restored the potential field (as shown
in Fig. 5d) and also got the optimized gradient magnitude after the
iterations.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F7" specific-use="star"><?xmltex \currentcnt{7}?><?xmltex \def\figurename{Figure}?><label>Figure 7</label><caption><p id="d1e6926">Model of Nacha Fault: <bold>(a)</bold> potential field and <bold>(b)</bold> surface model.
We extracted the zero equipotential surface of the fault potential field <bold>(a)</bold> to reconstruct the surface model of the Nacha Fault, which divides
the study area into two sub-domains <bold>(b)</bold>. In each sub-domain, the
coefficients of the HRBF linear system were separately solved according to
the joint samplings of the SPF and its gradient.</p></caption>
        <?xmltex \igopts{width=483.69685pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/16/3651/2023/gmd-16-3651-2023-f07.png"/>

      </fig>

</sec>
<sec id="Ch1.S5">
  <label>5</label><title>Case study</title>
<sec id="Ch1.S5.SS1">
  <label>5.1</label><title>Study area and dataset</title>
      <p id="d1e6962">The study area is located in the Lingnian–Ningping manganese ore zone, in
Debao County, southwestern Guangxi Zhuang Autonomous Region, China (Fig. 6).
The study area mainly consists of strata from the late Paleozoic to the late
Triassic–Pliocene (T<inline-formula><mml:math id="M213" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:math></inline-formula>–N<inline-formula><mml:math id="M214" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:math></inline-formula>). The middle Permian (P<inline-formula><mml:math id="M215" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:math></inline-formula>) strata are
in para-unconformity contact with early Triassic (T<inline-formula><mml:math id="M216" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:math></inline-formula>) strata; the
middle Triassic (T<inline-formula><mml:math id="M217" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:math></inline-formula>) strata are in angular unconformity contact with
the Quaternary. There is a left strike–slip inverse fault, the Nacha Fault, in
the middle of the study area. It dips to the southeast, with a northeastern strike
direction of 45<inline-formula><mml:math id="M218" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>; a dip angle of about 70<inline-formula><mml:math id="M219" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>; and a
total length<?pagebreak page3661?> of about 12 km, extending outside the study area. The footwall
slid to the west relative to the hanging wall, and the slip distance is
about 600 m. There are two synclines (I and III) and an anticline (II) in the
study area. Syncline III is located in the middle of the study area with a
high symmetry. The axis of syncline III strikes nearly northeast, and its
southern limb is cut by the Nacha Fault. Anticline II is located in the
northwest of the study area with a good symmetry, the fold axis striking
about 30<inline-formula><mml:math id="M220" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> northeast.</p>
      <p id="d1e7038">Faults, unconformable strata, and intrusive rocks all cause discontinuities
in a SPF (Calcagno et al., 2008). We used the fault
surface samplings to interpolate the potential field and extract the surface
model of the Nacha Fault (Fig. 7).</p>
      <p id="d1e7041">According to the comprehensive stratigraphic column, the burial depth of
each stratigraphic interface relative to the top surface of the Quaternary
was used as the attribute value of the SPF (Fig. 8) for implicit-function
interpolation. The SPF defines the 3D space as a scalar function <inline-formula><mml:math id="M221" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi>p</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> at any
point <inline-formula><mml:math id="M222" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula>, where <inline-formula><mml:math id="M223" display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula> is defined as the relative burial depth in this study. Each
point inside of a stratum has its own burial depth relative to the top
surface of the Quaternary; therefore, the depth values in the field decrease
gradually from bottom to top in strata. When the relative burial depth is
used as the attribute value of the SPF, we can set the initial gradient
magnitude <inline-formula><mml:math id="M224" display="inline"><mml:mrow><mml:mfenced close="∥" open="∥"><mml:mi mathvariant="bold">g</mml:mi></mml:mfenced><mml:mo>≅</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> if the strata
underwent heterogenous deformation. However, if we use geological age as the
attribute value of the SPF, <inline-formula><mml:math id="M225" display="inline"><mml:mrow><mml:mfenced open="∥" close="∥"><mml:mi mathvariant="bold">g</mml:mi></mml:mfenced></mml:mrow></mml:math></inline-formula> can no longer be
initially assumed to be 1 because the stratigraphic age and distance along
the gradient direction are from different measured variables.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F8" specific-use="star"><?xmltex \currentcnt{8}?><?xmltex \def\figurename{Figure}?><label>Figure 8</label><caption><p id="d1e7097">Comprehensive stratigraphic column of the study area. In this
context, the SPF is fitted by a scalar function of the relative burial
depth. Burial depth decreases as geological time progresses; therefore,
earlier-deposited strata are assigned a relatively larger burial depth,
while later-deposited strata are assigned a relatively smaller burial depth.</p></caption>
          <?xmltex \igopts{width=483.69685pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/16/3651/2023/gmd-16-3651-2023-f08.png"/>

        </fig>

      <p id="d1e7106">Based on the geological map and DEM of the study area, we produced a series
of cross-sections (Fig. 9). However, the cross-sections were presented in 2D
form. According to the necessary geographic projection parameters and scale, we derived the mapping relationship between 2D and 3D. Finally,
we extracted the geological boundary points with 3D coordinates from 2D
cross-sections.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F9" specific-use="star"><?xmltex \currentcnt{9}?><?xmltex \def\figurename{Figure}?><label>Figure 9</label><caption><p id="d1e7111">Geological cross-sections, mapped according to the planar
geological map and DEM of study area. The cross-sections were mapped by
vertical extension according to the boundaries and strike and dip points of
strata along the layout lines of cross-sections.</p></caption>
          <?xmltex \igopts{width=483.69685pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/16/3651/2023/gmd-16-3651-2023-f09.png"/>

        </fig>

      <p id="d1e7120">The attribute points and strike and dip points of each stratigraphic
interface and fault plane extracted from the geological map and
cross-sections were used as the original dataset for 3D SPF modeling. The 3D
points of stratigraphic interfaces extracted from the geological map and
cross-sections were regarded as samplings of the SPF. The gradient vectors
which are transformed from the off-contact stratigraphic strike and dip
points were regarded as the samplings of the gradient of SPF.</p>
</sec>
<sec id="Ch1.S5.SS2">
  <label>5.2</label><title>Optimizing gradient magnitude</title>
      <p id="d1e7131">There are 1410 known on-contact attribute points and 34 off-contact strike
and dip points scattered throughout the study area (Fig. 10a). The known
strike and dip sampling points are scattered on the southern limb of fold I,
the northern and southern limbs of fold II, and the northern and southern limbs of fold III. There are 17 strike and dip sampling points on the northern side of the
Nacha Fault and 17 strike and dip sampling points on the southern side. The
distribution of the dip directions and dip angles is shown in Fig. 10b.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F10" specific-use="star"><?xmltex \currentcnt{10}?><?xmltex \def\figurename{Figure}?><label>Figure 10</label><caption><p id="d1e7136">Scattered attribute points and strike and dip points of strata:
<bold>(a)</bold> known attribute points and strike and dip points of strata and <bold>(b)</bold> distribution of the dip directions and dip angles of the strike and dip
points, in which the symbols represent different strata, and the colors
represent different limbs of folds.</p></caption>
          <?xmltex \igopts{width=483.69685pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/16/3651/2023/gmd-16-3651-2023-f10.png"/>

        </fig>

      <p id="d1e7151">First, we set the initial gradient magnitude to 1.0 and calculated the <inline-formula><mml:math id="M226" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula>-, <inline-formula><mml:math id="M227" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula>-,
and <inline-formula><mml:math id="M228" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula>-axis components of the gradient vector field according to the dip
direction and angle of the strike and dip points. We constructed HRBF
solution matrices on the northern and southern side of the Nacha Fault,
respectively. Then, we iterated to converge toward the optimized gradient
magnitudes by adding an optimization term to the HRBF linear system. The
termination conditions were met<?pagebreak page3662?> after 200 iterations in the northern sub-domain
and 300 iterations in the southern sub-domain. The gradient magnitudes became
stable, and finally the optimized magnitudes of the gradient were obtained. The
changes in gradient magnitude are shown in Fig. 11.</p>

      <?xmltex \floatpos{p}?><fig id="Ch1.F11" specific-use="star"><?xmltex \currentcnt{11}?><?xmltex \def\figurename{Figure}?><label>Figure 11</label><caption><p id="d1e7178">Changes in optimization coefficient <inline-formula><mml:math id="M229" display="inline"><mml:mi mathvariant="italic">λ</mml:mi></mml:math></inline-formula> and gradient
magnitude: <bold>(a)</bold> gradient magnitudes for all strike and dip points in the
northern sub-domain, <bold>(b)</bold> gradient magnitudes for all strike and dip points in
the southern sub-domain, <bold>(c)</bold> optimization coefficients for all strike and dip
points in the northern sub-domain, and <bold>(d)</bold> optimization coefficients for all
strike and dip points in the southern sub-domain. The corresponding number of
strike and dip points can be found in Fig. 6.</p></caption>
          <?xmltex \igopts{width=398.338583pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/16/3651/2023/gmd-16-3651-2023-f11.png"/>

        </fig>

      <p id="d1e7206">On a specific grid resolution, we modeled the scalar field of gradient
magnitude before and after optimization for each strike and dip point (Fig. 12). Furthermore, we cut four cross-sections of the gradient magnitude
scalar field, as shown in Fig. 13.</p>

      <?xmltex \floatpos{p}?><fig id="Ch1.F12" specific-use="star"><?xmltex \currentcnt{12}?><?xmltex \def\figurename{Figure}?><label>Figure 12</label><caption><p id="d1e7211">Scalar field of <bold>(a)</bold> gradient magnitude assigning an initial fixed
gradient magnitude of 1 for each strike and dip point and <bold>(b)</bold> gradient
magnitude after optimization. Along the northern side of the Nacha Fault in <bold>(a)</bold>, the gradient magnitudes obtained by interpolation in area B exceed
the maximum values. Compared with the scalar field of gradient magnitude
before optimization, the scalar field of gradient magnitude after
optimization <bold>(b)</bold> more smoothly represents changes in the strata. The
Carboniferous strata have the largest optimized gradient magnitude, while
the optimized gradient magnitudes of the Devonian strata are smallest.</p></caption>
          <?xmltex \igopts{width=483.69685pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/16/3651/2023/gmd-16-3651-2023-f12.png"/>

        </fig>

      <?xmltex \floatpos{p}?><fig id="Ch1.F13" specific-use="star"><?xmltex \currentcnt{13}?><?xmltex \def\figurename{Figure}?><label>Figure 13</label><caption><p id="d1e7234">Cross-sections of the gradient magnitude field: <bold>(a)</bold> assigning an
initial fixed gradient magnitude of 1 for each strike and dip point and <bold>(b)</bold> after optimization.</p></caption>
          <?xmltex \igopts{width=483.69685pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/16/3651/2023/gmd-16-3651-2023-f13.png"/>

        </fig>

</sec>
<?pagebreak page3663?><sec id="Ch1.S5.SS3">
  <label>5.3</label><title>Stratigraphic potential field (SPF)</title>
      <p id="d1e7257">After the optimized gradient magnitude for each strike and dip point was
obtained, all scattered attribute points and strike and dip points were
finally substituted into the HRBF linear system to respectively solve the HRBF
coefficients (<inline-formula><mml:math id="M230" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M231" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">β</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) and
the polynomial coefficients (<inline-formula><mml:math id="M232" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">4</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>) for each side of the
Nacha Fault. On a specific grid resolution, we generated the regular
discrete grids as interpolated points in 3D space. Then the points above the
digital elevation model (DEM) were removed from the interpolated points.
Finally, we reconstruct the SPFs in 3D space before and after optimization
of the gradient magnitude according to the respective HRBF interpolant of
each sub-domain. In this study, the SPF represents the relative burial depth
in 3D space. The larger field value represents earlier-deposited strata with
larger relative burial depth, and vice versa. The same stratigraphic
interfaces in different sub-domains share the same field value. The field
values change abruptly at the Nacha Fault because the conformable strata
were cut by the fault plane.</p>
      <p id="d1e7308">The SPFs are both constrained so that the interpolated SPF values at the
attribute points are equal to the initial relative burial depths, but the
SPF values may abruptly change or produce outliers at some locations.
Obviously, the SPF values change nonuniformly with gradient magnitude before
optimization (Fig. 14a), which caused the SPF values that originally
belonged to the Carboniferous strata to be interpolated as those of other
strata and sequentially resulted in incorrect extraction of the
stratigraphic interfaces. This nonuniform gradient change in stratigraphic
potential field causes separated, discontinuous, and dispersed stratigraphic
interfaces to be extracted through equipotential surface tracking. However,
reconstructing the SPF through optimization of gradient magnitude for each
strike and dip point (Fig. 14b) avoids the generation of either abnormal
field values or of the wrong equipotential surfaces. This geologically
plausible SPF can be appropriately constrained by the known gradient
direction and the optimized gradient magnitude at the strike and dip
sampling points.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F14" specific-use="star"><?xmltex \currentcnt{14}?><?xmltex \def\figurename{Figure}?><label>Figure 14</label><caption><p id="d1e7313">Stratigraphic potential field <bold>(a)</bold> before and <bold>(b)</bold> after
optimization of gradient magnitude. The abnormal SPF values (areas A, B, and
C in panel <bold>a</bold>) are not continuously distributed along stratigraphic
interfaces but appear at irregular intervals.</p></caption>
          <?xmltex \igopts{width=483.69685pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/16/3651/2023/gmd-16-3651-2023-f14.png"/>

        </fig>

      <p id="d1e7332">We cut the SPF along four section lines, and the SPF value also changes more
uniformly from older to younger strata after gradient magnitude optimization
than using a fixed gradient magnitude of 1, as shown in Fig. 15.</p>

      <?xmltex \floatpos{p}?><fig id="Ch1.F15" specific-use="star"><?xmltex \currentcnt{15}?><?xmltex \def\figurename{Figure}?><label>Figure 15</label><caption><p id="d1e7337">Cross-sections of the stratigraphic potential field <bold>(a)</bold> before
and <bold>(b)</bold> after optimization of gradient magnitude.</p></caption>
          <?xmltex \igopts{width=483.69685pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/16/3651/2023/gmd-16-3651-2023-f15.png"/>

        </fig>

</sec>
<?pagebreak page3664?><sec id="Ch1.S5.SS4">
  <label>5.4</label><title>Three-dimensional models of strata</title>
      <p id="d1e7360">Once the field was interpolated in 3D space, the specific equipotential
surfaces were extracted from the implicit volumetric function as
stratigraphic interfaces within each main-structure-bounded sub-domain. We
used the marching cube method to extract the equipotential surfaces with a
specific relative burial depth from the stratigraphic interfaces by
connecting all the points with the same field value in the stratigraphic
potential field (Fig. 16). The interface model on both sides of the Nacha
Fault restores the location of the fault in the southern limb of syncline III.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F16" specific-use="star"><?xmltex \currentcnt{16}?><?xmltex \def\figurename{Figure}?><label>Figure 16</label><caption><p id="d1e7365">Three-dimensional model of the bottom surfaces of strata. The 3D
surface model extracted from the potential field shows that the geometrical
shape of each equipotential (iso-depth) surface is smooth, and the topology
is consistent.</p></caption>
          <?xmltex \igopts{width=483.69685pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/16/3651/2023/gmd-16-3651-2023-f16.png"/>

        </fig>

      <p id="d1e7374">Sequentially, according to the range of relative burial depth of
stratigraphic top and bottom, two solid stratigraphic models were
reconstructed from these equipotential surfaces before and after
optimization of gradient magnitude for each strike and dip point,
respectively, combined with sub-domain boundaries and the DEM (Fig. 17). The
HRBF interpolation with the initial fixed gradient magnitude of 1 roughly
reflects stratigraphic on-contact information and captures the structure of
syncline I in the north. However, several details are different from the
stratigraphic structure on the geological map. Where the Nacha Fault passes
through syncline III, the strata on the southern side of the fault plane should
correspond to the same strata on the northern side. However, the Devonian
strata corresponded to the Permian strata in area B, as shown in Fig. 17a
and b, which is inconsistent with the geological structure. The geological
model extracted using the optimized gradient magnitude for each strike and
dip point is shown in Fig. 17c. Overall, the obtained geometries follow the shape of the folds and stratigraphic on-contact lines more closely. From
north to south in the study area, anticline II and syncline III were
successfully modeled with the Nacha Fault correctly represented as an
inverse fault that cuts syncline III. On both sides of the Nacha Fault, the
sequence of the strata is the same, and the model exhibits traces of the
fault plane passing through the stratigraphic surfaces.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F17" specific-use="star"><?xmltex \currentcnt{17}?><?xmltex \def\figurename{Figure}?><label>Figure 17</label><caption><p id="d1e7380">Three-dimensional stratigraphic models using <bold>(a)</bold> RBF without
gradient constraint, <bold>(b)</bold> HRBF with unit gradient, and <bold>(c)</bold> AdaHRBF with
optimized gradient magnitude. Many abnormal potential-field values and
additional unreasonable geological bodies were extracted from the model
before optimization, especially in areas A, B, and C, as shown in <bold>(a)</bold>
and <bold>(b)</bold>. These abnormal potential-field values lead to the occurrences of
additional strata fragments that do not conform to the rule of sediments.</p></caption>
          <?xmltex \igopts{width=483.69685pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/16/3651/2023/gmd-16-3651-2023-f17.png"/>

        </fig>

      <p id="d1e7404">Four cross-sections through the solid models (see the geological map for
cross-section lines) were cut, and the cross-sections of the solid model are
more consistent with the original structural relationships on the geological
map after gradient magnitude optimization than using HRBF with a fixed
gradient magnitude of 1 and RBF without gradient constraint, as shown in
Fig. 18.</p>

      <?xmltex \floatpos{p}?><fig id="Ch1.F18" specific-use="star"><?xmltex \currentcnt{18}?><?xmltex \def\figurename{Figure}?><label>Figure 18</label><caption><p id="d1e7409">Cross-sections of the solid models. <bold>(a)</bold> RBF without gradient
constraint, <bold>(b)</bold> HRBF with unit gradient, and <bold>(c)</bold> AdaHRBF with optimized
gradient magnitude.</p></caption>
          <?xmltex \igopts{width=398.338583pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/16/3651/2023/gmd-16-3651-2023-f18.png"/>

        </fig>

      <?pagebreak page3667?><p id="d1e7427">The highest stratum and section coincidence percentages on cross-sections
are 74.50 % (T<inline-formula><mml:math id="M233" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:math></inline-formula>) and 78.03 % (Section 16) before optimization,
respectively, as shown in Table 1. However, the highest stratum and section
coincidence percentages on cross-sections are 98.99 % (D<inline-formula><mml:math id="M234" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:math></inline-formula>) and
98.01 % (Sections 13 and 15) using the optimized gradient magnitude for
each strike and dip point, respectively, as shown in Table 2. The total
coincidence percentage on cross-sections increases from 67.03 % to
98.27 % after optimizing the gradient magnitude.</p>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T1" specific-use="star"><?xmltex \currentcnt{1}?><label>Table 1</label><caption><p id="d1e7451">Coincidence percentages on cross-sections using RBF without
gradient constraint.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="6">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right" colsep="1"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Stratum</oasis:entry>
         <oasis:entry colname="col2">Section 13</oasis:entry>
         <oasis:entry colname="col3">Section 14</oasis:entry>
         <oasis:entry colname="col4">Section 15</oasis:entry>
         <oasis:entry colname="col5">Section 16</oasis:entry>
         <oasis:entry colname="col6">Total</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">T<inline-formula><mml:math id="M235" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">–</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">72.73 %</oasis:entry>
         <oasis:entry colname="col5">97.05 %</oasis:entry>
         <oasis:entry colname="col6">90.82 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">T<inline-formula><mml:math id="M236" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">–</oasis:entry>
         <oasis:entry colname="col3">56.75 %</oasis:entry>
         <oasis:entry colname="col4">86.14 %</oasis:entry>
         <oasis:entry colname="col5">88.09 %</oasis:entry>
         <oasis:entry colname="col6">85.28 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">P<inline-formula><mml:math id="M237" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">92.43 %</oasis:entry>
         <oasis:entry colname="col3">92.50 %</oasis:entry>
         <oasis:entry colname="col4">81.92 %</oasis:entry>
         <oasis:entry colname="col5">98.04 %</oasis:entry>
         <oasis:entry colname="col6">96.85 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">C<inline-formula><mml:math id="M238" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">73.71 %</oasis:entry>
         <oasis:entry colname="col3">77.04 %</oasis:entry>
         <oasis:entry colname="col4">80.62 %</oasis:entry>
         <oasis:entry colname="col5">87.68 %</oasis:entry>
         <oasis:entry colname="col6">80.76 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">C<inline-formula><mml:math id="M239" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">71.46 %</oasis:entry>
         <oasis:entry colname="col3">74.91 %</oasis:entry>
         <oasis:entry colname="col4">70.81 %</oasis:entry>
         <oasis:entry colname="col5">100.00 %</oasis:entry>
         <oasis:entry colname="col6">79.22 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">C<inline-formula><mml:math id="M240" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">85.64 %</oasis:entry>
         <oasis:entry colname="col3">84.96 %</oasis:entry>
         <oasis:entry colname="col4">80.12 %</oasis:entry>
         <oasis:entry colname="col5">98.49 %</oasis:entry>
         <oasis:entry colname="col6">85.09 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">D<inline-formula><mml:math id="M241" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">99.65 %</oasis:entry>
         <oasis:entry colname="col3">98.47 %</oasis:entry>
         <oasis:entry colname="col4">98.35 %</oasis:entry>
         <oasis:entry colname="col5">100.00 %</oasis:entry>
         <oasis:entry colname="col6">99.16 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">D<inline-formula><mml:math id="M242" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:math></inline-formula>d</oasis:entry>
         <oasis:entry colname="col2">72.02 %</oasis:entry>
         <oasis:entry colname="col3">81.94 %</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">–</oasis:entry>
         <oasis:entry colname="col6">76.70 %</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">D<inline-formula><mml:math id="M243" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">100.00 %</oasis:entry>
         <oasis:entry colname="col3">95.79 %</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">–</oasis:entry>
         <oasis:entry colname="col6">97.94 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Total</oasis:entry>
         <oasis:entry colname="col2">93.60 %</oasis:entry>
         <oasis:entry colname="col3">90.57 %</oasis:entry>
         <oasis:entry colname="col4">83.36 %</oasis:entry>
         <oasis:entry colname="col5">95.29 %</oasis:entry>
         <oasis:entry colname="col6">90.70 %</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table><?xmltex \gdef\@currentlabel{1}?></table-wrap>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T2" specific-use="star"><?xmltex \currentcnt{2}?><label>Table 2</label><caption><p id="d1e7798">Coincidence percentages on cross-sections using HRBF with an
initial fixed gradient magnitude of 1 for each strike and dip point.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="6">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right" colsep="1"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Stratum</oasis:entry>
         <oasis:entry colname="col2">Section 13</oasis:entry>
         <oasis:entry colname="col3">Section 14</oasis:entry>
         <oasis:entry colname="col4">Section 15</oasis:entry>
         <oasis:entry colname="col5">Section 16</oasis:entry>
         <oasis:entry colname="col6">Total</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">T<inline-formula><mml:math id="M244" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">–</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">78.14 %</oasis:entry>
         <oasis:entry colname="col5">73.27 %</oasis:entry>
         <oasis:entry colname="col6">74.50 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">T<inline-formula><mml:math id="M245" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">–</oasis:entry>
         <oasis:entry colname="col3">78.35 %</oasis:entry>
         <oasis:entry colname="col4">70.74 %</oasis:entry>
         <oasis:entry colname="col5">77.54 %</oasis:entry>
         <oasis:entry colname="col6">74.48 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">P<inline-formula><mml:math id="M246" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">13.66 %</oasis:entry>
         <oasis:entry colname="col3">47.32 %</oasis:entry>
         <oasis:entry colname="col4">68.13 %</oasis:entry>
         <oasis:entry colname="col5">77.84 %</oasis:entry>
         <oasis:entry colname="col6">60.90 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">C<inline-formula><mml:math id="M247" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">15.01 %</oasis:entry>
         <oasis:entry colname="col3">57.26 %</oasis:entry>
         <oasis:entry colname="col4">76.80 %</oasis:entry>
         <oasis:entry colname="col5">78.74 %</oasis:entry>
         <oasis:entry colname="col6">64.26 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">C<inline-formula><mml:math id="M248" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">13.53 %</oasis:entry>
         <oasis:entry colname="col3">53.57 %</oasis:entry>
         <oasis:entry colname="col4">74.13 %</oasis:entry>
         <oasis:entry colname="col5">91.83 %</oasis:entry>
         <oasis:entry colname="col6">63.15 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">C<inline-formula><mml:math id="M249" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">18.84 %</oasis:entry>
         <oasis:entry colname="col3">80.65 %</oasis:entry>
         <oasis:entry colname="col4">81.10 %</oasis:entry>
         <oasis:entry colname="col5">76.12 %</oasis:entry>
         <oasis:entry colname="col6">63.50 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">D<inline-formula><mml:math id="M250" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">75.62 %</oasis:entry>
         <oasis:entry colname="col3">53.27 %</oasis:entry>
         <oasis:entry colname="col4">61.53 %</oasis:entry>
         <oasis:entry colname="col5">77.99 %</oasis:entry>
         <oasis:entry colname="col6">67.08 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">D<inline-formula><mml:math id="M251" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:math></inline-formula>d</oasis:entry>
         <oasis:entry colname="col2">12.92 %</oasis:entry>
         <oasis:entry colname="col3">66.21 %</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">–</oasis:entry>
         <oasis:entry colname="col6">37.91 %</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">D<inline-formula><mml:math id="M252" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">82.11 %</oasis:entry>
         <oasis:entry colname="col3">66.58 %</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">–</oasis:entry>
         <oasis:entry colname="col6">74.47 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Total</oasis:entry>
         <oasis:entry colname="col2">57.84 %</oasis:entry>
         <oasis:entry colname="col3">60.58 %</oasis:entry>
         <oasis:entry colname="col4">72.13 %</oasis:entry>
         <oasis:entry colname="col5">78.03 %</oasis:entry>
         <oasis:entry colname="col6">67.03 %</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table><?xmltex \gdef\@currentlabel{2}?></table-wrap>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T3" specific-use="star"><?xmltex \currentcnt{3}?><label>Table 3</label><caption><p id="d1e8144">Coincidence percentages on cross-sections using AdaHRBF with
optimized gradient magnitude.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="6">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right" colsep="1"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Stratum</oasis:entry>
         <oasis:entry colname="col2">Section 13</oasis:entry>
         <oasis:entry colname="col3">Section 14</oasis:entry>
         <oasis:entry colname="col4">Section 15</oasis:entry>
         <oasis:entry colname="col5">Section 16</oasis:entry>
         <oasis:entry colname="col6">Total</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">T<inline-formula><mml:math id="M253" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">–</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">99.40 %</oasis:entry>
         <oasis:entry colname="col5">96.26 %</oasis:entry>
         <oasis:entry colname="col6">97.06 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">T<inline-formula><mml:math id="M254" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">–</oasis:entry>
         <oasis:entry colname="col3">98.07 %</oasis:entry>
         <oasis:entry colname="col4">99.30 %</oasis:entry>
         <oasis:entry colname="col5">97.04 %</oasis:entry>
         <oasis:entry colname="col6">98.14 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">P<inline-formula><mml:math id="M255" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">99.32 %</oasis:entry>
         <oasis:entry colname="col3">98.20 %</oasis:entry>
         <oasis:entry colname="col4">97.89 %</oasis:entry>
         <oasis:entry colname="col5">95.18 %</oasis:entry>
         <oasis:entry colname="col6">97.12 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">C<inline-formula><mml:math id="M256" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">97.17 %</oasis:entry>
         <oasis:entry colname="col3">90.66 %</oasis:entry>
         <oasis:entry colname="col4">97.03 %</oasis:entry>
         <oasis:entry colname="col5">92.47 %</oasis:entry>
         <oasis:entry colname="col6">94.00 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">C<inline-formula><mml:math id="M257" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">94.82 %</oasis:entry>
         <oasis:entry colname="col3">95.28 %</oasis:entry>
         <oasis:entry colname="col4">95.53 %</oasis:entry>
         <oasis:entry colname="col5">94.55 %</oasis:entry>
         <oasis:entry colname="col6">95.08 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">C<inline-formula><mml:math id="M258" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">96.30 %</oasis:entry>
         <oasis:entry colname="col3">98.47 %</oasis:entry>
         <oasis:entry colname="col4">97.40 %</oasis:entry>
         <oasis:entry colname="col5">96.20 %</oasis:entry>
         <oasis:entry colname="col6">97.22 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">D<inline-formula><mml:math id="M259" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">97.68 %</oasis:entry>
         <oasis:entry colname="col3">98.58 %</oasis:entry>
         <oasis:entry colname="col4">99.12 %</oasis:entry>
         <oasis:entry colname="col5">98.77 %</oasis:entry>
         <oasis:entry colname="col6">98.41 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">D<inline-formula><mml:math id="M260" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:math></inline-formula>d</oasis:entry>
         <oasis:entry colname="col2">96.65 %</oasis:entry>
         <oasis:entry colname="col3">91.17 %</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">–</oasis:entry>
         <oasis:entry colname="col6">94.08 %</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">D<inline-formula><mml:math id="M261" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">99.41 %</oasis:entry>
         <oasis:entry colname="col3">98.55 %</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">–</oasis:entry>
         <oasis:entry colname="col6">98.99 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Total</oasis:entry>
         <oasis:entry colname="col2">98.01 %</oasis:entry>
         <oasis:entry colname="col3">97.22 %</oasis:entry>
         <oasis:entry colname="col4">98.01 %</oasis:entry>
         <oasis:entry colname="col5">95.90 %</oasis:entry>
         <oasis:entry colname="col6">97.27 %</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table><?xmltex \gdef\@currentlabel{3}?></table-wrap>

</sec>
</sec>
<sec id="Ch1.S6">
  <label>6</label><title>Discussions</title>
      <p id="d1e8496">The AdaHRBF proposed in this study improves the use of strike and dip data
in SPF modeling by optimization of gradient magnitudes. In addition to use
of strike and dip information as the gradient directions of SPFs, we use the
gradient magnitude as a new constraint to control the rate of change in SPF
values. The gradient of a SPF is a vector with certain direction and
magnitude, in which the gradient magnitude provides constraints on the
thickness of deformed strata. Therefore, it is extremely important to
construct HRBF linear systems with accurate gradient magnitudes in 3D SPF
modeling. As a “chicken-and-egg” problem, it is difficult to determine the
exact gradient magnitude through the geological measurements or prior
structural knowledge. We proposed an iterative optimization method which
alternates between estimation of SPF and gradient magnitudes so that the
gradient magnitudes progressively converge towards the values and are adaptive
to the stratigraphic architecture. The optimized gradient magnitudes more
accurately simulate the variations in the SPF between the top and bottom
surfaces. Besides constraints of scattered multivariate Hermite–Birkhoff
data, the generalized RBF (Hillier et al., 2014) reconstructs an
implicit function with more constraints of lithologic markers (inequality)
and lineations (tangent). How to integrate these constraints in our solution
to utilize more kinds of modeling data shall be studied in future work.</p>
      <p id="d1e8499">Jessell et al. (2014) highlighted two limitations of current implicit
modeling schemes: (1) they are incapable of interpolating or extrapolating a
fold series within a continuous structural style; (2) the shape of fold
hinges they produce is not controlled and may yield inconsistent geometries.
To overcome these two limitations, we adopted two strategies: (1) a 3D
stratigraphic-potential-field modeling method based on HRBF interpolants was
used to interpolate a fold series within a structurally continuous domain;
(2) a number of structural strike and dip points were sampled on both limbs
of the folds to control the geometries of fold hinges. A novel method for
modeling folds uses a fold coordinate system based on fold axis direction,
fold axial surface, and extension direction and incorporates a parametric
description of fold geometry (e.g., fold wavelength, amplitude, tightness,
and rotation angle) into the interpolation algorithm (Laurent et al.,
2016; Grose et al., 2017, 2019), which would be our future
research direction of fine fold modeling based on AdaHRBF.</p>
      <p id="d1e8502">There are several choices for the value of the potential field, e.g., the
sorted serial number, burial depth, or depositional time for each
stratigraphic interface (Mallet, 2004). However, the thickness of the
stratum is not necessarily proportional to the sorted serial number and
deposition time. Compared with using the sorted serial number or
depositional age of stratigraphic interfaces as the potential-field value,
choosing the burial depth is more in line with 3D SPF modeling. We derived
the gradient direction from the strike and dip points; moreover, we used the
gradient magnitude as a constraint to control the rate of change in the SPF.</p>
</sec>
<sec id="Ch1.S7" sec-type="conclusions">
  <label>7</label><title>Conclusions</title>
      <?pagebreak page3669?><p id="d1e8513">The purpose of this study is to establish a framework for 3D SPF modeling by
using the HRBF interpolant with adaptive gradient optimization constrained
by on-contact attribute points and off-contact structural strike and dip
points. We applied this method to a study site in the Lingnian–Ningping
area, and a geological map, four cross-sections, and a DEM were used as
original data to model a SPF whose field value was taken from the relative
burial depth of the stratigraphic interfaces. The results show that the
implicit modeling of the SPF by HRBF interpolants and optimization of
gradient magnitude can be effectively adapted to 3D geological modeling
using the sampling points from a geological map and cross-sections. A SPF
can express the parameters of a stratum such as property, shape, and topology
in 3D space.</p>
      <p id="d1e8516">However, the modeling process is complicated because the sub-domains are
required to be divided manually. In actual geological surveys, the
geological structure may be more complex and include a large number of
faults, unconformable<?pagebreak page3670?> strata, and intrusive rocks. Therefore, it is necessary
to separately identify the boundary of the sub-domains according to the
fault interfaces, unconformable strata, and intrusive rocks before the 3D
geological modeling work. A goal for future work is to introduce a way to integrate faults (Grose et al., 2021a) into the implicit model to
accommodate discontinuity of fault planes. In addition, the 3D orientations
are usually surveyed on the outcrop strata; however, it would introduce
uncertainty if we were to assume that the orientations of a totally subsurface
terrain are consistent with its conformable outcrop strata. Therefore, this
uncertainty in the model should be considered in the modeling process, and
additional geophysical exploration data and geological interpretation should
be incorporated into the modeling constraints.</p>
</sec>

      
      </body>
    <back><notes notes-type="codeavailability"><title>Code availability</title>

      <p id="d1e8523">The source code for the AdaHRBF is available in MATLAB at GitHub
(<uri>https://github.com/csugeo3d/AdaHRBF</uri>, last access: 30 October 2022; DOI:
<ext-link xlink:href="https://doi.org/10.5281/zenodo.7340093" ext-link-type="DOI">10.5281/zenodo.7340093</ext-link>; Zhang, 2022).</p>
  </notes><notes notes-type="dataavailability"><title>Data availability</title>

      <p id="d1e8535">The data for the
AdaHRBF are available
at GitHub (<uri>https://github.com/csugeo3d/AdaHRBF/tree/main/Data</uri>, last access: 30 October 2022) and <ext-link xlink:href="https://doi.org/10.5281/zenodo.7340093" ext-link-type="DOI">10.5281/zenodo.7340093</ext-link> (Zhang, 2022).</p>
  </notes><notes notes-type="authorcontribution"><title>Author contributions</title>

      <p id="d1e8547">BZ and HD initiated the conception of the study and advised
the research on it. LD and YT programmed the AdaHRBF code
and carried out the data analyses for real-world case studies. UK
contributed significantly to analysis and manuscript preparation. YT performed both verification and real-world experiments, created all
plots, carried out the initial analysis, and wrote the manuscript. HD
and LW helped perform the analysis with constructive discussions.
All authors provided critical feedback and helped to shape the whole study.</p>
  </notes><notes notes-type="competinginterests"><title>Competing interests</title>

      <p id="d1e8554">The contact author has declared that none of the authors has any competing interests.</p>
  </notes><notes notes-type="disclaimer"><title>Disclaimer</title>

      <p id="d1e8560">Publisher's note: Copernicus Publications remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.</p>
  </notes><ack><title>Acknowledgements</title><p id="d1e8566">This study was supported by grants from the National Natural Science
Foundation of China (grant nos. 42072326 and 41972309), the China Geological
Survey Project (grant no. DD20190156), and the National Key Research and
Development Program of China (grant no. 2019YFC1805905). The authors express
their sincere gratitude to Italo Goncalves, Lachlan Grose, and
Michal Michalak (referees) for their constructive reviews, which benefited
this paper. The authors thank the MapGIS Laboratory co-constructed by
the National Engineering Research Center of Geographic Information System
of China and Central South University for providing
MapGIS<sup>®</sup> software (Wuhan Zondy Cyber-Tech Co.
Ltd., Wuhan, China). We also thank Shang-guo Zhou
(Institute of Mineral Resources Research, China Metallurgical Geology
Bureau) and Xian-cheng Mao (Central South University) for their
kind assistance with data collection and Jeffrey Dick (Central
South University) for revising scientific English writing of this
paper.</p></ack><notes notes-type="financialsupport"><title>Financial support</title>

      <p id="d1e8574">This research has been supported by the National Natural Science Foundation of China (grant nos. 42072326 and 41972309), the China Geological Survey (grant no. DD20190156), and the National Key Research and Development Program of China (grant no. 2019YFC1805905).</p>
  </notes><notes notes-type="reviewstatement"><title>Review statement</title>

      <p id="d1e8580">This paper was edited by Thomas Poulet and reviewed by Lachlan Grose, Michal Michalak, and Italo Goncalves.</p>
  </notes><ref-list>
    <title>References</title>

      <ref id="bib1.bib1"><label>1</label><?label 1?><mixed-citation>Basson, I. J., Creus, P. K., Anthonissen, C. J., Stoch, B., and Ekkerd, J.:
Structural analysis and implicit 3D modelling of high-grade host rocks to
the Venetia kimberlite diatremes, Central Zone, Limpopo Belt, South Africa,
J. Struct. Geol., 86, 47-61, <ext-link xlink:href="https://doi.org/10.1016/j.jsg.2016.03.002" ext-link-type="DOI">10.1016/j.jsg.2016.03.002</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bib2"><label>2</label><?label 1?><mixed-citation>Basson, I. J., Anthonissen, C. J., McCall, M. J., Stoch, B., Britz, J.,
Deacon, J., Strydom, M., Cloete, E., Botha, J., Bester, M., and Nel, D.:
Ore-structure relationships at Sishen Mine, Northern Cape, Republic of South
Africa, based on fully-constrained implicit 3D modelling, Ore Geol.
Rev., 86, 825–838, <ext-link xlink:href="https://doi.org/10.1016/j.oregeorev.2017.04.007" ext-link-type="DOI">10.1016/j.oregeorev.2017.04.007</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bib3"><label>3</label><?label 1?><mixed-citation>Bezdek, J. C. and Hathaway, R. J.: Some notes on alternating optimization,
5th International Conference on Asian Fuzzy Systems Society, AFSS 2002,
3–6 February 2002, Calcutta, India, 288–300, <ext-link xlink:href="https://doi.org/10.1007/3-540-45631-7_39" ext-link-type="DOI">10.1007/3-540-45631-7_39</ext-link>, 2002.</mixed-citation></ref>
      <ref id="bib1.bib4"><label>4</label><?label 1?><mixed-citation>Calcagno, P., Chilès, J. P., Courrioux, G., and Guillen, A.: Geological
modelling from field data and geological knowledge: Part I. Modelling method
coupling 3D potential-field interpolation and geological rules, Phys. Earth Planet. In., 171, 147–157,
<ext-link xlink:href="https://doi.org/10.1016/j.pepi.2008.06.013" ext-link-type="DOI">10.1016/j.pepi.2008.06.013</ext-link>, 2008.</mixed-citation></ref>
      <ref id="bib1.bib5"><label>5</label><?label 1?><mixed-citation>
Caumon, G., Gray, G., Antoine, C., and Titeux, M.-O.: Three-Dimensional
Implicit Stratigraphic Model Building From Remote Sensing Data on
Tetrahedral Meshes: Theory and Application to a Regional Model of La Popa
Basin, NE Mexico, IEEE T. Geosci. Remote, 51,
1613–1621, 2013.</mixed-citation></ref>
      <ref id="bib1.bib6"><label>6</label><?label 1?><mixed-citation>
Cowan, E. J., Beatson, R. K., Ross, H. J., Fright, W. R., McLennan, T. J.,
Evans, T. R., Carr, J. C., Lane, R. G., Bright, D. V., Gillman, A. J.,
Oshust, P. A., and Titley, M.: Practical implicit geological modelling, 5th
International Mining Geology Conference, Bendigo,
Australia, 5 November 2003, WOS:0002384817000122003, 2003.</mixed-citation></ref>
      <ref id="bib1.bib7"><label>7</label><?label 1?><mixed-citation>Creus, P. K., Basson, I. J., Stoch, B., Mogorosi, O., Gabanakgosi, K.,
Ramsden, F., and Gaegopolwe, P.: Structural analysis and implicit 3D
modelling of Jwaneng Mine: Insights into deformation of the Transvaal
Supergroup in SE Botswana, J. Afr. Earth Sci., 137, 9–21, <ext-link xlink:href="https://doi.org/10.1016/j.jafrearsci.2017.09.010" ext-link-type="DOI">10.1016/j.jafrearsci.2017.09.010</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bib8"><label>8</label><?label 1?><mixed-citation>De Berg, M., Cheong, O., Van Kreveld, M., and Overmars, M. (Eds.): Computational
Geometry: Algorithms and Applications, 3rd edn., Springer, Heidelberg, <ext-link xlink:href="https://doi.org/10.1007/978-3-540-77974-2" ext-link-type="DOI">10.1007/978-3-540-77974-2</ext-link>,
Germany, 2008.</mixed-citation></ref>
      <ref id="bib1.bib9"><label>9</label><?label 1?><mixed-citation>de la Varga, M., Schaaf, A., and Wellmann, F.: GemPy 1.0: open-source stochastic geological modeling and inversion, Geosci. Model Dev., 12, 1–32, <ext-link xlink:href="https://doi.org/10.5194/gmd-12-1-2019" ext-link-type="DOI">10.5194/gmd-12-1-2019</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bib10"><label>10</label><?label 1?><mixed-citation>Frank, T., Tertois, A.-L., and Mallet, J.-L.: 3D-reconstruction of complex
geological interfaces from irregularly distributed and noisy point data,
Comput. Geosci., 33, 932–943, <ext-link xlink:href="https://doi.org/10.1016/j.cageo.2006.11.014" ext-link-type="DOI">10.1016/j.cageo.2006.11.014</ext-link>, 2007.</mixed-citation></ref>
      <ref id="bib1.bib11"><label>11</label><?label 1?><mixed-citation>
Gonçalves, Í. G., Kumaira, S., and Guadagnin, F.: A machine learning
approach to the potential-field method for implicit modeling of geological
structures, Comput. Geosci., 103, 173–182, 2017.</mixed-citation></ref>
      <ref id="bib1.bib12"><label>12</label><?label 1?><mixed-citation>Grose, L., Laurent, G., Aillères, L., Armit, R., Jessell, M., and
Caumon, G.: Structural data constraints for implicit modeling of folds,
J. Struct. Geol., 104, 80–92, <ext-link xlink:href="https://doi.org/10.1016/j.jsg.2017.09.013" ext-link-type="DOI">10.1016/j.jsg.2017.09.013</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bib13"><label>13</label><?label 1?><mixed-citation>Grose, L., Ailleres, L., Laurent, G., Armit, R., and Jessell, M.: Inversion
of geological knowledge for fold geometry, J. Struct. Geol.,
119, 1–14, <ext-link xlink:href="https://doi.org/10.1016/j.jsg.2018.11.010" ext-link-type="DOI">10.1016/j.jsg.2018.11.010</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bib14"><label>14</label><?label 1?><mixed-citation>Grose, L., Ailleres, L., Laurent, G., Caumon, G., Jessell, M., and Armit, R.: Modelling of faults in LoopStructural 1.0, Geosci. Model Dev., 14, 6197–6213, <ext-link xlink:href="https://doi.org/10.5194/gmd-14-6197-2021" ext-link-type="DOI">10.5194/gmd-14-6197-2021</ext-link>, 2021a.</mixed-citation></ref>
      <ref id="bib1.bib15"><label>15</label><?label 1?><mixed-citation>Grose, L., Ailleres, L., Laurent, G., and Jessell, M.: LoopStructural 1.0: time-aware geological modelling, Geosci. Model Dev., 14, 3915–3937, <ext-link xlink:href="https://doi.org/10.5194/gmd-14-3915-2021" ext-link-type="DOI">10.5194/gmd-14-3915-2021</ext-link>, 2021b.</mixed-citation></ref>
      <ref id="bib1.bib16"><label>16</label><?label 1?><mixed-citation>Guo, J., Wu, L., Zhou, W., Jiang, J., and Li, C.: Towards automatic and
topologically consistent 3D regional geological modeling from boundaries and
attitudes, ISPRS Int. J. Geo-Inf., 5, 17, <ext-link xlink:href="https://doi.org/10.3390/ijgi5020017" ext-link-type="DOI">10.3390/ijgi5020017</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bib17"><label>17</label><?label 1?><mixed-citation>Guo, J., Wu, L., Zhou, W., Li, C., and Li, F.: Section-constrained local
geological interface dynamic updating method based on the HRBF surface,
J. Struct. Geol., 107, 64–72, <ext-link xlink:href="https://doi.org/10.1016/j.jsg.2017.11.017" ext-link-type="DOI">10.1016/j.jsg.2017.11.017</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bib18"><label>18</label><?label 1?><mixed-citation>Guo, J., Wang, J., Wu, L., Liu, C., Li, C., Li, F., Lin, M., Jessell, M. W.,
Li, P., Dai, X., and Tang, J.: Explicit-implicit-integrated 3-D geological
modelling approach: A case study of the Xianyan Demolition Volcano (Fujian,
China), Tectonophysics, 795, 228648, <ext-link xlink:href="https://doi.org/10.1016/j.tecto.2020.228648" ext-link-type="DOI">10.1016/j.tecto.2020.228648</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bib19"><label>19</label><?label 1?><mixed-citation>Guo, J., Wang, X., Wang, J., Dai, X., Wu, L., Li, C., Li, F., Liu, S., and
Jessell, M. W.: Three-dimensional geological modeling and spatial analysis
from geotechnical borehole data using an implicit surface and marching
tetrahedra algorithm, Eng. Geol., 284, 0013-7952, <ext-link xlink:href="https://doi.org/10.1016/j.enggeo.2021.106047" ext-link-type="DOI">10.1016/j.enggeo.2021.106047</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bib20"><label>20</label><?label 1?><mixed-citation>Hassen, I., Gibson, H., Hamzaoui-Azaza, F., Negro, F., Rachid, K., and
Bouhlila, R.: 3D geological modeling of the Kasserine Aquifer System,
Central Tunisia: New insights into aquifer-geometry and interconnections for
a better assessment of groundwater resources, J. Hydrol., 539,
223–236, <ext-link xlink:href="https://doi.org/10.1016/j.jhydrol.2016.05.034" ext-link-type="DOI">10.1016/j.jhydrol.2016.05.034</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bib21"><label>21</label><?label 1?><mixed-citation>
Hillier, M., de Kemp, E., and Schetselaar, E.: 3D form line construction by
structural field interpolation (SFI) of geologic strike and dip
observations, J. Struct. Geol., 51, 167–179, 2013.</mixed-citation></ref>
      <ref id="bib1.bib22"><label>22</label><?label 1?><mixed-citation>Hillier, M., Kemp, E. D., and Schetselaar, E.: Implicitly modelled
stratigraphic surfaces using generalized interpolation, AIP Conf.
Proc., 1738, 050004, <ext-link xlink:href="https://doi.org/10.1063/1.4951819" ext-link-type="DOI">10.1063/1.4951819</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bib23"><label>23</label><?label 1?><mixed-citation>Hillier, M. J., Schetselaar, E. M., de Kemp, E. A., and Perron, G.:
Three-Dimensional Modelling of Geological Surfaces Using Generalized
Interpolation with Radial Basis Functions, Math. Geosci., 46,
931–953, <ext-link xlink:href="https://doi.org/10.1007/s11004-014-9540-3" ext-link-type="DOI">10.1007/s11004-014-9540-3</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bib24"><label>24</label><?label 1?><mixed-citation>Houlding, S. W. (Ed.): 3D Geoscience Modeling: Computer Techniques for Geological
Characterization, Springer-Verlag, Berlin, <ext-link xlink:href="https://doi.org/10.1007/978-3-642-79012-6" ext-link-type="DOI">10.1007/978-3-642-79012-6</ext-link>, 1994.</mixed-citation></ref>
      <ref id="bib1.bib25"><label>25</label><?label 1?><mixed-citation>Irakarama, M., Laurent, G., Renaudeau, J., and Caumon, G.: Finite Difference
Implicit Structural Modeling of Geological Structures, Math. Geosci., 53, 785–808, <ext-link xlink:href="https://doi.org/10.1007/s11004-020-09887-w" ext-link-type="DOI">10.1007/s11004-020-09887-w</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bib26"><label>26</label><?label 1?><mixed-citation>
Jessell, M., Aillères, L., De Kemp, E., Lindsay, M., Wellmann, J.,
Hillier, M., Laurent, G., Carmichael, T., and Martin, R.: Next generation
three-dimensional geologic modeling and inversion, Soc. Econ.
Geol. Spec. P., 18, 261–272, 2014.</mixed-citation></ref>
      <ref id="bib1.bib27"><label>27</label><?label 1?><mixed-citation>Lajaunie, C., Courrioux, G., and Manuel, L.: Foliation fields and 3D
cartography in geology: Principles of a method based on potential
interpolation, Math. Geol., 29, 571–584,
<ext-link xlink:href="https://doi.org/10.1007/BF02775087" ext-link-type="DOI">10.1007/BF02775087</ext-link>, 1997.</mixed-citation></ref>
      <ref id="bib1.bib28"><label>28</label><?label 1?><mixed-citation>Laurent, G.: Iterative Thickness Regularization of Stratigraphic Layers in
Discrete Implicit Modeling, Math. Geosci., 48, 811–833, <ext-link xlink:href="https://doi.org/10.1007/s11004-016-9637-y" ext-link-type="DOI">10.1007/s11004-016-9637-y</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bib29"><label>29</label><?label 1?><mixed-citation>Laurent, G., Ailleres, L., Grose, L., Caumon, G., Jessell, M., and Armit,
R.: Implicit modeling of folds and overprinting deformation, Earth
Planet. Sc. Lett., 456, 26–38, <ext-link xlink:href="https://doi.org/10.1016/j.epsl.2016.09.040" ext-link-type="DOI">10.1016/j.epsl.2016.09.040</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bib30"><label>30</label><?label 1?><mixed-citation>Lindsay, M. D., Aillères, L., Jessell, M. W., de Kemp, E. A., and Betts,
P. G.: Locating and quantifying geological uncertainty in three-dimensional
models: Analysis of the Gippsland Basin, southeastern Australia,
Tectonophysics, 546–547, 10–27, <ext-link xlink:href="https://doi.org/10.1016/j.tecto.2012.04.007" ext-link-type="DOI">10.1016/j.tecto.2012.04.007</ext-link>, 2012.</mixed-citation></ref>
      <ref id="bib1.bib31"><label>31</label><?label 1?><mixed-citation>Macedo, I., Gois, J. P., and Velho, L.: Hermite Radial Basis Functions
Implicits, Computer Graphics Forum, 30, 27–42, <ext-link xlink:href="https://doi.org/10.1111/j.1467-8659.2010.01785.x" ext-link-type="DOI">10.1111/j.1467-8659.2010.01785.x</ext-link>, 2011.</mixed-citation></ref>
      <ref id="bib1.bib32"><label>32</label><?label 1?><mixed-citation>
Mallet, J.-L. (Ed.): Geomodeling, Oxford University Press, New York, ISBN 978-0-19-514460-4, 2002.</mixed-citation></ref>
      <ref id="bib1.bib33"><label>33</label><?label 1?><mixed-citation>
Mallet, J.-L.: Space-time mathematical framework for sedimentary geology,
Math. Geol., 36, 1–32, 2004.</mixed-citation></ref>
      <?pagebreak page3674?><ref id="bib1.bib34"><label>34</label><?label 1?><mixed-citation>Martin, R. and Boisvert, J. B.: Iterative refinement of implicit boundary
models for improved geological feature reproduction, Comput.
Geosci., 109, 1–15, <ext-link xlink:href="https://doi.org/10.1016/j.cageo.2017.07.003" ext-link-type="DOI">10.1016/j.cageo.2017.07.003</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bib35"><label>35</label><?label 1?><mixed-citation>Rasmussen, C. E. and Williams, C. K. I.: Gaussian Processes for Machine
Learning, The MIT Press, Cambridge, Massachusetts, USA,
<ext-link xlink:href="https://doi.org/10.1142/S0129065704001899" ext-link-type="DOI">10.1142/S0129065704001899</ext-link>, 2006.</mixed-citation></ref>
      <ref id="bib1.bib36"><label>36</label><?label 1?><mixed-citation>Renaudeau, J., Malvesin, E., Maerten, F., and Caumon, G.: Implicit
Structural Modeling by Minimization of the Bending Energy with Moving Least
Squares Functions, Math. Geosci., 51, 693–724, <ext-link xlink:href="https://doi.org/10.1007/s11004-019-09789-6" ext-link-type="DOI">10.1007/s11004-019-09789-6</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bib37"><label>37</label><?label 1?><mixed-citation>Stoch, B., Basson, I. J., and Miller, J. A.: Implicit Geomodelling of the
Merensky and UG2 Reefs of the Bushveld Complex from Open-Source Data:
Implications for the Complex's Structural History, Minerals, 10, 975, <ext-link xlink:href="https://doi.org/10.3390/min10110975" ext-link-type="DOI">10.3390/min10110975</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bib38"><label>38</label><?label 1?><mixed-citation>Vollgger, S. A., Cruden, A. R., Ailleres, L., and Cowan, E. J.: Regional
dome evolution and its control on ore-grade distribution: Insights from 3D
implicit modelling of the Navachab gold deposit, Namibia, Ore Geol.
Rev., 69, 268–284, <ext-link xlink:href="https://doi.org/10.1016/j.oregeorev.2015.02.020" ext-link-type="DOI">10.1016/j.oregeorev.2015.02.020</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bib39"><label>39</label><?label 1?><mixed-citation>von Harten, J., de la Varga, M., Hillier, M., and Wellmann, F.: Informed
Local Smoothing in 3D Implicit Geological Modeling, Minerals, 11, 1281, <ext-link xlink:href="https://doi.org/10.3390/min11111281" ext-link-type="DOI">10.3390/min11111281</ext-link>, 2021.
</mixed-citation></ref><?xmltex \hack{\newpage}?>
      <ref id="bib1.bib40"><label>40</label><?label 1?><mixed-citation>Wahba, G. (Ed.): Spline models for observational data, Society for industrial and
applied mathematics, San Francisco, California, USA, <ext-link xlink:href="https://doi.org/10.1137/1.9781611970128" ext-link-type="DOI">10.1137/1.9781611970128</ext-link>, 1990.</mixed-citation></ref>
      <ref id="bib1.bib41"><label>41</label><?label 1?><mixed-citation>Walder, C., Schoelkopf, B., and Chapelle, O.: Implicit surface modelling
with a globally regularised basis of compact support, Comput. Graph.
Forum, 25, 635–644, <ext-link xlink:href="https://doi.org/10.1111/j.1467-8659.2006.00983.x" ext-link-type="DOI">10.1111/j.1467-8659.2006.00983.x</ext-link>, 2006.</mixed-citation></ref>
      <ref id="bib1.bib42"><label>42</label><?label 1?><mixed-citation>Wang, J., Zhao, H., Bi, L., and Wang, L.: Implicit 3D Modeling of Ore Body
from Geological Boreholes Data Using Hermite Radial Basis Functions,
Minerals, 8, 443, <ext-link xlink:href="https://doi.org/10.3390/min8100443" ext-link-type="DOI">10.3390/min8100443</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bib43"><label>43</label><?label 1?><mixed-citation>Wendland, H. (Ed.): Scattered Data Approximation, Cambridge Monographs on Applied
and Computational Mathematics, Cambridge University Press, Cambridge,
UK, <ext-link xlink:href="https://doi.org/10.1017/CBO9780511617539" ext-link-type="DOI">10.1017/CBO9780511617539</ext-link>, 2005.</mixed-citation></ref>
      <ref id="bib1.bib44"><label>44</label><?label 1?><mixed-citation>Zhang, B.: csugeo3d/AdaHRBF: AdaHRBF (AdaHRBF), Zenodo [code and data set], <ext-link xlink:href="https://doi.org/10.5281/zenodo.7340093" ext-link-type="DOI">10.5281/zenodo.7340093</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bib45"><label>45</label><?label 1?><mixed-citation>Zhong, D., Zhang, J., and Wang, L.: Fast Implicit Surface Reconstruction for
the Radial Basis Functions Interpolant, Appl. Sci., 9, 5335, <ext-link xlink:href="https://doi.org/10.3390/app9245335" ext-link-type="DOI">10.3390/app9245335</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bib46"><label>46</label><?label 1?><mixed-citation>Zhong, D.-Y., Wang, L.-G., and Wang, J.-M.: Combination Constraints of
Multiple Fields for Implicit Modeling of Ore Bodies, Appl. Sci., 11, 1321, <ext-link xlink:href="https://doi.org/10.3390/app11031321" ext-link-type="DOI">10.3390/app11031321</ext-link>, 2021.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html>AdaHRBF v1.0: gradient-adaptive Hermite–Birkhoff radial basis function interpolants for three-dimensional stratigraphic implicit modeling</article-title-html>
<abstract-html/>
<ref-html id="bib1.bib1"><label>1</label><mixed-citation>
      
Basson, I. J., Creus, P. K., Anthonissen, C. J., Stoch, B., and Ekkerd, J.:
Structural analysis and implicit 3D modelling of high-grade host rocks to
the Venetia kimberlite diatremes, Central Zone, Limpopo Belt, South Africa,
J. Struct. Geol., 86, 47-61, <a href="https://doi.org/10.1016/j.jsg.2016.03.002" target="_blank">https://doi.org/10.1016/j.jsg.2016.03.002</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>2</label><mixed-citation>
      
Basson, I. J., Anthonissen, C. J., McCall, M. J., Stoch, B., Britz, J.,
Deacon, J., Strydom, M., Cloete, E., Botha, J., Bester, M., and Nel, D.:
Ore-structure relationships at Sishen Mine, Northern Cape, Republic of South
Africa, based on fully-constrained implicit 3D modelling, Ore Geol.
Rev., 86, 825–838, <a href="https://doi.org/10.1016/j.oregeorev.2017.04.007" target="_blank">https://doi.org/10.1016/j.oregeorev.2017.04.007</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>3</label><mixed-citation>
      
Bezdek, J. C. and Hathaway, R. J.: Some notes on alternating optimization,
5th International Conference on Asian Fuzzy Systems Society, AFSS 2002,
3–6 February 2002, Calcutta, India, 288–300, <a href="https://doi.org/10.1007/3-540-45631-7_39" target="_blank">https://doi.org/10.1007/3-540-45631-7_39</a>, 2002.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>4</label><mixed-citation>
      
Calcagno, P., Chilès, J. P., Courrioux, G., and Guillen, A.: Geological
modelling from field data and geological knowledge: Part I. Modelling method
coupling 3D potential-field interpolation and geological rules, Phys. Earth Planet. In., 171, 147–157,
<a href="https://doi.org/10.1016/j.pepi.2008.06.013" target="_blank">https://doi.org/10.1016/j.pepi.2008.06.013</a>, 2008.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>5</label><mixed-citation>
      
Caumon, G., Gray, G., Antoine, C., and Titeux, M.-O.: Three-Dimensional
Implicit Stratigraphic Model Building From Remote Sensing Data on
Tetrahedral Meshes: Theory and Application to a Regional Model of La Popa
Basin, NE Mexico, IEEE T. Geosci. Remote, 51,
1613–1621, 2013.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>6</label><mixed-citation>
      
Cowan, E. J., Beatson, R. K., Ross, H. J., Fright, W. R., McLennan, T. J.,
Evans, T. R., Carr, J. C., Lane, R. G., Bright, D. V., Gillman, A. J.,
Oshust, P. A., and Titley, M.: Practical implicit geological modelling, 5th
International Mining Geology Conference, Bendigo,
Australia, 5 November 2003, WOS:0002384817000122003, 2003.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>7</label><mixed-citation>
      
Creus, P. K., Basson, I. J., Stoch, B., Mogorosi, O., Gabanakgosi, K.,
Ramsden, F., and Gaegopolwe, P.: Structural analysis and implicit 3D
modelling of Jwaneng Mine: Insights into deformation of the Transvaal
Supergroup in SE Botswana, J. Afr. Earth Sci., 137, 9–21, <a href="https://doi.org/10.1016/j.jafrearsci.2017.09.010" target="_blank">https://doi.org/10.1016/j.jafrearsci.2017.09.010</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>8</label><mixed-citation>
      
De Berg, M., Cheong, O., Van Kreveld, M., and Overmars, M. (Eds.): Computational
Geometry: Algorithms and Applications, 3rd edn., Springer, Heidelberg, <a href="https://doi.org/10.1007/978-3-540-77974-2" target="_blank">https://doi.org/10.1007/978-3-540-77974-2</a>,
Germany, 2008.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>9</label><mixed-citation>
      
de la Varga, M., Schaaf, A., and Wellmann, F.: GemPy 1.0: open-source stochastic geological modeling and inversion, Geosci. Model Dev., 12, 1–32, <a href="https://doi.org/10.5194/gmd-12-1-2019" target="_blank">https://doi.org/10.5194/gmd-12-1-2019</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>10</label><mixed-citation>
      
Frank, T., Tertois, A.-L., and Mallet, J.-L.: 3D-reconstruction of complex
geological interfaces from irregularly distributed and noisy point data,
Comput. Geosci., 33, 932–943, <a href="https://doi.org/10.1016/j.cageo.2006.11.014" target="_blank">https://doi.org/10.1016/j.cageo.2006.11.014</a>, 2007.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>11</label><mixed-citation>
      
Gonçalves, Í. G., Kumaira, S., and Guadagnin, F.: A machine learning
approach to the potential-field method for implicit modeling of geological
structures, Comput. Geosci., 103, 173–182, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>12</label><mixed-citation>
      
Grose, L., Laurent, G., Aillères, L., Armit, R., Jessell, M., and
Caumon, G.: Structural data constraints for implicit modeling of folds,
J. Struct. Geol., 104, 80–92, <a href="https://doi.org/10.1016/j.jsg.2017.09.013" target="_blank">https://doi.org/10.1016/j.jsg.2017.09.013</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>13</label><mixed-citation>
      
Grose, L., Ailleres, L., Laurent, G., Armit, R., and Jessell, M.: Inversion
of geological knowledge for fold geometry, J. Struct. Geol.,
119, 1–14, <a href="https://doi.org/10.1016/j.jsg.2018.11.010" target="_blank">https://doi.org/10.1016/j.jsg.2018.11.010</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>14</label><mixed-citation>
      
Grose, L., Ailleres, L., Laurent, G., Caumon, G., Jessell, M., and Armit, R.: Modelling of faults in LoopStructural 1.0, Geosci. Model Dev., 14, 6197–6213, <a href="https://doi.org/10.5194/gmd-14-6197-2021" target="_blank">https://doi.org/10.5194/gmd-14-6197-2021</a>, 2021a.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib15"><label>15</label><mixed-citation>
      
Grose, L., Ailleres, L., Laurent, G., and Jessell, M.: LoopStructural 1.0: time-aware geological modelling, Geosci. Model Dev., 14, 3915–3937, <a href="https://doi.org/10.5194/gmd-14-3915-2021" target="_blank">https://doi.org/10.5194/gmd-14-3915-2021</a>, 2021b.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib16"><label>16</label><mixed-citation>
      
Guo, J., Wu, L., Zhou, W., Jiang, J., and Li, C.: Towards automatic and
topologically consistent 3D regional geological modeling from boundaries and
attitudes, ISPRS Int. J. Geo-Inf., 5, 17, <a href="https://doi.org/10.3390/ijgi5020017" target="_blank">https://doi.org/10.3390/ijgi5020017</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib17"><label>17</label><mixed-citation>
      
Guo, J., Wu, L., Zhou, W., Li, C., and Li, F.: Section-constrained local
geological interface dynamic updating method based on the HRBF surface,
J. Struct. Geol., 107, 64–72, <a href="https://doi.org/10.1016/j.jsg.2017.11.017" target="_blank">https://doi.org/10.1016/j.jsg.2017.11.017</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib18"><label>18</label><mixed-citation>
      
Guo, J., Wang, J., Wu, L., Liu, C., Li, C., Li, F., Lin, M., Jessell, M. W.,
Li, P., Dai, X., and Tang, J.: Explicit-implicit-integrated 3-D geological
modelling approach: A case study of the Xianyan Demolition Volcano (Fujian,
China), Tectonophysics, 795, 228648, <a href="https://doi.org/10.1016/j.tecto.2020.228648" target="_blank">https://doi.org/10.1016/j.tecto.2020.228648</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib19"><label>19</label><mixed-citation>
      
Guo, J., Wang, X., Wang, J., Dai, X., Wu, L., Li, C., Li, F., Liu, S., and
Jessell, M. W.: Three-dimensional geological modeling and spatial analysis
from geotechnical borehole data using an implicit surface and marching
tetrahedra algorithm, Eng. Geol., 284, 0013-7952, <a href="https://doi.org/10.1016/j.enggeo.2021.106047" target="_blank">https://doi.org/10.1016/j.enggeo.2021.106047</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib20"><label>20</label><mixed-citation>
      
Hassen, I., Gibson, H., Hamzaoui-Azaza, F., Negro, F., Rachid, K., and
Bouhlila, R.: 3D geological modeling of the Kasserine Aquifer System,
Central Tunisia: New insights into aquifer-geometry and interconnections for
a better assessment of groundwater resources, J. Hydrol., 539,
223–236, <a href="https://doi.org/10.1016/j.jhydrol.2016.05.034" target="_blank">https://doi.org/10.1016/j.jhydrol.2016.05.034</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib21"><label>21</label><mixed-citation>
      
Hillier, M., de Kemp, E., and Schetselaar, E.: 3D form line construction by
structural field interpolation (SFI) of geologic strike and dip
observations, J. Struct. Geol., 51, 167–179, 2013.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib22"><label>22</label><mixed-citation>
      
Hillier, M., Kemp, E. D., and Schetselaar, E.: Implicitly modelled
stratigraphic surfaces using generalized interpolation, AIP Conf.
Proc., 1738, 050004, <a href="https://doi.org/10.1063/1.4951819" target="_blank">https://doi.org/10.1063/1.4951819</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib23"><label>23</label><mixed-citation>
      
Hillier, M. J., Schetselaar, E. M., de Kemp, E. A., and Perron, G.:
Three-Dimensional Modelling of Geological Surfaces Using Generalized
Interpolation with Radial Basis Functions, Math. Geosci., 46,
931–953, <a href="https://doi.org/10.1007/s11004-014-9540-3" target="_blank">https://doi.org/10.1007/s11004-014-9540-3</a>, 2014.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib24"><label>24</label><mixed-citation>
      
Houlding, S. W. (Ed.): 3D Geoscience Modeling: Computer Techniques for Geological
Characterization, Springer-Verlag, Berlin, <a href="https://doi.org/10.1007/978-3-642-79012-6" target="_blank">https://doi.org/10.1007/978-3-642-79012-6</a>, 1994.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib25"><label>25</label><mixed-citation>
      
Irakarama, M., Laurent, G., Renaudeau, J., and Caumon, G.: Finite Difference
Implicit Structural Modeling of Geological Structures, Math. Geosci., 53, 785–808, <a href="https://doi.org/10.1007/s11004-020-09887-w" target="_blank">https://doi.org/10.1007/s11004-020-09887-w</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib26"><label>26</label><mixed-citation>
      
Jessell, M., Aillères, L., De Kemp, E., Lindsay, M., Wellmann, J.,
Hillier, M., Laurent, G., Carmichael, T., and Martin, R.: Next generation
three-dimensional geologic modeling and inversion, Soc. Econ.
Geol. Spec. P., 18, 261–272, 2014.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib27"><label>27</label><mixed-citation>
      
Lajaunie, C., Courrioux, G., and Manuel, L.: Foliation fields and 3D
cartography in geology: Principles of a method based on potential
interpolation, Math. Geol., 29, 571–584,
<a href="https://doi.org/10.1007/BF02775087" target="_blank">https://doi.org/10.1007/BF02775087</a>, 1997.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib28"><label>28</label><mixed-citation>
      
Laurent, G.: Iterative Thickness Regularization of Stratigraphic Layers in
Discrete Implicit Modeling, Math. Geosci., 48, 811–833, <a href="https://doi.org/10.1007/s11004-016-9637-y" target="_blank">https://doi.org/10.1007/s11004-016-9637-y</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib29"><label>29</label><mixed-citation>
      
Laurent, G., Ailleres, L., Grose, L., Caumon, G., Jessell, M., and Armit,
R.: Implicit modeling of folds and overprinting deformation, Earth
Planet. Sc. Lett., 456, 26–38, <a href="https://doi.org/10.1016/j.epsl.2016.09.040" target="_blank">https://doi.org/10.1016/j.epsl.2016.09.040</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib30"><label>30</label><mixed-citation>
      
Lindsay, M. D., Aillères, L., Jessell, M. W., de Kemp, E. A., and Betts,
P. G.: Locating and quantifying geological uncertainty in three-dimensional
models: Analysis of the Gippsland Basin, southeastern Australia,
Tectonophysics, 546–547, 10–27, <a href="https://doi.org/10.1016/j.tecto.2012.04.007" target="_blank">https://doi.org/10.1016/j.tecto.2012.04.007</a>, 2012.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib31"><label>31</label><mixed-citation>
      
Macedo, I., Gois, J. P., and Velho, L.: Hermite Radial Basis Functions
Implicits, Computer Graphics Forum, 30, 27–42, <a href="https://doi.org/10.1111/j.1467-8659.2010.01785.x" target="_blank">https://doi.org/10.1111/j.1467-8659.2010.01785.x</a>, 2011.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib32"><label>32</label><mixed-citation>
      
Mallet, J.-L. (Ed.): Geomodeling, Oxford University Press, New York, ISBN 978-0-19-514460-4, 2002.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib33"><label>33</label><mixed-citation>
      
Mallet, J.-L.: Space-time mathematical framework for sedimentary geology,
Math. Geol., 36, 1–32, 2004.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib34"><label>34</label><mixed-citation>
      
Martin, R. and Boisvert, J. B.: Iterative refinement of implicit boundary
models for improved geological feature reproduction, Comput.
Geosci., 109, 1–15, <a href="https://doi.org/10.1016/j.cageo.2017.07.003" target="_blank">https://doi.org/10.1016/j.cageo.2017.07.003</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib35"><label>35</label><mixed-citation>
      
Rasmussen, C. E. and Williams, C. K. I.: Gaussian Processes for Machine
Learning, The MIT Press, Cambridge, Massachusetts, USA,
<a href="https://doi.org/10.1142/S0129065704001899" target="_blank">https://doi.org/10.1142/S0129065704001899</a>, 2006.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib36"><label>36</label><mixed-citation>
      
Renaudeau, J., Malvesin, E., Maerten, F., and Caumon, G.: Implicit
Structural Modeling by Minimization of the Bending Energy with Moving Least
Squares Functions, Math. Geosci., 51, 693–724, <a href="https://doi.org/10.1007/s11004-019-09789-6" target="_blank">https://doi.org/10.1007/s11004-019-09789-6</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib37"><label>37</label><mixed-citation>
      
Stoch, B., Basson, I. J., and Miller, J. A.: Implicit Geomodelling of the
Merensky and UG2 Reefs of the Bushveld Complex from Open-Source Data:
Implications for the Complex's Structural History, Minerals, 10, 975, <a href="https://doi.org/10.3390/min10110975" target="_blank">https://doi.org/10.3390/min10110975</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib38"><label>38</label><mixed-citation>
      
Vollgger, S. A., Cruden, A. R., Ailleres, L., and Cowan, E. J.: Regional
dome evolution and its control on ore-grade distribution: Insights from 3D
implicit modelling of the Navachab gold deposit, Namibia, Ore Geol.
Rev., 69, 268–284, <a href="https://doi.org/10.1016/j.oregeorev.2015.02.020" target="_blank">https://doi.org/10.1016/j.oregeorev.2015.02.020</a>, 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib39"><label>39</label><mixed-citation>
      
von Harten, J., de la Varga, M., Hillier, M., and Wellmann, F.: Informed
Local Smoothing in 3D Implicit Geological Modeling, Minerals, 11, 1281, <a href="https://doi.org/10.3390/min11111281" target="_blank">https://doi.org/10.3390/min11111281</a>, 2021.


    </mixed-citation></ref-html>
<ref-html id="bib1.bib40"><label>40</label><mixed-citation>
      
Wahba, G. (Ed.): Spline models for observational data, Society for industrial and
applied mathematics, San Francisco, California, USA, <a href="https://doi.org/10.1137/1.9781611970128" target="_blank">https://doi.org/10.1137/1.9781611970128</a>, 1990.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib41"><label>41</label><mixed-citation>
      
Walder, C., Schoelkopf, B., and Chapelle, O.: Implicit surface modelling
with a globally regularised basis of compact support, Comput. Graph.
Forum, 25, 635–644, <a href="https://doi.org/10.1111/j.1467-8659.2006.00983.x" target="_blank">https://doi.org/10.1111/j.1467-8659.2006.00983.x</a>, 2006.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib42"><label>42</label><mixed-citation>
      
Wang, J., Zhao, H., Bi, L., and Wang, L.: Implicit 3D Modeling of Ore Body
from Geological Boreholes Data Using Hermite Radial Basis Functions,
Minerals, 8, 443, <a href="https://doi.org/10.3390/min8100443" target="_blank">https://doi.org/10.3390/min8100443</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib43"><label>43</label><mixed-citation>
      
Wendland, H. (Ed.): Scattered Data Approximation, Cambridge Monographs on Applied
and Computational Mathematics, Cambridge University Press, Cambridge,
UK, <a href="https://doi.org/10.1017/CBO9780511617539" target="_blank">https://doi.org/10.1017/CBO9780511617539</a>, 2005.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib44"><label>44</label><mixed-citation>
      
Zhang, B.: csugeo3d/AdaHRBF: AdaHRBF (AdaHRBF), Zenodo [code and data set], <a href="https://doi.org/10.5281/zenodo.7340093" target="_blank">https://doi.org/10.5281/zenodo.7340093</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib45"><label>45</label><mixed-citation>
      
Zhong, D., Zhang, J., and Wang, L.: Fast Implicit Surface Reconstruction for
the Radial Basis Functions Interpolant, Appl. Sci., 9, 5335, <a href="https://doi.org/10.3390/app9245335" target="_blank">https://doi.org/10.3390/app9245335</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib46"><label>46</label><mixed-citation>
      
Zhong, D.-Y., Wang, L.-G., and Wang, J.-M.: Combination Constraints of
Multiple Fields for Implicit Modeling of Ore Bodies, Appl. Sci., 11, 1321, <a href="https://doi.org/10.3390/app11031321" target="_blank">https://doi.org/10.3390/app11031321</a>, 2021.

    </mixed-citation></ref-html>--></article>
