<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.0 20120330//EN" "JATS-journalpublishing1.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">INFORMATICA</journal-id>
<journal-title-group><journal-title>Informatica</journal-title></journal-title-group>
<issn pub-type="epub">1822-8844</issn><issn pub-type="ppub">0868-4952</issn><issn-l>0868-4952</issn-l>
<publisher>
<publisher-name>Vilnius University</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">INFOR571</article-id>
<article-id pub-id-type="doi">10.15388/24-INFOR571</article-id>
<article-categories><subj-group subj-group-type="heading">
<subject>Research Article</subject></subj-group></article-categories>
<title-group>
<article-title>A Novel Radial Basis Function Description of a Smooth Implicit Surface for Musculoskeletal Modelling</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<contrib-id contrib-id-type="orcid">https://orcid.org/0000-0001-9625-1872</contrib-id>
<name><surname>Cervenka</surname><given-names>Martin</given-names></name><email xlink:href="cervemar@kiv.zcu.cz">cervemar@kiv.zcu.cz</email><xref ref-type="aff" rid="j_infor571_aff_001">1</xref><xref ref-type="corresp" rid="cor1">∗</xref><bio>
<p><bold>M. Červenka</bold> is a computer science doctoral student at West Bohemia University, Pilsen, Czech Republic. He earned his master’s in computer science from West Bohemia University, Pilsen, Czech Republic, in 2019. During this period, his research focused on muscle modelling approaches, radial basis function interpolation, and approximation techniques. He is affiliated with West Bohemia University and continues to be deeply engaged in applying radial basis functions in muscle modelling.</p></bio>
</contrib>
<contrib contrib-type="author">
<contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-3231-2573</contrib-id>
<name><surname>Kohout</surname><given-names>Josef</given-names></name><xref ref-type="aff" rid="j_infor571_aff_001">1</xref><bio>
<p><bold>J. Kohout</bold> is an associate professor in computer science at West Bohemia University, Pilsen, Czech Republic. His expertise lies in the field of computer graphics and medical informatics. He possesses a skill set encompassing mesh processing, data visualisation, scientific visualisation, medical image processing, simulation, and more. Currently, his research is focused on diverse muscle modelling methodologies.</p></bio>
</contrib>
<contrib contrib-type="author">
<contrib-id contrib-id-type="orcid">https://orcid.org/0000-0001-6529-4263</contrib-id>
<name><surname>Lipus</surname><given-names>Bogdan</given-names></name><xref ref-type="aff" rid="j_infor571_aff_002">2</xref><bio>
<p><bold>B. Lipuš</bold> is an assistant professor at the Faculty of Electrical Engineering and Computer Sciences, University of Maribor. Currently, he is a member of the Laboratory for Geospatial Modelling, Multimedia and Artificial Intelligence. His research interests include lidar data processing, remote sensing, data compression, computer graphics, computer-aided geometric design, and image reconstruction.</p></bio>
</contrib>
<aff id="j_infor571_aff_001"><label>1</label>Department of Computer Science and Engineering, Faculty of Applied Sciences, Technicka 8, 301 00 Pilsen, <institution>University of West Bohemia</institution>, <country>Czech Republic</country></aff>
<aff id="j_infor571_aff_002"><label>2</label>Faculty of Electrical Engineering and Computer Science, Koroska Cesta 46, SI-2000 Maribor, <institution>University of Maribor</institution>, <country>Slovenia</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>∗</label>Corresponding author.</corresp>
</author-notes>
<pub-date pub-type="ppub"><year>2024</year></pub-date><pub-date pub-type="epub"><day>16</day><month>10</month><year>2024</year></pub-date><volume>35</volume><issue>4</issue><fpage>721</fpage><lpage>750</lpage><history><date date-type="received"><month>6</month><year>2024</year></date><date date-type="accepted"><month>9</month><year>2024</year></date></history>
<permissions><copyright-statement>© 2024 Vilnius University</copyright-statement><copyright-year>2024</copyright-year>
<license license-type="open-access" xlink:href="http://creativecommons.org/licenses/by/4.0/">
<license-p>Open access article under the <ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/4.0/">CC BY</ext-link> license.</license-p></license></permissions>
<abstract>
<p>As musculoskeletal illnesses continue to increase, practical computerised muscle modelling is crucial. This paper addresses this concern by proposing a mathematical model for a dynamic 3D geometrical surface representation of muscles using a Radial Basis Function (RBF) approximation technique. The objective is to obtain a smoother surface while minimising data use, contrasting it from classical polygonal (e.g. triangular) surface mesh models or volumetric (e.g. tetrahedral) mesh models. The paper uses RBF implicit surface description to describe static surface generation and dynamic surface deformations based on its spatial curvature preservation during the deformation. The novel method is tested on multiple data sets, and the experiments show promising results according to the introduced metrics.</p>
</abstract>
<kwd-group>
<label>Key words</label>
<kwd>radial basis function</kwd>
<kwd>muscle model</kwd>
<kwd>gradient descent</kwd>
<kwd>curvature</kwd>
<kwd>mean curvature</kwd>
<kwd>Gaussian RBF</kwd>
</kwd-group>
<funding-group><funding-statement>This research was supported by the Czech Science Foundation, project number 23-04622L, by the Slovene Research Agency under Research Project J2-4458 and Research Programme P2-0041 and by the Ministry of Education, Youth and Sports of the Czech Republic, project SGS-2022-015.</funding-statement></funding-group>
</article-meta>
</front>
<body>
<sec id="j_infor571_s_001">
<label>1</label>
<title>Introduction</title>
<p>Computerised muscle modelling garners increasing attention with the rising prevalence of musculoskeletal illnesses (Cieza <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor571_ref_008">2020</xref>). As of the latest Scopus index, 31 papers on “musculoskeletal illnesses” out of 102 were published after 2020. On the term “musculoskeletal modelling”, there are over one-third of papers published after 2020 compared to the total. This fast development in the field signifies that musculoskeletal modelling approaches play a significant role in musculoskeletal illness treatment. This paper aims to contribute significantly to the field by proposing a new mathematical muscle description. To provide context, we begin with a brief overview of the evolution of critical contributions.</p>
<p>Muscle modelling has a rich history, with Hill (<xref ref-type="bibr" rid="j_infor571_ref_018">1938</xref>) presenting the first formal mathematical representation, a three-element model for muscle fibre. As technology advanced, the need for precision led to the development of more intricate models. Initially, fibres were individually represented, as seen, e.g. in the alpine skiing context (Heinrich <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor571_ref_017">2023</xref>). Subsequently, a “Via-points approach” emerged, linking multiple fibres in series, e.g. in shoulder muscle modelling (Abderrazak and Benabid, <xref ref-type="bibr" rid="j_infor571_ref_001">2022</xref>).</p>
<p>While these methods often operate in one dimension, moving to higher dimensions, especially in 2D space, evolved crucial because the 1D model cannot accurately define the original shape, producing errors up to 75% (Valente <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor571_ref_046">2012</xref>). Employing 2D space allows the description of muscles using surfaces, a more intuitive technique for reflecting external structures. This paper focuses mainly on 2D models, as detailed in Section <xref rid="j_infor571_s_002">2</xref>.</p>
<p>The open, ultimate problem is developing an accurate, simple, fast, and smooth musculoskeletal model using the least possible parameters. All of the state-of-the-art methods lack one or the other or give some compromises.</p>
<p>The paper primarily emphasises a detailed description of two-dimensional techniques, allowing faster calculations while keeping the ability to infer internal muscle composition. Two main objectives include achieving more immediate model deformation with fewer updated parameters and data reduction. The goal is achieved using a mathematically described RBF implicit surface geometric model, providing infinitely differentiable smooth surfaces and using fewer parameters than the “traditional” triangular mesh approaches.</p>
<p>The contribution of this paper lies not just in the overall RBF model but also in a novel metric to determine the approximation accuracy presented. This metric can also be used in different research fields where two surfaces must be compared. The RBF solver is another contribution, and its usage can also be extended to applications where some smooth objects (without sharp edges) need to be approximated, such as fluid dynamics, aerodynamics, computer graphics and more.</p>
<p>Section <xref rid="j_infor571_s_002">2</xref> describes various models already used for muscle modelling, followed by Section <xref rid="j_infor571_s_009">3</xref>, including the description of RBF in general and muscle modelling. Section <xref rid="j_infor571_s_012">4</xref> then describes the paper’s contribution to static and dynamic models. Finally, in Section <xref rid="j_infor571_s_020">5</xref>, experiments prove the model works as expected in theory.</p>
</sec>
<sec id="j_infor571_s_002">
<label>2</label>
<title>Related Methods</title>
<p>Having established the theoretical background, we now advance to a detailed investigation of some techniques relative to muscle modelling.</p>
<p>The origin of a musculoskeletal model is deeply rooted in empirical data. The primary raw materials for these models are medical scans, such as Magnetic Resonance Imaging and Computed Tomography screenings, originating from living subjects and cadavers. Recently, the processing has evolved, transitioning from semi-automatic to fully automatic techniques. This progression involves the segmentation of images, a critical step where the relevant structures, such as bones, joints and muscles, are isolated and extracted from the rest of the image.</p>
<sec id="j_infor571_s_003">
<label>2.1</label>
<title>Bones and Joints</title>
<p>Following segmentation, surface models of bones are created. This process is not just about assembling a skeletal structure; it involves the intricate specification of joints, setting constraints on the degrees of freedom within these joints. Here, e.g. the STAPLE algorithm by Modenese and Renault (<xref ref-type="bibr" rid="j_infor571_ref_031">2021</xref>) can significantly automate and streamline the process.</p>
<p>Triangular meshes are the most common way to approximate bone surfaces by connecting triangles to define the object’s overall shape. The methodology for obtaining a triangular muscle model from a person entails a comprehensive process that begins with acquiring high-resolution, segmented medical images, commonly from MRI or CT scans. These images provide a detailed view of the bones (and surrounding tissues). The next step involves the extraction of a triangular mesh from these segmented images, a task typically accomplished using algorithms such as Marching Cubes (Lorensen and Cline, <xref ref-type="bibr" rid="j_infor571_ref_028">1987</xref>) or Marching Triangles (Hilton <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor571_ref_019">1996</xref>). These algorithms traverse the voxel grid of the images, forming vertices, edges, and faces that approximate the bone surface, effectively converting the 2D segmented images into a 3D surface representation.</p>
<p>Following the initial mesh extraction, the mesh undergoes a series of refinement procedures to enhance its quality and anatomical accuracy. These procedures include the removal of non-manifold vertices and edges to eliminate anomalies that do not adhere to the criteria of a well-defined surface. Concurrently, any gaps or holes in the mesh are meticulously filled to ensure continuity of the bone surface, a critical step for maintaining anatomical fidelity. The mesh is further refined by optimising the shapes of the triangles to more accurately align with the bone’s contours and by reducing the mesh to lower its complexity while keeping the model’s overall shape and intricate details.</p>
<p>Additionally, Laplacian smoothing is applied to the mesh. This process adjusts the position of each vertex based on the average of its neighbouring vertices, effectively smoothing out irregularities and noise, resulting in a uniform and more realistic representation of the bone. The refined mesh is then rigorously reviewed and compared against the original segmented images by medical professionals to validate its accuracy, ensuring the model precisely mirrors the anatomical structure.</p>
<p>While the forces used on bones during the movement can induce deformations, these deformations are generally so minute that, for practical purposes, they can be disregarded. This assumption yields the bones as rigid bodies in motion. This assumption is in contrast to the muscle-tendon units.</p>
</sec>
<sec id="j_infor571_s_004">
<label>2.2</label>
<title>Muscles and Tendons</title>
<p>Joint data about the muscles and tendons (together form muscle-tendon units – MTU) is acquired because it is difficult to distinguish the muscle and the tendon apart from the imaging; otherwise, the data can be obtained in the same fashion as in the case of bones. However, the problem is that these tissues are less visible in the imaging. Fortunately, the segmentation can also be automated, but more complex strategies are required, with machine learning methods emerging as promising approaches (Goyanes <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor571_ref_013">2024</xref>). Despite their potential, these techniques have yet to become a staple in routine practice, and semi-automatic approaches are used instead.</p>
<p>If the deformation is discussed, muscles behave differently than bone structures; they exhibit elastic deformations, presenting a significant challenge in modelling their behaviour accurately to the known movement of bones. Various models attempt to address this, often employing many oversimplifications.</p>
<p>Also, in the real-world scenario, muscle deformation results from the contraction or relaxation of muscle fibres, driven by the sliding of actin and myosin filaments within muscle fibres. This contraction leads to changes in muscle shape, causing deformation. In inverse kinematics, muscle deformation is pretended to be caused by adjacent bone movement, posing the challenge of figuring out the shape of unknown parts of the muscle model. If we do not consider measurements of the physiological signals (e.g. electromyography), it is required to perform the inverse kinematics because the bone displacements are known; however, the shape of the muscles during the movement is not (due to the problematic data acquisition).</p>
<p>The first models created were one-dimensional and were formed by a straight line, polyline, or curve and their multiples.</p>
<sec id="j_infor571_s_005">
<label>2.2.1</label>
<title>1D Models</title>
<p>The simplest models might represent a muscle as a straight line connecting two points on different bones, blatantly ignoring any potential intersection with the bone itself. This approach relies heavily on the assumption that the attachment points are accurately chosen (Kohout and Cervenka, <xref ref-type="bibr" rid="j_infor571_ref_025">2022</xref>). A slight improvement to this model is to replace the straight line with a polyline or a curve that either passes through predetermined points relative to a bone or traces the surface of a parametric body, aiming to minimise the curve length. However, fine-tuning these models to mirror reality is arduous (Hájková and Kohout, <xref ref-type="bibr" rid="j_infor571_ref_014">2014</xref>).</p>
<p>It’s also imperative to represent muscles not just as mere lines or curves but as substantial higher-dimensional models (Kedadria <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor571_ref_023">2023</xref>) to enhance the realism of musculoskeletal models.</p>
</sec>
<sec id="j_infor571_s_006">
<label>2.2.2</label>
<title>3D Models</title>
<p>Geometrical 3D models have been explored, utilising the fact that a large set of muscle fibres creates the muscle. Modelling approaches using mass-spring systems (Janák and Kohout, <xref ref-type="bibr" rid="j_infor571_ref_020">2014</xref>) and the finite element (FE) method are currently gaining prominence (Delp and Blemker, <xref ref-type="bibr" rid="j_infor571_ref_010">2005</xref>). The FE method, utilising a template of internal structure projected onto the surface shape, proves superior accuracy. The main issue of those methods is their large number of parameters, which need to be figured out, and their computational complexity. Therefore, this paper concentrates more on the two-dimensional (surface) models instead, which is a reasonable compromise between a simple but inaccurate 1D modelling and 3D accurate but too complex 3D modelling (Macklin <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor571_ref_029">2016</xref>).</p>
</sec>
<sec id="j_infor571_s_007">
<label>2.2.3</label>
<title>Discrete 2D Models</title>
<p>Despite muscles lying in the 3D space, modelling them in lower dimensions is viable. Straight lines or polylines can be employed in one dimension but inaccurately. In two dimensions, already obtained triangular surfaces are limited in the original object description but can be accurate enough. Each “well-behaved” 3D surface model constructed by a single component manifold can be parameterised in two dimensions or described utilising a 2D representation.</p>
<p>In the case of model dynamics, numerous approaches have been developed, primarily working directly on the triangular meshes that have already been obtained. Here, we provide a brief overview of the most significant ones.</p>
<p><italic>Position-Based Dynamics.</italic>  Position-based dynamics, introduced by Müller <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor571_ref_032">2007</xref>), is a rapid technique widely utilised in the animation industry for simulating deformations of elastic objects. Initially created for generic shapes, the method inputs a smooth manifold surface mesh and generates its deformed counterpart.</p>
<p>An extended version, XPBD (Macklin <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor571_ref_029">2016</xref>), introduces the concept of elastic potential energy, removing the need to determine time steps and iteration counts. XPBD has been applied to muscle modelling challenges by Romeo <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor571_ref_037">2018</xref>), who addressed limitations regarding convergence speed, setup simplicity, intuitive controls, and artistic control. They constructed an internal structure inside the surface mesh, accounting for muscle anisotropy. However, the approach lacked attention to collision detection and resolution, later addressed by Cervenka <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor571_ref_007">2023</xref>).</p>
<p>In 2019, Angles <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor571_ref_003">2019</xref>) introduced an XPBD-based method for muscle modelling, virtually decomposing the muscle into flexible “rods” approximating muscle fibres. These rods adjust their diameter to maintain volume, enabling real-time simulation. The main issue is the same: the problem of muscle-bone penetration is not adequately addressed or apparent in the paper or its supplementary material.</p>
<p><italic>As-Rigid-as-Possible Surface Modelling.</italic>  The as-rigid-as-possible approach (ARAP), developed by Sorkine and Alexa (<xref ref-type="bibr" rid="j_infor571_ref_043">2007</xref>), is a technique for determining minimal non-rigid transformations in a surface mesh. Unlike the method by Kellnhofer and Kohout (<xref ref-type="bibr" rid="j_infor571_ref_024">2012</xref>), which involves volume constraints and an internal skeleton, “it distinguishes itself by not requiring an internal structure”. Fasser <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor571_ref_012">2021</xref>) applied ARAP in a medical context to morph the template of a pelvic bone onto subject-specific landmarks, though overlooking certain critical features like volume preservation. Wang <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor571_ref_047">2021</xref>) investigated ARAP but chose not to use it due to non-smooth shapes and spikes in results. ARAP has also found application in time-varying meshes by Dvořák <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor571_ref_011">2021</xref>).</p>
<p>ARAP minimises shape deformation by discouraging non-rigid transformation via a cost function. Mathematically, this is characterised as the search for a solution to a nonhomogeneous system of linear equations. The matrix corresponds to the discrete Laplace operator of the mesh, while the right-hand side vector encompasses the second differences of each vertex concerning its neighbours.</p>
<p>The main drawback of ARAP and similar approaches lies in recalculating each mesh parameter in every iteration, proving time-consuming for fine triangular meshes. Also, the triangular mesh has the smoothness issue mentioned before. Therefore, a continuous 2D model better approximates smoothness and is better suited for the deformation approaches.</p>
</sec>
<sec id="j_infor571_s_008">
<label>2.2.4</label>
<title>Continuous 2D Models</title>
<p>The Non-Uniform Rational Basis Spline (NURBS) is an interpolation and approximation method (Nie <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor571_ref_034">2022</xref>) describing a surface via a set of B-spline curves. NURBS is useful for interactive applications, offering higher smoothness than triangular meshes, allowing intuitive deformation of specific parts of the geometrical model (see, e.g. Clapés <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor571_ref_009">2008</xref> or Sánchez-Reyes and Chacón, <xref ref-type="bibr" rid="j_infor571_ref_044">2020</xref>). For muscle modelling, the NURBS is not required to form a structure as triangular meshes when creating the data and then approximate those data, meaning that after applying the Marching Cubes or Triangles step, the vertices will not be connected by triangles but rather by individual NURBS patches and the smoothness is accomplished automatically. Also, if a part of the segmentation is missing, the NURBS techniques can restore those parts more precisely than in the triangular mesh case.</p>
<p>D-NURBS (Terzopoulos and Qin, <xref ref-type="bibr" rid="j_infor571_ref_045">1994</xref>) (Dynamic-NURBS) can be used for dynamics. It extends the NURBS approach by incorporating physical phenomena for more intuitive interactive shape deformation relevant to various purposes such as high-resolution digital terrain (Ye <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor571_ref_049">2020</xref>), virtual reality (Lavoie <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor571_ref_026">2006</xref>), or CAD applications (Zhang and Qin, <xref ref-type="bibr" rid="j_infor571_ref_050">2001</xref>).</p>
<p>Ni <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor571_ref_033">2023</xref>) used D-NURBS for muscle shape parametrisation and deformation. They achieved satisfactory results by defining muscle shape with a set of neighbouring 2D NURBS plates, reaching a mean square difference of approximately 1.5 mm and a maximum volume error of 0.75%.</p>
<p>While these approaches offer valuable insights, a common challenge is recalculating every parameter in each iteration, which can be time-consuming. Also, the neighbourhood of vertices needs to be defined for all the techniques mentioned.</p>
</sec>
</sec>
</sec>
<sec id="j_infor571_s_009">
<label>3</label>
<title>Radial Basis Functions</title>
<p>Even the previously described NURBS techniques require some relations between the vertices (neighbourhood), but Radial Basis Function (RBF) techniques do not require that knowledge. The task of estimating and fitting scattered data is widespread across various fields of engineering and scientific research. To list only a limited subset of the RBF usage possibilities, Zhang <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor571_ref_051">2022</xref>) shows its usability for better predicting the subcellular location of long non-coding RNA. Oliver and Webster (<xref ref-type="bibr" rid="j_infor571_ref_035">1990</xref>) demonstrates this by applying the kriging method for interpolating geographical data, while Kaymaz (<xref ref-type="bibr" rid="j_infor571_ref_022">2005</xref>) demonstrate its effectiveness in solving issues related to structural reliability. The process has further applications in simulation, e.g. in Sakata <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor571_ref_038">2004</xref>)’s study on wing structures or Joseph <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor571_ref_021">2008</xref>)’s development of metamodels. RBF techniques address partial differential equations, especially in engineering.</p>
<p>The RBF method was presented by Hardy (<xref ref-type="bibr" rid="j_infor571_ref_016">1971</xref>) and improved by him (Hardy, <xref ref-type="bibr" rid="j_infor571_ref_015">1990</xref>) later. Majdisova and Skala (<xref ref-type="bibr" rid="j_infor571_ref_030">2017</xref>) have offered different strategies for RBF positioning. Significant studies have been conducted in terms of ‘shape parameters’ in RBF approaches, including, e.g. search for optimal settings by Wang <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor571_ref_047">2021</xref>), investigations by Afiatdoust and Esmaeilbeigi (<xref ref-type="bibr" rid="j_infor571_ref_002">2015</xref>), and research into varying local shape parameters methods by Cohen <italic>et al.</italic>, Sarra <italic>et al.</italic>, and Skala <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor571_ref_042">2020</xref>).</p>
<p>The radial basis function approach uses “centre points” instead of surface vertices, serving as descriptors for spatial function locations. Unlike NURBS, modifying a single RBF centre location can affect the entire surface because of its “blending” behaviour with other RBFs nearby, propagating recursively throughout the volume. To address the RBF placement possibilities, Majdisova and Skala (<xref ref-type="bibr" rid="j_infor571_ref_030">2017</xref>) conducted a comparative study of various RBF placement strategies, showing that uniformly sampled input functions tend to lead to ill-conditioned RBF equation systems. They seek the solution by proposing a quasi-random sampling, such as the Halton distribution. Alternative methods have also been suggested, such as regularisation by Orr (<xref ref-type="bibr" rid="j_infor571_ref_036">1995</xref>) and enhancements close to function boundaries by Wright (<xref ref-type="bibr" rid="j_infor571_ref_048">2003</xref>).</p>
<p>The RBF approach offers advantages over triangular mesh representations of muscle surfaces, including:</p>
<list>
<list-item id="j_infor571_li_001">
<label>•</label>
<p>There is no need to define the connectivity between control points.</p>
</list-item>
<list-item id="j_infor571_li_002">
<label>•</label>
<p>RBFs can generate <inline-formula id="j_infor571_ineq_001"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${C^{n}}$]]></tex-math></alternatives></inline-formula>-smooth surfaces, with the user-defined required degree of smoothness denoted by <italic>n</italic>.</p>
</list-item>
<list-item id="j_infor571_li_003">
<label>•</label>
<p>RBF may use fewer parameters compared to triangular meshes in general.</p>
</list-item>
<list-item id="j_infor571_li_004">
<label>•</label>
<p>Deforming a muscle may involve changing only a portion of the parametric space while maintaining smoothness.</p>
</list-item>
</list>
<p>For each application, the correct RBF must be chosen first to reach desirable properties and satisfactory results. Two global RBFs are commonly considered: the Gaussian RBF or thin-plate spline (TPS). The Gaussian RBF is defined as <inline-formula id="j_infor571_ineq_002"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mi mathvariant="italic">r</mml:mi>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${e^{-\alpha r}}$]]></tex-math></alternatives></inline-formula>, and TPS as <inline-formula id="j_infor571_ineq_003"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo movablelimits="false">log</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo movablelimits="false">log</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${r^{2}}\log r=\frac{1}{2}{r^{2}}\log {r^{2}}$]]></tex-math></alternatives></inline-formula>. The decision of which one to use cannot be made by the differentiability criterion (because both are infinitely differentiable). The Gaussian can also be adjusted using the shape parameter; however, TPS (in its original form) cannot. There are also other options for global RBFs (such as in Skala and Cervenka, <xref ref-type="bibr" rid="j_infor571_ref_041">2019</xref>) to consider; however, Gaussian RBF and TPS provide stability and a good understanding of their behaviour and are already the most analysed by others.</p>
<sec id="j_infor571_s_010">
<label>3.1</label>
<title>Mathematical Description</title>
<p>A single RBF is a mathematical function defined solely by the distance from a designated point, denoted as the centre. Mathematically, it can be expressed as <inline-formula id="j_infor571_ineq_004"><alternatives><mml:math>
<mml:mi mathvariant="italic">φ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo stretchy="false">‖</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">‖</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\varphi (\| {\mathbf{x}_{i}}-{\boldsymbol{\xi }_{j}}\| )$]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_infor571_ineq_005"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\boldsymbol{\xi }_{j}}$]]></tex-math></alternatives></inline-formula> represents the centre point’s coordinates, and <inline-formula id="j_infor571_ineq_006"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathbf{x}_{i}}$]]></tex-math></alternatives></inline-formula> is an arbitrary independent point.</p>
<p>The expression of RBF approximation, defining the function value at any specific input points, is as follows: 
<disp-formula id="j_infor571_eq_001">
<label>(1)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">h</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="italic">φ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ h({\mathbf{x}_{i}})={\sum \limits_{j=1}^{N}}{\lambda _{j}}\varphi ({r_{ij}}).\]]]></tex-math></alternatives>
</disp-formula> 
Here, the approximation <italic>h</italic> at the location of <inline-formula id="j_infor571_ineq_007"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathbf{x}_{i}}$]]></tex-math></alternatives></inline-formula> is described by <inline-formula id="j_infor571_ineq_008"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">‖</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">‖</mml:mo></mml:math><tex-math><![CDATA[${r_{ij}}=\| {\mathbf{x}_{i}}-{\boldsymbol{\xi }_{j}}\| $]]></tex-math></alternatives></inline-formula> the distance between the input point <inline-formula id="j_infor571_ineq_009"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathbf{x}_{i}}$]]></tex-math></alternatives></inline-formula> and the centre point <inline-formula id="j_infor571_ineq_010"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\boldsymbol{\xi }_{j}}$]]></tex-math></alternatives></inline-formula>; and <inline-formula id="j_infor571_ineq_011"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">λ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\boldsymbol{\lambda }_{j}}$]]></tex-math></alternatives></inline-formula> is the weight of a single RBF <italic>φ</italic>, which can be, e.g. already discussed Gaussian RBF or TPS. The equation (<xref rid="j_infor571_eq_001">1</xref>) can be formulated in a matrix form, resulting in a square matrix <bold>A</bold> within the system of linear equations. A simple example of RBF approximating a function can be seen in Zhao and San (<xref ref-type="bibr" rid="j_infor571_ref_052">2011</xref>).</p>
<p>The idea can be extended using polynomial conditions, which can improve accuracy. The extended system of equations, considering these conditions, is expressed as: 
<disp-formula id="j_infor571_eq_002">
<label>(2)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mfenced separators="" open="[" close="]">
<mml:mrow>
<mml:mtable columnspacing="4.0pt" equalrows="false" columnlines="none" equalcolumns="false" columnalign="center center">
<mml:mtr>
<mml:mtd class="array">
<mml:mi mathvariant="bold">A</mml:mi>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mi mathvariant="bold">P</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn mathvariant="bold">0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mfenced separators="" open="[" close="]">
<mml:mrow>
<mml:mtable equalrows="false" equalcolumns="false" columnalign="left">
<mml:mtr>
<mml:mtd class="array">
<mml:mi mathvariant="bold-italic">λ</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo>=</mml:mo>
<mml:mfenced separators="" open="[" close="]">
<mml:mrow>
<mml:mtable equalrows="false" equalcolumns="false" columnalign="left">
<mml:mtr>
<mml:mtd class="array">
<mml:mi mathvariant="bold">h</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:mn mathvariant="bold">0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \left[\begin{array}{c@{\hskip4.0pt}c}\mathbf{A}\hspace{1em}& \mathbf{P}\\ {} {\mathbf{P}^{T}}\hspace{1em}& \mathbf{0}\end{array}\right]\left[\begin{array}{l}\boldsymbol{\lambda }\\ {} \mathbf{a}\end{array}\right]=\left[\begin{array}{l}\mathbf{h}\\ {} \mathbf{0}\end{array}\right].\]]]></tex-math></alternatives>
</disp-formula> 
Here, <bold>P</bold> are the polynomial conditions, <inline-formula id="j_infor571_ineq_012"><alternatives><mml:math>
<mml:mi mathvariant="bold-italic">λ</mml:mi></mml:math><tex-math><![CDATA[$\boldsymbol{\lambda }$]]></tex-math></alternatives></inline-formula> represents RBF weights, Big <bold>A</bold> is the RBF matrix without the polynomial constraints, small <bold>a</bold> contains resulting coefficients of the polynomial, and <bold>h</bold> encompasses values at the input points.</p>
<p>Suppose we disregard the polynomial conditions for a while. In that case, RBF approximation involves solving the equation (<xref rid="j_infor571_eq_001">1</xref>). The equation can also be described as an overdetermined system of linear equations <inline-formula id="j_infor571_ineq_013"><alternatives><mml:math>
<mml:mi mathvariant="bold">A</mml:mi>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="bold">b</mml:mi></mml:math><tex-math><![CDATA[$\mathbf{A}\mathbf{x}=\mathbf{b}$]]></tex-math></alternatives></inline-formula>, where <bold>A</bold> is a rectangular matrix, <bold>b</bold> and <bold>x</bold> are vectors, and the number of rows <italic>N</italic> is greater than the number of columns <italic>M</italic>.</p>
<p>The Ordinary Least Squares (OLS) method can choose weights <inline-formula id="j_infor571_ineq_014"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\lambda _{j}}$]]></tex-math></alternatives></inline-formula>, minimising mean square error (MSE). This involves computing weights utilising the inverse or pseudoinverse: <inline-formula id="j_infor571_ineq_015"><alternatives><mml:math>
<mml:mi mathvariant="bold-italic">λ</mml:mi>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold">A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold">A</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold">A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold">h</mml:mi></mml:math><tex-math><![CDATA[$\boldsymbol{\lambda }={({\mathbf{A}^{T}}\mathbf{A})^{-1}}{\mathbf{A}^{T}}\mathbf{h}$]]></tex-math></alternatives></inline-formula>. Although typically satisfactory, OLS can encounter stability problems, as noted by Skala (<xref ref-type="bibr" rid="j_infor571_ref_040">2017</xref>), which needs to be kept in mind while solving. It is often beneficial to even choose another solver instead. Furthermore, an issue when combining values of different units in the OLS method to solve the equation system with polynomial conditions emerges, which needs to be properly addressed (Skala, <xref ref-type="bibr" rid="j_infor571_ref_040">2017</xref>). The different units can be found in matrices <bold>A</bold> and <bold>P</bold>, see equation (<xref rid="j_infor571_eq_002">2</xref>).</p>
</sec>
<sec id="j_infor571_s_011">
<label>3.2</label>
<title>RBF for Muscle Modelling</title>
<p>Due to the often intricate shape of muscles/bones (e.g. with many triangles, quadrilaterals, etc.), approximating the muscle/bone rather than interpolating, is advantageous for subsequent calculations. When approximating, spatial placement of individual RBF is critical. A naive approach involves uniformly sampling the input shape (scalar distance field of the volumetric data or triangular mesh in the case of muscle modelling), but this may not adequately capture the muscle/bone underlying properties.</p>
<p>Even though utilising the polynomial conditions improves the outcomes and enhances the matrix conditionality in some cases, the presumption is that the input data behaves like the selected polynomial. However, this is not the case in muscle modelling, where the data’s overall shape resembles somewhat an ellipsoidal shape rather than a polynomial form, further diminishes the relevance of polynomial constraints, which will not be discussed further.</p>
</sec>
</sec>
<sec id="j_infor571_s_012">
<label>4</label>
<title>Novel RBF Mathematical Model</title>
<p>The number of parameters of the triangular mesh is often large. To address the issue of reducing parameters during deformation, a new mathematical model is proposed, encompassing both static muscle shape and its dynamic configuration during bone movement.</p>
<sec id="j_infor571_s_013">
<label>4.1</label>
<title>Geometrical Static Model</title>
<p>Even though the number of parameters will be reduced, many will still be present. Therefore, the extensive emerging RBF linear equation system would be ill-conditioned. The static model is constructed using a greedy approach, adding one RBF after another to solve the issue. In each iteration, the algorithm identifies the position and shape of a single RBF to minimise the approximation error effectively.</p>
<p>The objective is to minimise the squared error of the approximation to the original triangle mesh across all vertices throughout the bounded space <inline-formula id="j_infor571_ineq_016"><alternatives><mml:math>
<mml:mi mathvariant="normal">Ω</mml:mi>
<mml:mo stretchy="false">⊆</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[$\Omega \subseteq {\mathbb{R}^{d}}$]]></tex-math></alternatives></inline-formula>: 
<disp-formula id="j_infor571_eq_003">
<label>(3)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∫</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="normal">Ω</mml:mi>
</mml:mrow>
</mml:msub>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msubsup>
<mml:mrow>
<mml:mo fence="true" maxsize="2.45em" minsize="2.45em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="2.45em" minsize="2.45em" stretchy="true">|</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="italic">ϕ</mml:mi>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo stretchy="false">‖</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">‖</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" maxsize="2.45em" minsize="2.45em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="2.45em" minsize="2.45em" stretchy="true">|</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\int _{\mathbf{x}\in \Omega }}{\sum \limits_{j=1}^{k}}{\Bigg|\Bigg|{\sum \limits_{i=1}^{N}}{\lambda _{i}}\phi \big(\| \mathbf{x}-{\boldsymbol{\xi }_{i}}\| \big)-{\mathbf{v}_{j}}\Bigg|\Bigg|_{2}^{2}}d\mathbf{x}.\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>Here, <italic>N</italic> denotes the current number of employed RBFs, <italic>k</italic> is the number of vertices in the triangular meshes, <italic>d</italic> is the number of dimensions, and <inline-formula id="j_infor571_ineq_017"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathbf{v}_{j}}$]]></tex-math></alternatives></inline-formula> is the respective vertex. The notation <inline-formula id="j_infor571_ineq_018"><alternatives><mml:math>
<mml:mo stretchy="false">‖</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$\| \mathbf{x}{\| _{2}}$]]></tex-math></alternatives></inline-formula> represents the L2 norm of a vector <bold>x</bold>.</p>
<p>Creating the geometrical static model initiates the generation of a scalar distance field (SDF) on the triangular mesh. This field is later sampled using a (quasi-)random sampling method. Throughout the research, various distributions, including uniform, random uniform, Gaussian, and Halton, were tested. The findings indicated that the Halton distribution emerged as the most effective option, which is following other research (see, e.g. Majdisova and Skala, <xref ref-type="bibr" rid="j_infor571_ref_030">2017</xref>; Cervenka <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor571_ref_006">2019</xref>). The overall result of the model generation can be seen in Fig. <xref rid="j_infor571_fig_001">1</xref>.</p>
<fig id="j_infor571_fig_001">
<label>Fig. 1</label>
<caption>
<p>The geometrical static model depicts a gluteus maximus muscle. The red represents the original triangular mesh, while the blue represents its RBF approximation.</p>
</caption>
<graphic xlink:href="infor571_g001.jpg"/>
</fig>
<sec id="j_infor571_s_014">
<label>4.1.1</label>
<title>RBF Placement</title>
<p>In this study, we followed the placement of each RBF by Carr <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor571_ref_005">2001</xref>), placing centres at the three level-sets of the isosurface. However, in the case of muscle modelling, only a subset of the proposed set is required. This subset is determined through a straightforward trial-and-error method. It involves evaluating an objective function and dynamically minimising it. Therefore, this placement approach can be described as greedy. The process involves checking the objective function of each RBF for every vertex across all samples within the input space (the bounding box of a mesh), as well as for each predefined shape parameter (refer to Section <xref rid="j_infor571_s_015">4.1.2</xref> for more details).</p>
<p>Greedy placement is a sub-optimal approach because two independently and subsequently placed centres independently select a shape parameter for each RBF compared to two “cooperating” centres, which are not required to be optimal at the time of their selection. However, this approach avoids the stability issue by using an extensive system of linear equations as a solution.</p>
<p>The optimal position is for each centre selected, and the RBF function is subtracted from the volume bounded by, e.g. the AABB box and the process is iterated until either the allotted number of RBFs is utilised or the predetermined level of accuracy is achieved. This centre point distribution approach was designed to avoid the OLS stability issue altogether.</p>
</sec>
<sec id="j_infor571_s_015">
<label>4.1.2</label>
<title>Shape Parameter Selection</title>
<p>Choosing the radius of action, also called a shape parameter, is pivotal in achieving precise interpolation or approximation. While one option is to independently select a shape parameter for each RBF, this can lead to many stored parameters. On the other hand, determining an optimal global shape parameter for all RBFs leads to inaccuracies and using it as a compromise remains an open question. Different approaches have been suggested, such as those by Wang <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor571_ref_047">2021</xref>), Afiatdoust and Esmaeilbeigi (<xref ref-type="bibr" rid="j_infor571_ref_002">2015</xref>), and Sarra and Sturgill (<xref ref-type="bibr" rid="j_infor571_ref_039">2009</xref>). Still, they may not always identify the optimal shape parameter for each RBF. During testing, we discovered that the single global shape parameter is not exhaustive. Search from a limited list of possible shape parameters is suitable because the number of parameters is low. The condensed set of parameters reduces the storage capacity and computational complexity while searching for the most suitable one.</p>
</sec>
<sec id="j_infor571_s_016">
<label>4.1.3</label>
<title>Objective Functions</title>
<p>The task at hand for evaluating the placement of individual RBFs is to assess how accurately the placement represents the original shape. One possible metric for this assessment is the Jaccard index; the second is the mean square error.</p>
<p><italic>Jaccard Index.</italic>  The Jaccard index quantifies the disparity in volume<xref ref-type="fn" rid="j_infor571_fn_001">1</xref><fn id="j_infor571_fn_001"><label><sup>1</sup></label>
<p>Strictly speaking, it is a disparity between the area inside and outside both objects and the areas inside one object but outside the other.</p></fn> between two objects: the original mesh and the surface formed by RBF. It is mathematically defined as follows: 
<disp-formula id="j_infor571_eq_004">
<label>(4)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">J</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {J_{i}}=\frac{i}{u}=\frac{i}{i+d}.\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>In this context, <italic>i</italic> represents the intersection volume, <italic>u</italic> symbolises the union of both meshes and <italic>d</italic> represents the difference between both meshes. Calculating the exact volume of intersections can be complex so that a rough approximation might be a more practical choice. Rather than using volumes, the number of samples (using the already described Halton distribution) in each group can be used. A higher number of samples leads to more significant computational accuracy. It is worth noting that while the Jaccard index helps specify the difference between two shapes, it does not provide an understanding of how much is “inside” or “outside” something, which is a feature to consider.</p>
<p><italic>Mean Square Error.</italic>  The Mean Square Error (MSE) provides a more detailed insight into both muscles’ interior and exterior rather than a binary assessment. Calculating MSE requires knowledge of interior information. Interestingly, no additional information is necessary for the RBF representation, as it can be evaluated at any point within the volume. For the original surface mesh, interior information can be acquired using a scalar distance field (SDF) already obtained for its creation, allowing us to determine the distance of each vertex from the surface mesh.</p>
<p>The computation of the MSE objective function entails integrating the squared L2 norm across the subset Ω of the original space <inline-formula id="j_infor571_ineq_019"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathbb{R}_{d}}$]]></tex-math></alternatives></inline-formula> and can be expressed as: 
<disp-formula id="j_infor571_eq_005">
<label>(5)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∫</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">Ω</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">‖</mml:mo>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">h</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">‖</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {M_{se}}={\int _{\Omega }}\big\| s(\mathbf{x})-h({\mathbf{x}_{i}}){\big\| _{2}^{2}}d\mathbf{x}.\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>Here, the function <italic>s</italic> represents the Scalar Distance Field (SDF) constructed over the mesh, while <italic>h</italic> represents the sum of all currently utilised RBFs. When computed, a more efficient approach is subtracting each RBF from the function <italic>s</italic> and then calculating the updated <italic>s</italic> norm.</p>
<p>It’s important to note that these objective functions may encounter challenges when dealing with the translational motion of the shape. This paper assumes that the muscle movement occurs only in part of the muscle while the rest remains static (for instance, the muscle is attached to two bones, but only one moves). This assumption holds as long as the deformation of a muscle is done in the local scope, with one static and one moving bone (meaning both bones cannot translate together during deformation).</p>
<p>Delving further into the challenge of selecting the appropriate objective function, opting for the MSE tends to yield a smoother surface. At the same time, the Jaccard index aligns more closely with the original model at the expense of introducing a less smooth surface. Hence, a combination of both proves to be a favourable approach.</p>
</sec>
</sec>
<sec id="j_infor571_s_017">
<label>4.2</label>
<title>Metrics</title>
<p>The metric used to compare the original surface with a new one is a weighted sum between the Jaccard index and MSE. This metric is proposed because the smooth surface provided by MSE and the surface location accuracy provided by the Jaccard index are required. The weight <italic>σ</italic> is called a <italic>smoothness</italic> factor: 
<disp-formula id="j_infor571_eq_006">
<label>(6)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">σ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">J</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">σ</mml:mi><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mtext>max</mml:mtext>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {C_{m}}=(1-\sigma )(1-{J_{i}})+\sigma \frac{{M_{se}}}{\text{max}{M_{se}}}.\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>The equation calculates the final metric <inline-formula id="j_infor571_ineq_020"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${C_{m}}$]]></tex-math></alternatives></inline-formula> using the smoothness factor <italic>σ</italic>, Jaccard index <inline-formula id="j_infor571_ineq_021"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">J</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${J_{i}}$]]></tex-math></alternatives></inline-formula>, and MSE value denoted as <inline-formula id="j_infor571_ineq_022"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${M_{se}}$]]></tex-math></alternatives></inline-formula>. The Jaccard index is expressed as <inline-formula id="j_infor571_ineq_023"><alternatives><mml:math>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">J</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$1-{J_{i}}$]]></tex-math></alternatives></inline-formula> to penalise the lower Jaccard index more than the higher one. The MSE variable <inline-formula id="j_infor571_ineq_024"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${M_{se}}$]]></tex-math></alternatives></inline-formula> must also be normalised into zero to one interval, which is accomplished by dividing the MSE total value by the maximum one possible.</p>
<sec id="j_infor571_s_018">
<label>4.2.1</label>
<title>Regularisation</title>
<p>Regularisation optimises how the RBFs are placed, increasing the likelihood of placing RBF centres in a predefined position or formation. When forming the RBF surface, it may be advantageous to position RBFs within the muscle volume and less outside, resulting in a more accurate curvature field, including fewer local extrema near the surface. The central concept involves penalising the RBFs placed significantly outside the desired region more heavily than the others.</p>
<p>When utilising the Signed Distance Field (SDF), the sign indicates whether the target vertex is inside or outside. Let’s denote the signed distance as <inline-formula id="j_infor571_ineq_025"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${d_{{\mathbf{v}_{i}}}}$]]></tex-math></alternatives></inline-formula>. To obtain relative values rather than absolute distances, we can divide <inline-formula id="j_infor571_ineq_026"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${d_{v}}$]]></tex-math></alternatives></inline-formula> by the maximum possible distance <inline-formula id="j_infor571_ineq_027"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>max</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${d_{\text{max}}}$]]></tex-math></alternatives></inline-formula>. This yields <inline-formula id="j_infor571_ineq_028"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>max</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle></mml:math><tex-math><![CDATA[${r_{d}}=\frac{{d_{{\mathbf{v}_{i}}}}}{{d_{\text{max}}}}$]]></tex-math></alternatives></inline-formula>, which falls within the interval <inline-formula id="j_infor571_ineq_029"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo>−</mml:mo>
<mml:mi>∞</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(-\infty ,1)$]]></tex-math></alternatives></inline-formula>.</p>
<p>Additionally, to enable the use of wider RBFs (avoiding the potential replacement by less advantageous numerous RBFs with minimal overall influence), a similar penalisation for the RBF shape parameters can be implemented: <inline-formula id="j_infor571_ineq_030"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>max</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle></mml:math><tex-math><![CDATA[${r_{s}}=\frac{{\alpha _{i}}}{{\alpha _{\text{max}}}}$]]></tex-math></alternatives></inline-formula>. Since <inline-formula id="j_infor571_ineq_031"><alternatives><mml:math>
<mml:mo>∀</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">&gt;</mml:mo>
<mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[$\forall i,{\alpha _{i}}\gt 0$]]></tex-math></alternatives></inline-formula>, the <inline-formula id="j_infor571_ineq_032"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${r_{s}}$]]></tex-math></alternatives></inline-formula> value will fall within the interval of <inline-formula id="j_infor571_ineq_033"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(0,1)$]]></tex-math></alternatives></inline-formula>. The wider RBFs are then useful in forcing fewer parameters to move to deform the overall shape.</p>
<p>To summarise, the parameters for the following need to be determined. The regularisation factor <italic>γ</italic> represents the ratio of how much of the original cost function is employed. 
<disp-formula id="j_infor571_eq_007">
<label>(7)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">γ</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">γ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>max</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>max</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {C_{r}}=\gamma {C_{m}}+(1-\gamma )\frac{{d_{{\mathbf{v}_{i}}}}}{{d_{\text{max}}}}\frac{{\alpha _{i}}}{{\alpha _{\text{max}}}}.\]]]></tex-math></alternatives>
</disp-formula>
</p>
</sec>
</sec>
<sec id="j_infor571_s_019">
<label>4.3</label>
<title>Mathematical Dynamic Model</title>
<p>In our studied scenario, the bones undergo a rigid transformation in inverse kinematics, typically following the desired real-world movement. Subsequently, in an inverse manner, the shape of all the muscles related to the bone needs to be reconstructed. The portions of the muscle attached to the bones are mandated to move in conjunction with these bones, while the remaining parts of all muscles require reconstruction. In the following text, the muscle is meant to be the whole muscle-tendon unit to ensure that the “muscle” is correctly attached to a set of bones. Also, for the simplicity of the following text, just a singular muscle involved in deformation is considered.</p>
<p>The main idea of the novel dynamic model is to find a new shape according to the curvature of the original one, preserving its initial shape as much as possible. The mathematical description to maintain the initial shape as much as possible can be described in many ways. In the case of muscle modelling, the muscle’s initial curvature throughout the whole volume is a suitable shape descriptor. Mathematically speaking, we define the cost function as the total difference of the original (<inline-formula id="j_infor571_ineq_034"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>i</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\kappa _{\mu {f_{\text{i}}}}}$]]></tex-math></alternatives></inline-formula>) and current curvature (<inline-formula id="j_infor571_ineq_035"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\kappa _{\mu f}}$]]></tex-math></alternatives></inline-formula>) over the bounded space <inline-formula id="j_infor571_ineq_036"><alternatives><mml:math>
<mml:mi mathvariant="normal">Ω</mml:mi>
<mml:mo stretchy="false">⊆</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[$\Omega \subseteq {\mathbb{R}^{d}}$]]></tex-math></alternatives></inline-formula>, and we are looking to obtain its gradient: 
<disp-formula id="j_infor571_eq_008">
<label>(8)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∫</mml:mo></mml:mstyle>
<mml:mo>…</mml:mo><mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∫</mml:mo></mml:mstyle>
<mml:mo stretchy="false">‖</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>i</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>…</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∫</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">Ω</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">‖</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>i</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}{C_{f}}& =\int \dots \int \| {\kappa _{\mu f}}-{\kappa _{\mu {f_{\text{i}}}}}{\| _{2}^{2}}d{x_{1}}\dots d{x_{d}}={\int _{\Omega }}\| {\kappa _{\mu f}}-{\kappa _{\mu {f_{\text{i}}}}}{\| _{2}^{2}}d\mathbf{x}.\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>Then we use the definition of the 3D RBF approximation (and for the sake of simplicity, use <inline-formula id="j_infor571_ineq_037"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${g_{i}}$]]></tex-math></alternatives></inline-formula> as the individual weighted RBF): 
<disp-formula id="j_infor571_eq_009">
<label>(9)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mi mathvariant="italic">f</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="italic">ϕ</mml:mi>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo stretchy="false">‖</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">‖</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ f(\mathbf{x})={\sum \limits_{i=1}^{N}}{\lambda _{i}}\phi \big(\| \mathbf{x}-{\boldsymbol{\xi }_{\boldsymbol{i}}}\| \big)={\sum \limits_{i=1}^{N}}{g_{i}}(\mathbf{x}).\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>To calculate the curvature, we need to find the eigenvalues of the Hessian matrix of <italic>f</italic>, also the calculation of second partial derivatives of <italic>f</italic> is needed. From the Hessian matrix, all of the eigenvalues can be obtained.</p>
<p>For this paper, only global RBFs were considered at first due to their influence over the entire space, allowing the change of the whole model by altering fewer parameters. Moreover, for that purpose, the global Gaussian RBF is chosen for this paper due to its simplicity if differentiation is considered, which is beneficial when creating this dynamical model. If the Gaussian RBF is considered, then the mean of all of the eigenvalues can be calculated as: 
<disp-formula id="j_infor571_eq_010">
<label>(10)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mi mathvariant="bold">H</mml:mi>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mi mathvariant="italic">f</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">‖</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}& {\kappa _{\mu f}}={\kappa _{\mu }}\big(\mathbf{H}\big(f(\mathbf{x})\big)\big)=\frac{2}{d}{\sum \limits_{i=1}^{N}}{\alpha _{i}}{g_{i}}(\mathbf{x})\big(2{\alpha _{i}}\| \mathbf{x}-{\boldsymbol{\xi }_{\boldsymbol{i}}}{\| _{2}^{2}}-d\big).\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>Combining (<xref rid="j_infor571_eq_010">10</xref>) and the gradient of (<xref rid="j_infor571_eq_008">8</xref>), the complete cost function can be expressed as: 
<disp-formula id="j_infor571_eq_011">
<label>(11)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mo>∇</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">f</mml:mi>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mn>8</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:msub>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∫</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>i</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">‖</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \nabla {C_{fkj}}=\frac{8}{d}{\int _{{\mathbb{R}^{d}}}}({\kappa _{\mu f}}-{\kappa _{\mu {f_{\text{i}}}}}){\alpha _{k}^{2}}{g_{k}}(\mathbf{x})({x_{j}}-{\xi _{kj}})\big(2{\alpha _{k}}\| \mathbf{x}-{\boldsymbol{\xi }_{\mathbf{k}}}{\| _{2}^{2}}-2-d\big)d\mathbf{x}.\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>The calculation, including all the computational steps, can be found in Appendix <xref rid="j_infor571_app_003">C</xref>. The result implies that the direction of the gradient depends on the following factors:</p>
<list>
<list-item id="j_infor571_li_005">
<label>1.</label>
<p><inline-formula id="j_infor571_ineq_038"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>i</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$({\kappa _{\mu f}}-{\kappa _{\mu {f_{\text{i}}}}})$]]></tex-math></alternatives></inline-formula> – the direction of the gradient is influenced by the disparity between the original and new curvature across the entire interval. The more significant this difference, the larger the magnitude of the gradient.</p>
</list-item>
<list-item id="j_infor571_li_006">
<label>2.</label>
<p><inline-formula id="j_infor571_ineq_039"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${\alpha _{i}^{2}}$]]></tex-math></alternatives></inline-formula> – the shape parameter plays a crucial role. A broader function exerts a more significant influence on the gradient of the respective centre point <inline-formula id="j_infor571_ineq_040"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\xi _{kj}}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
<list-item id="j_infor571_li_007">
<label>3.</label>
<p><inline-formula id="j_infor571_ineq_041"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${g_{i}}(\mathbf{x})$]]></tex-math></alternatives></inline-formula> – naturally, the RBF itself plays a significant role.</p>
</list-item>
<list-item id="j_infor571_li_008">
<label>4.</label>
<p><inline-formula id="j_infor571_ineq_042"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$({x_{j}}-{\xi _{kj}})$]]></tex-math></alternatives></inline-formula> – as we integrate further from the centre point, its impact diminishes.</p>
</list-item>
<list-item id="j_infor571_li_009">
<label>5.</label>
<p><inline-formula id="j_infor571_ineq_043"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">‖</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(2{\alpha _{i}}\| \mathbf{x}-{\boldsymbol{\xi }_{i}}{\| _{2}^{2}}-2-d)$]]></tex-math></alternatives></inline-formula> – the distance of the current RBF to the integration variable is not just significant exponentially in <inline-formula id="j_infor571_ineq_044"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${g_{i}}$]]></tex-math></alternatives></inline-formula> (expressed in third point) but also linearly (subject to specific constant manipulations).</p>
</list-item>
</list>
<p>The new mathematical model for the RBF shape deformation defines where all centre points should be translated (in the direction specified by its gradient). At this point, we can, according to the broader shape parameters and larger weights, decide which RBFs are more significant and calculate the deformation more often. In contrast, the less critical parameters can be recalculated only a few times, which may reduce the computational complexity significantly.</p>
<p>It’s crucial to re-emphasise the centrality of our mathematical model in this study. Even though this paper does not adequately address any collision detection and response (CD/R) issues, similar techniques to Cani-Gascuel and Desbrun (<xref ref-type="bibr" rid="j_infor571_ref_004">1997</xref>) hierarchical CD/R can be used in the future. This section has encapsulated the theoretical and practical applications of radial basis functions in muscle modelling and illuminated the robustness and versatility of our mathematical approach. Through rigid exploration of complex mathematical concepts and their biomechanical applications, this research emphasises the potential for advanced modelling techniques in future studies, paving the way for groundbreaking innovations in biomechanics and beyond.</p>
</sec>
</sec>
<sec id="j_infor571_s_020">
<label>5</label>
<title>Experiments</title>
<p>The proposed approach has been tested to ensure its usefulness for musculoskeletal modelling. Here, we detail the critical experiments conducted to test the relevance and efficacy of the radial basis function approach in muscle modelling, concentrating on processes and their implications for our theoretical description.</p>
<p>The mathematical model of the curvatures can be evaluated using actual data from the gluteus maximus, gluteus medius, iliacus and adductor brevis muscles. The initial experiment will be conducted without regularisation, solely relying on the greedy placement approach.</p>
<sec id="j_infor571_s_021">
<label>5.1</label>
<title>Geometrical Static Model</title>
<p>Before we dive deeper into the muscle dynamics experiments, the first experiment shows the results of the static model. These experiments prove the correct centre placements.</p>
<fig id="j_infor571_fig_002">
<label>Fig. 2</label>
<caption>
<p>The original gluteus maximus muscle in red and its RBF counterpart in blue.</p>
</caption>
<graphic xlink:href="infor571_g002.jpg"/>
</fig>
<sec id="j_infor571_s_022">
<label>5.1.1</label>
<title>Greedy Centre Placement</title>
<p>Using a greedy approach, we employ a naive RBF placement strategy in the initial experiment. The results of such placement can be seen in Figs. <xref rid="j_infor571_fig_002">2</xref>, <xref rid="j_infor571_fig_003">3</xref>, <xref rid="j_infor571_fig_004">4</xref> and <xref rid="j_infor571_fig_005">5</xref>. While this approach is straightforward to implement and relatively fast in execution, as depicted in Fig. <xref rid="j_infor571_fig_011">11</xref>, it exhibits issues with numerous small (but still different in size) RBFs distributed across the entire space. The approach forms a complex curvature field with numerous potential local extrema. Additionally, the curvature outside the muscle boundaries (though barely visible in the image) is cluttered with unneeded curvature differences, further exacerbating the proliferation of local extrema. The problem is solved with regularisation, and the next section describes the experiment.</p>
<fig id="j_infor571_fig_003">
<label>Fig. 3</label>
<caption>
<p>The original gluteus medius muscle in red and its RBF counterpart in blue.</p>
</caption>
<graphic xlink:href="infor571_g003.jpg"/>
</fig>
<fig id="j_infor571_fig_004">
<label>Fig. 4</label>
<caption>
<p>The original iliacus muscle in red and its RBF counterpart in blue.</p>
</caption>
<graphic xlink:href="infor571_g004.jpg"/>
</fig>
<fig id="j_infor571_fig_005">
<label>Fig. 5</label>
<caption>
<p>The original adductor brevis muscle in red and its RBF counterpart in blue.</p>
</caption>
<graphic xlink:href="infor571_g005.jpg"/>
</fig>
</sec>
<sec id="j_infor571_s_023">
<label>5.1.2</label>
<title>Regularisation</title>
<p>By including the regularisation term, higher curvatures will be concentrated at the borders of the original triangular mesh. The regularisation creates more promising conditions for the gradient descent method to achieve a superior approximation of the muscle in motion, mitigating the problem of numerous local minima in the field. Three examples are presented here: one with a regularisation factor of 0.7, another with a factor of 0.3, and the last with a regularisation factor of 0.05. The outcomes can be observed in the Appendix <xref rid="j_infor571_app_001">A</xref> in Figs. <xref rid="j_infor571_fig_012">12</xref>, <xref rid="j_infor571_fig_013">13</xref>, and <xref rid="j_infor571_fig_014">14</xref>, respectively.</p>
</sec>
<sec id="j_infor571_s_024">
<label>5.1.3</label>
<title>Metrics</title>
<p>The weighted metrics (between the MSE and JI) have been tested with two weights (0.15 and 0.85) and on two different sample resolutions (10k and 100k vertices). The evaluation for the first hundred RBF centres is shown in Fig. <xref rid="j_infor571_fig_006">6</xref>, which describes the initial part of the metrics convergence.</p>
<fig id="j_infor571_fig_006">
<label>Fig. 6</label>
<caption>
<p>The metrics evaluation on gluteus maximus muscle up to 100 RBF centres, with different sampling density and smoothness weight.</p>
</caption>
<graphic xlink:href="infor571_g006.jpg"/>
</fig>
<fig id="j_infor571_fig_007">
<label>Fig. 7</label>
<caption>
<p>The metrics evaluation on gluteus maximus muscle, with different sampling density and smoothness weight.</p>
</caption>
<graphic xlink:href="infor571_g007.jpg"/>
</fig>
<p>One may tell from the results that both metrics converge similarly, and in the end, they tend to go to a fixed value. However, if you continue further, it will be evident that this is not the case because the penalisation of the Jaccard index holds near a fixed value. Still, after a while, it goes faster towards zero (on a non-logarithmic scale). The results for more (7000) centres are visualised in Fig. <xref rid="j_infor571_fig_007">7</xref>. The other takeaway is that the finer the sampling (green and black dotted curves), the longer it takes to lower the penalisation of the Jaccard index (red and blue). Also, the lower the smoothing factor (red and green), the higher the MSE (dashed lines), confirming that both metrics describe the shape difference significantly differently.</p>
</sec>
<sec id="j_infor571_s_025">
<label>5.1.4</label>
<title>Limitation</title>
<p>A well-known problem with the static surface RBF approximation is its ineffectiveness in accurately approximating sharp edges. This drawback is less critical in muscle modelling, as most soft tissues are relatively smooth and do not possess sharp edges, often resembling spherical shapes. However, this issue can be demonstrated using a simple 3D volumetric shape like a tetrahedron. A tetrahedron has six sharp edges (each with a dihedral angle exceeding 70 degrees) and four corners, which present significant challenges for RBF approximation.</p>
<p>The fundamental issue with RBFs is that each RBF inherently forms a spherical isosurface at a given value. To create a sharp corner would theoretically require an infinite number of infinitesimal RBFs. An example of attempting to develop an RBF static surface for a tetrahedron is shown in Fig. <xref rid="j_infor571_fig_008">8</xref>. Let’s also note that in the case of the tetrahedron and similar shapes, often no data reduction is achieved, but rather the opposite.</p>
<fig id="j_infor571_fig_008">
<label>Fig. 8</label>
<caption>
<p>An attempt to create an RBF surface for a tetrahedron demonstrates the unsuitability of RBF for approximating sharp edges. RBF is ineffective for shapes like a tetrahedron due to its inability to model the sharp edges accurately.</p>
</caption>
<graphic xlink:href="infor571_g008.jpg"/>
</fig>
</sec>
</sec>
<sec id="j_infor571_s_026">
<label>5.2</label>
<title>Deformation</title>
<p>Both options involving and neglecting the regularisation factor were tested. For testing, the centre points were shifted randomly, with a magnitude of 5% of the AABB box diagonal, and the expectation is that the centre points return to/near their initial positions. The successful experiment with regularisation is shown in Figs. <xref rid="j_infor571_fig_009">9</xref> and <xref rid="j_infor571_fig_010">10</xref> and the full results are visualised in the Appendix <xref rid="j_infor571_app_002">B</xref> in the respective figures. The experiments supported the idea of using regularisation to lower the number of local extrema for the gradient descent because it converges much closer to the original shape. The first experiment without the regularisation factor was only about 0.7% faster on the standard PC than the second one, which cannot be considered a statistical difference.</p>
<fig id="j_infor571_fig_009">
<label>Fig. 9</label>
<caption>
<p>The initialisation, where the randomly deformed green muscle should return to its initial shape in blue.</p>
</caption>
<graphic xlink:href="infor571_g009.jpg"/>
</fig>
<fig id="j_infor571_fig_010">
<label>Fig. 10</label>
<caption>
<p>The restoration copies the original blue shape with the green one, despite minor differences on the right side.</p>
</caption>
<graphic xlink:href="infor571_g010.jpg"/>
</fig>
</sec>
</sec>
<sec id="j_infor571_s_027">
<label>6</label>
<title>Conclusion &amp; Future Work</title>
<p>This paper shows a novel approach for modelling a surface with the radial basis function approach. The proposed method offers a way to model a static and dynamic muscle surface, altogether avoiding recalculating the geometrical model’s parameters to deform it. Even though there are some examples where the approach is not applicable (e.g. the tetrahedron), the suitability for the muscle reconstruction is apparent. Regularisation helps reduce the number of local extrema. However, it also reduces the resulting precision; luckily, a compromise can be reached using a suitable regularisation term selection.</p>
<p>A deformation methodology respecting muscle properties (muscle volume, shape preservation, and bone avoidance) is the most obvious candidate for future work. A good starting point seems to be the work from Cani-Gascuel and Desbrun (<xref ref-type="bibr" rid="j_infor571_ref_004">1997</xref>) describing the geometrical model deformation in general. However, their method uses the model generated by a skeleton, which is not reasonable for modelling a muscle shape, which would need an overcomplicated skeleton to be able to work. The following work and a great review from Lee <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor571_ref_027">2012</xref>) describe the possibilities of modelling muscle deformation using skeleton-generated implicit surfaces.</p>
<p>It is not just the novelty but also the oversight of the approach that is apparent; the metric discussed in the article extends beyond its use in muscle modelling or general modelling applications. It is versatile enough to be applied in any situation that requires the comparison of two surfaces. Similarly, the concept of regularisation, with its mathematical underpinnings suitable for RBF surface modelling, can be adapted for broader applications. Its fundamental principle of constraining centres to remain inside applies to more general contexts, such as clustering methodologies.</p>
</sec>
</body>
<back>
<app-group>
<app id="j_infor571_app_001"><label>A</label>
<title>Curvature Visualisations</title>
<fig id="j_infor571_fig_011">
<label>Fig. 11</label>
<caption>
<p>The curvature of the RBF surface of the gluteus maximus muscle is depicted in the image. The prominent centres of the RBFs are represented by green spheres in the space. The curvature values are displayed in a logarithmic scale, as the differences in curvature are not linear but rather exponential. This result stems from the same experiment shown in Fig. <xref rid="j_infor571_fig_001">1</xref>; it has been included here for easy comparison.</p>
</caption>
<graphic xlink:href="infor571_g011.jpg"/>
</fig> 
<fig id="j_infor571_fig_012">
<label>Fig. 12</label>
<caption>
<p>On the left, we have the curvature field, while on the right, we see the approximation result with a regularisation factor of 0.7. Although there is a preference for curvature fluctuation within the muscle, there is also substantial fluctuation outside. Decreasing the local minima outside the muscle volume results in a less precise approximation of the original red muscle to the blue one.</p>
</caption>
<graphic xlink:href="infor571_g012.jpg"/>
</fig> 
<fig id="j_infor571_fig_013">
<label>Fig. 13</label>
<caption>
<p>On the left, we have the curvature field, while on the right, we see the approximation result with a regularisation factor of 0.3. The fluctuation in the curvature field has been further reduced, but as a consequence, the resulting geometrical surface model has become more rough in texture.</p>
</caption>
<graphic xlink:href="infor571_g013.jpg"/>
</fig> 
<fig id="j_infor571_fig_014">
<label>Fig. 14</label>
<caption>
<p>The curvature field (on the left) and approximation result (on the right) with the regularisation factor of 0.05. While the fluctuation in the curvature field has been nearly eliminated, the roughness of the muscle surface has become quite pronounced.</p>
</caption>
<graphic xlink:href="infor571_g014.jpg"/>
</fig>
</app>
<app id="j_infor571_app_002"><label>B</label>
<title>Dynamic Restoration Visualisations</title>
<fig id="j_infor571_fig_015">
<label>Fig. 15</label>
<caption>
<p>The initialisation of the simulation without the regularisation factor, where the randomly deformed green muscle should return to its initial shape in blue.</p>
</caption>
<graphic xlink:href="infor571_g015.jpg"/>
</fig> 
<fig id="j_infor571_fig_016">
<label>Fig. 16</label>
<caption>
<p>The progress of the shape restoration. The green surface seems to diverge from the blue one due to omitting the regularisation factor.</p>
</caption>
<graphic xlink:href="infor571_g016.jpg"/>
</fig>
<fig id="j_infor571_fig_017">
<label>Fig. 17</label>
<caption>
<p>The final part of the shape restoration. The green shape found other local minima than the muscle’s blue (original) shape.</p>
</caption>
<graphic xlink:href="infor571_g017.jpg"/>
</fig>
<fig id="j_infor571_fig_018">
<label>Fig. 18</label>
<caption>
<p>The initialisation of the simulation with the regularisation factor, where the randomly deformed green muscle should return to its initial shape in blue.</p>
</caption>
<graphic xlink:href="infor571_g018.jpg"/>
</fig>
<fig id="j_infor571_fig_019">
<label>Fig. 19</label>
<caption>
<p>The green shape seems to converge to the blue shape. The main difference is the restored top part of the green shape.</p>
</caption>
<graphic xlink:href="infor571_g019.jpg"/>
</fig>
<fig id="j_infor571_fig_020">
<label>Fig. 20</label>
<caption>
<p>The final restoration. Excluding the minor differences in the right part of the muscle, the green shape quite accurately approximates the original blue one.</p>
</caption>
<graphic xlink:href="infor571_g020.jpg"/>
</fig>
</app>
<app id="j_infor571_app_003"><label>C</label>
<title>Mathematical Dynamic Model</title>
<p>Let us assume the function <italic>f</italic> to be a 3D radial basis function approximation: 
<disp-formula id="j_infor571_eq_012">
<label>(12)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mi mathvariant="italic">f</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>=</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="italic">ϕ</mml:mi>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo stretchy="false">‖</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">‖</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}f(\mathbf{x})& ={\sum \limits_{i=1}^{N}}{\lambda _{i}}\phi \big(\| \mathbf{x}-{\boldsymbol{\xi }_{\boldsymbol{i}}}\| \big).\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>Let’s assume that Gaussian Radial Basis Functions (RBFs) are utilised exclusively. Additionally, we can define <inline-formula id="j_infor571_ineq_045"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${g_{i}}(\mathbf{x})$]]></tex-math></alternatives></inline-formula> as a replacement for the <italic>i</italic>th RBF to streamline subsequent derivations. 
<disp-formula id="j_infor571_eq_013">
<label>(13)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mi mathvariant="italic">f</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>=</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo stretchy="false">‖</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}f(\mathbf{x})& ={\sum \limits_{i=1}^{N}}{\lambda _{i}}{e^{-\alpha \| \mathbf{x}-{\boldsymbol{\xi }_{\boldsymbol{i}}}{\| _{2}^{2}}}}={\sum \limits_{i=1}^{N}}{g_{i}}(\mathbf{x}).\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>The shape of the geometrical model can be well described using its curvature. To compute the curvature, we need to determine the Hessian matrix, consisting of the second partial derivatives with respect to the function <italic>f</italic>. Therefore, the initial step involves finding the gradient of the function <italic>f</italic> in an <italic>n</italic>-dimensional space: 
<disp-formula id="j_infor571_eq_014">
<label>(14)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mo>∇</mml:mo>
<mml:mi mathvariant="italic">f</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>=</mml:mo>
<mml:mo fence="true" maxsize="2.03em" minsize="2.03em">[</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal">,</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal">,</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo fence="true" maxsize="2.03em" minsize="2.03em">]</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}\nabla f(\mathbf{x})& =\bigg[\frac{\partial f}{\partial {x_{1}}},\frac{\partial f}{\partial {x_{2}}},\frac{\partial f}{\partial {x_{3}}},\dots \bigg].\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>By employing the chain rule, where the expression <inline-formula id="j_infor571_ineq_046"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$({x_{j}}-{\xi _{ij}})$]]></tex-math></alternatives></inline-formula> originates from the exponent of the exponential function <italic>f</italic>, along with the shape parameter <italic>α</italic> and the constant value of <inline-formula id="j_infor571_ineq_047"><alternatives><mml:math>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn></mml:math><tex-math><![CDATA[$-2$]]></tex-math></alternatives></inline-formula>, the resultant gradient takes the following form: 
<disp-formula id="j_infor571_eq_015">
<label>(15)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mo>∇</mml:mo>
<mml:mi mathvariant="italic">f</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}\nabla f(\mathbf{x})& =-2{\sum \limits_{i=1}^{N}}{\alpha _{i}}{g_{i}}(\mathbf{x})[{x_{1}}-{\xi _{i1}},{x_{2}}-{\xi _{i2}},{x_{3}}-{\xi _{i3}},\dots ].\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>We will now construct the Hessian matrix, which will be used to calculate the curvature. As previously mentioned, its computation relies on knowing the second partial derivatives. In an <italic>n</italic>D space, it is defined as follows: 
<disp-formula id="j_infor571_eq_016">
<label>(16)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mi mathvariant="bold">H</mml:mi>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mi mathvariant="italic">f</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>=</mml:mo>
<mml:mfenced separators="" open="[" close="]">
<mml:mrow>
<mml:mtable columnspacing="4.0pt 4.0pt 4.0pt" equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" columnalign="center center center center">
<mml:mtr>
<mml:mtd class="array">
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>∂</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
</mml:mtd>
<mml:mtd class="array">
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>∂</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
</mml:mtd>
<mml:mtd class="array">
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>∂</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
</mml:mtd>
<mml:mtd class="array">
<mml:mo>…</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>∂</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
</mml:mtd>
<mml:mtd class="array">
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>∂</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
</mml:mtd>
<mml:mtd class="array">
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>∂</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
</mml:mtd>
<mml:mtd class="array">
<mml:mo>…</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>∂</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
</mml:mtd>
<mml:mtd class="array">
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>∂</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
</mml:mtd>
<mml:mtd class="array">
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>∂</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
</mml:mtd>
<mml:mtd class="array">
<mml:mo>…</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:mo>⋮</mml:mo>
</mml:mtd>
<mml:mtd class="array">
<mml:mo>⋮</mml:mo>
</mml:mtd>
<mml:mtd class="array">
<mml:mo>⋮</mml:mo>
</mml:mtd>
<mml:mtd class="array">
<mml:mo stretchy="false">⋱</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}\mathbf{H}\big(f(\mathbf{x})\big)& =\left[\begin{array}{c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c}\frac{{\partial ^{2}}f}{\partial {x_{1}^{2}}}& \frac{{\partial ^{2}}f}{\partial {x_{1}}\partial {x_{2}}}& \frac{{\partial ^{2}}f}{\partial {x_{1}}\partial {x_{3}}}& \dots \\ {} \frac{{\partial ^{2}}f}{\partial {x_{2}}\partial {x_{1}}}& \frac{{\partial ^{2}}f}{\partial {x_{2}^{2}}}& \frac{{\partial ^{2}}f}{\partial {x_{2}}\partial {x_{3}}}& \dots \\ {} \frac{{\partial ^{2}}f}{\partial {x_{3}}\partial {x_{1}}}& \frac{{\partial ^{2}}f}{\partial {x_{3}}\partial {x_{2}}}& \frac{{\partial ^{2}}f}{\partial {x_{3}^{2}}}& \dots \\ {} \vdots & \vdots & \vdots & \ddots \end{array}\right].\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>To compute the second partial derivatives, we rely on the gradient of a function <italic>f</italic>. For instance, the second partial derivatives with respect to <inline-formula id="j_infor571_ineq_048"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${x^{2}}$]]></tex-math></alternatives></inline-formula> can be expressed as follows: 
<disp-formula id="j_infor571_eq_017">
<label>(17)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>∂</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal" fence="true" maxsize="2.45em" minsize="2.45em">(</mml:mo>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="2.45em" minsize="2.45em">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}\frac{{\partial ^{2}}f}{\partial {x_{j}^{2}}}& =\frac{\partial f}{\partial {x_{j}}}\Bigg(-2{\sum \limits_{i=1}^{N}}{\alpha _{i}}{g_{i}}(\mathbf{x})({x_{j}}-{\xi _{ij}})\Bigg).\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>Applying the product and chain rules, the second partial derivative with respect to <inline-formula id="j_infor571_ineq_049"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${x^{2}}$]]></tex-math></alternatives></inline-formula> takes the form of the following expression. The derivation is performed similarly to the first derivative, which has already been carried out above in (<xref rid="j_infor571_eq_015">15</xref>). 
<disp-formula id="j_infor571_eq_018">
<label>(18)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>∂</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}\frac{{\partial ^{2}}f}{\partial {x_{j}^{2}}}& =2{\sum \limits_{i=1}^{N}}{\alpha _{i}}\big[2{\alpha _{i}}{({x_{j}}-{\xi _{ij}})^{2}}-1\big]{g_{i}}(\mathbf{x}).\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>The calculation of the mixed second partial derivatives is performed similarly to before. Upon examining the outcome in (<xref rid="j_infor571_eq_019">19</xref>), it becomes apparent that there is a resemblance between the mixed partial derivatives and those involving the same variables. The mixed ones are not scaled by <inline-formula id="j_infor571_ineq_050"><alternatives><mml:math>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$2{\alpha _{i}}$]]></tex-math></alternatives></inline-formula> and do not undergo a subtraction of 1 from them; otherwise, the remaining operations are identical in both cases. 
<disp-formula id="j_infor571_eq_019">
<label>(19)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>∂</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mn>2</mml:mn>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}\frac{{\partial ^{2}}f}{\partial {x_{j}}\partial {x_{k}}}& =2{\sum \limits_{i=1}^{N}}2{\alpha _{i}^{2}}({x_{j}}-{\xi _{ij}})({x_{k}}-{\xi _{ik}}){g_{i}}(\mathbf{x}).\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>The Hessian matrix can be populated with the second partial derivatives. Both sets of second partial derivatives involve multiplication by the distances from the centre point in their respective directions. This process can be encapsulated using an outer product. The value of <inline-formula id="j_infor571_ineq_051"><alternatives><mml:math>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$-1$]]></tex-math></alternatives></inline-formula> from the pure partial derivatives will transform into the identity matrix with dimensions <inline-formula id="j_infor571_ineq_052"><alternatives><mml:math>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo>×</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi></mml:math><tex-math><![CDATA[$d\times d$]]></tex-math></alternatives></inline-formula>, where <italic>d</italic> denotes the problem’s dimensionality (which is 3 in our case). 
<disp-formula id="j_infor571_eq_020">
<label>(20)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mi mathvariant="bold">H</mml:mi>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mi mathvariant="italic">f</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>−</mml:mo><mml:mstyle mathvariant="bold">
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub></mml:mstyle>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}\mathbf{H}\big(f(\mathbf{x})\big)& =2{\sum \limits_{i=1}^{N}}{\alpha _{i}}{g_{i}}(\mathbf{x})\big(2{\alpha _{i}}(\mathbf{x}-{\boldsymbol{\xi }_{\boldsymbol{i}}}){(\mathbf{x}-{\boldsymbol{\xi }_{\boldsymbol{i}}})^{T}}-\mathbf{{I_{d}}}\big).\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</p>
<sec id="j_infor571_s_028">
<label>C.1</label>
<title>Mean Curvature</title>
<p>For curvature calculation, one option is to employ the mean curvature, which is defined as the average of all the eigenvalues <inline-formula id="j_infor571_ineq_053"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\lambda _{i}}$]]></tex-math></alternatives></inline-formula> of a Hessian matrix: 
<disp-formula id="j_infor571_eq_021">
<label>(21)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">H</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\kappa _{\mu }}(\mathbf{H})=\frac{1}{d}{\sum \limits_{i=1}^{d}}{\lambda _{i}}.\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>There are zero eigenvalues with the multiplicity of <inline-formula id="j_infor571_ineq_054"><alternatives><mml:math>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$d-1$]]></tex-math></alternatives></inline-formula> and one with a value of <inline-formula id="j_infor571_ineq_055"><alternatives><mml:math>
<mml:mo stretchy="false">‖</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[$\| \mathbf{x}-{\boldsymbol{\xi }_{i}}{\| ^{2}}$]]></tex-math></alternatives></inline-formula>. The result aligns with the intuition, as zero eigenvalues correspond to eigenvectors perpendicular to the hypersphere isosurface at each point. In contrast, the sole non-zero eigenvalue pertains to the eigenvector tangent to them, pointing from the RBF centre outward. When calculated over the outer product of a vector with itself, the coefficient <inline-formula id="j_infor571_ineq_056"><alternatives><mml:math>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">α</mml:mi></mml:math><tex-math><![CDATA[$2\alpha $]]></tex-math></alternatives></inline-formula> and identity matrix <inline-formula id="j_infor571_ineq_057"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathbf{I}_{d}}$]]></tex-math></alternatives></inline-formula> transform the eigenvalues to <inline-formula id="j_infor571_ineq_058"><alternatives><mml:math>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$-1$]]></tex-math></alternatives></inline-formula>, with a multiplicity of <inline-formula id="j_infor571_ineq_059"><alternatives><mml:math>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$d-1$]]></tex-math></alternatives></inline-formula>, and the final eigenvalue becomes <inline-formula id="j_infor571_ineq_060"><alternatives><mml:math>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo stretchy="false">‖</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$2\alpha \| \mathbf{x}-{\boldsymbol{\xi }_{i}}{\| ^{2}}-1$]]></tex-math></alternatives></inline-formula>. 
<disp-formula id="j_infor571_eq_022">
<label>(22)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mi mathvariant="bold">H</mml:mi>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mi mathvariant="italic">f</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">‖</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}{\kappa _{\mu }}\big(\mathbf{H}\big(f(\mathbf{x})\big)\big)={\kappa _{\mu f}}& =\frac{2}{d}{\sum \limits_{i=1}^{N}}{\alpha _{i}}{g_{i}}(\mathbf{x})\big(2{\alpha _{i}}\| \mathbf{x}-{\boldsymbol{\xi }_{\boldsymbol{i}}}{\| _{2}^{2}}-d\big).\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>The subsequent step involves specifying the cost function, which is essentially the squared L2 norm between the new and original curvatures across the subspace <inline-formula id="j_infor571_ineq_061"><alternatives><mml:math>
<mml:mi mathvariant="normal">Ω</mml:mi>
<mml:mo stretchy="false">⊆</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[$\Omega \subseteq {\mathbb{R}^{d}}$]]></tex-math></alternatives></inline-formula>: 
<disp-formula id="j_infor571_eq_023">
<label>(23)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∫</mml:mo></mml:mstyle>
<mml:mo>…</mml:mo><mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∫</mml:mo></mml:mstyle>
<mml:mo stretchy="false">‖</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>i</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>…</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∫</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">Ω</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">‖</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>i</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}{C_{f}}=\int \dots \int \| {\kappa _{\mu f}}-{\kappa _{\mu {f_{\text{i}}}}}{\| _{2}^{2}}d{x_{1}}\dots d{x_{d}}& ={\int _{\Omega }}\| {\kappa _{\mu f}}-{\kappa _{\mu {f_{\text{i}}}}}{\| _{2}^{2}}d\mathbf{x}.\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>One may employ the gradient descent method to discover the optimal values of <inline-formula id="j_infor571_ineq_062"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\boldsymbol{\xi }_{i}}$]]></tex-math></alternatives></inline-formula>. Initially, we must compute the gradient of the curvature with respect to <inline-formula id="j_infor571_ineq_063"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\boldsymbol{\xi }_{i}}$]]></tex-math></alternatives></inline-formula>: 
<disp-formula id="j_infor571_eq_024">
<label>(24)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mo>∇</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfenced separators="" open="[" close="]">
<mml:mrow>
<mml:mtable columnspacing="4.0pt 4.0pt 4.0pt" equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" columnalign="center center center center">
<mml:mtr>
<mml:mtd class="array">
<mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
</mml:mtd>
<mml:mtd class="array">
<mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
</mml:mtd>
<mml:mtd class="array">
<mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
</mml:mtd>
<mml:mtd class="array">
<mml:mo>…</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \nabla {\kappa _{\mu f}}=\left[\begin{array}{c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c}\displaystyle \frac{\partial {\kappa _{\mu f}}}{\partial {\xi _{i1}}}& \displaystyle \frac{\partial {\kappa _{\mu f}}}{\partial {\xi _{i2}}}& \displaystyle \frac{\partial {\kappa _{\mu f}}}{\partial {\xi _{i3}}}& \dots \end{array}\right].\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>The resulting gradient takes the following form: 
<disp-formula id="j_infor571_eq_025">
<label>(25)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">‖</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}\frac{\partial {\kappa _{\mu f}}}{\partial {\xi _{kj}}}& =\frac{4}{d}{\alpha _{k}^{2}}{g_{k}}(\mathbf{x})({x_{j}}-{\xi _{kj}})\big(2{\alpha _{k}}\| \mathbf{x}-{\boldsymbol{\xi }_{\boldsymbol{k}}}{\| _{2}^{2}}-2-d\big).\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>Now, we need to compute the gradient of the cost function <italic>C</italic>, which is expressed as follows: 
<disp-formula id="j_infor571_eq_026">
<label>(26)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mo>∇</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>∇</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="2.03em" minsize="2.03em">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∫</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">‖</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>i</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" maxsize="2.03em" minsize="2.03em">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \nabla {C_{f}}=\nabla \bigg({\int _{{\mathbb{R}^{d}}}}\| {\kappa _{\mu f}}-{\kappa _{\mu {f_{\text{i}}}}}{\| _{2}^{2}}d\mathbf{x}\bigg).\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>Given the definition of the partial derivatives of <italic>κ</italic>, the complete cost function can be expressed as: 
<disp-formula id="j_infor571_eq_027">
<label>(27)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mo>∇</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">f</mml:mi>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mn>8</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:msub>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∫</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>i</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">‖</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">ξ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \nabla {C_{fkj}}=\frac{8}{d}{\int _{{\mathbb{R}^{d}}}}({\kappa _{\mu f}}-{\kappa _{\mu {f_{\text{i}}}}}){\alpha _{k}^{2}}{g_{k}}(\mathbf{x})({x_{j}}-{\xi _{kj}})\big(2{\alpha _{k}}\| \mathbf{x}-{\boldsymbol{\xi }_{\mathbf{k}}}{\| _{2}^{2}}-2-d\big)d\mathbf{x}.\]]]></tex-math></alternatives>
</disp-formula>
</p>
</sec>
</app></app-group>
<ack id="j_infor571_ack_001">
<title>Acknowledgements</title>
<p>The authors thank their colleagues at the University of West Bohemia and the University of Maribor. Thanks to Vaclav Skala and Ivana Kolingerova for their valuable insight and discussion.</p></ack>
<ref-list id="j_infor571_reflist_001">
<title>References</title>
<ref id="j_infor571_ref_001">
<mixed-citation publication-type="chapter"><string-name><surname>Abderrazak</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Benabid</surname>, <given-names>Y.</given-names></string-name> (<year>2022</year>). In: <chapter-title>Realistic modeling of shoulder muscle for use in musculoskeletal model</chapter-title>. <source>The 13th Conference on Mechanical Engineering CME2022</source>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_002">
<mixed-citation publication-type="journal"><string-name><surname>Afiatdoust</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Esmaeilbeigi</surname>, <given-names>M.</given-names></string-name> (<year>2015</year>). <article-title>Optimal variable shape parameters using genetic algorithm for radial basis function approximation</article-title>. <source>Ain Shams Engineering Journal</source>, <volume>6</volume>(<issue>2</issue>), <fpage>639</fpage>–<lpage>647</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.asej.2014.10.019" xlink:type="simple">https://doi.org/10.1016/j.asej.2014.10.019</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_003">
<mixed-citation publication-type="journal"><string-name><surname>Angles</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Rebain</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Macklin</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Wyvill</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Barthe</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Lewis</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Von Der Pahlen</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Izadi</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Valentin</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Bouaziz</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Tagliasacchi</surname>, <given-names>A.</given-names></string-name> (<year>2019</year>). <article-title>VIPER: volume invariant position-based elastic rods</article-title>. <source>Proceedings of the ACM on Computer Graphics and Interactive Techniques</source>, <volume>2</volume>(<issue>2</issue>) <fpage>1</fpage>–<lpage>26</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1145/3340260" xlink:type="simple">https://doi.org/10.1145/3340260</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_004">
<mixed-citation publication-type="journal"><string-name><surname>Cani-Gascuel</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Desbrun</surname>, <given-names>M.</given-names></string-name> (<year>1997</year>). <article-title>Animation of deformable models using implicit surfaces</article-title>. <source>IEEE Transactions on Visualization and Computer Graphics</source>, <volume>3</volume>(<issue>1</issue>), <fpage>39</fpage>–<lpage>50</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/2945.582343" xlink:type="simple">https://doi.org/10.1109/2945.582343</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_005">
<mixed-citation publication-type="chapter"><string-name><surname>Carr</surname>, <given-names>J.C.</given-names></string-name>, <string-name><surname>Beatson</surname>, <given-names>R.K.</given-names></string-name>, <string-name><surname>Cherrie</surname>, <given-names>J.B.</given-names></string-name>, <string-name><surname>Mitchell</surname>, <given-names>T.J.</given-names></string-name>, <string-name><surname>Fright</surname>, <given-names>W.R.</given-names></string-name>, <string-name><surname>McCallum</surname>, <given-names>B.C.</given-names></string-name>, <string-name><surname>Evans</surname>, <given-names>T.R.</given-names></string-name> (<year>2001</year>). <chapter-title>Reconstruction and representation of 3D objects with radial basis functions</chapter-title>. In: <source>Proceedings of the 28th Annual Conference on Computer Graphics and Interactive Techniques. SIGGRAPH ‘01</source>. <publisher-name>Association for Computing Machinery</publisher-name>, <publisher-loc>New York, NY, USA</publisher-loc>, pp. <fpage>67</fpage>–<lpage>76</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1145/383259.383266" xlink:type="simple">https://doi.org/10.1145/383259.383266</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_006">
<mixed-citation publication-type="chapter"><string-name><surname>Cervenka</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Smolik</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Skala</surname>, <given-names>V.</given-names></string-name> (<year>2019</year>). <chapter-title>A new strategy for scattered data approximation using radial basis functions respecting points of inflection</chapter-title>. In: <string-name><surname>Misra</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Gervasi</surname>, <given-names>O.</given-names></string-name>, <string-name><surname>Murgante</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Stankova</surname>, <given-names>E.</given-names></string-name>, <string-name><surname>Korkhov</surname>, <given-names>V.</given-names></string-name>, <string-name><surname>Torre</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Rocha</surname>, <given-names>A.M.A.C.</given-names></string-name>, <string-name><surname>Taniar</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Apduhan</surname>, <given-names>B.O.</given-names></string-name>, <string-name><surname>Tarantino</surname>, <given-names>E.</given-names></string-name> (Eds.), <source>Computational Science and Its Applications – ICCSA 2019</source>. <publisher-name>Springer International Publishing</publisher-name>, <publisher-loc>Cham</publisher-loc>, pp. <fpage>322</fpage>–<lpage>336</lpage>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_007">
<mixed-citation publication-type="chapter"><string-name><surname>Cervenka</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Havlicek</surname>, <given-names>O.</given-names></string-name>, <string-name><surname>Kohout</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Váša</surname>, <given-names>L.</given-names></string-name> (<year>2023</year>). <chapter-title>Computerised muscle modelling and simulation for interactive applications</chapter-title>. In: <source>Proceedings of the 18th International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications (VISIGRAPP 2023) – GRAPP</source>. <publisher-name>SciTePress</publisher-name>, pp. <fpage>214</fpage>–<lpage>221</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.5220/0011688000003417" xlink:type="simple">https://doi.org/10.5220/0011688000003417</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_008">
<mixed-citation publication-type="journal"><string-name><surname>Cieza</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Causey</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Kamenov</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Hanson</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Chatterji</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Vos</surname>, <given-names>T.</given-names></string-name> (<year>2020</year>). <article-title>Global estimates of the need for rehabilitation based on the Global Burden of Disease study 2019: a systematic analysis for the Global Burden of Disease Study 2019</article-title>. <source>The Lancet</source>, <volume>396</volume>(<issue>10267</issue>), <fpage>2006</fpage>–<lpage>2017</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/S0140-6736(20)32340-0" xlink:type="simple">https://doi.org/10.1016/S0140-6736(20)32340-0</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_009">
<mixed-citation publication-type="chapter"><string-name><surname>Clapés</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>González Hidalgo</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Torres</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Palmer-Rodríguez</surname>, <given-names>P.</given-names></string-name> (<year>2008</year>). <chapter-title>Interactive constrained deformations of NURBS surfaces: N-SCODEF</chapter-title>. In: <source>Articulated Motion and Deformable Objects. AMDO 2008</source>, pp. <fpage>359</fpage>–<lpage>369</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/978-3-540-70517-8_35" xlink:type="simple">https://doi.org/10.1007/978-3-540-70517-8_35</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_010">
<mixed-citation publication-type="journal"><string-name><surname>Delp</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Blemker</surname>, <given-names>S.</given-names></string-name> (<year>2005</year>). <article-title>Three-dimensional representation of complex muscle architectures and geometries</article-title>. <source>Annals of Biomedical Engineering</source>, <volume>33</volume>(<issue>5</issue>), <fpage>661</fpage>–<lpage>673</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/s10439-005-1433-7" xlink:type="simple">https://doi.org/10.1007/s10439-005-1433-7</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_011">
<mixed-citation publication-type="journal"><string-name><surname>Dvořák</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Káčereková</surname>, <given-names>Z.</given-names></string-name>, <string-name><surname>Vanecek</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Hruda</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Váša</surname>, <given-names>L.</given-names></string-name> (<year>2021</year>). <article-title>As-rigid-as-possible volume tracking for time-varying surfaces</article-title>. <source>Computers &amp; Graphics</source>, <volume>102</volume>, <fpage>329</fpage>–<lpage>338</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.cag.2021.10.015" xlink:type="simple">https://doi.org/10.1016/j.cag.2021.10.015</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_012">
<mixed-citation publication-type="journal"><string-name><surname>Fasser</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Jokeit</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Kalthoff</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Gomez Romero</surname>, <given-names>D.A.</given-names></string-name>, <string-name><surname>Trache</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Snedeker</surname>, <given-names>J.G.</given-names></string-name>, <string-name><surname>Farshad</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Widmer</surname>, <given-names>J.</given-names></string-name> (<year>2021</year>). <article-title>Subject-specific alignment and mass distribution in musculoskeletal models of the lumbar spine</article-title>. <source>Frontiers in Bioengineering and Biotechnology</source>, <volume>9</volume>, <elocation-id>721042</elocation-id>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_013">
<mixed-citation publication-type="journal"><string-name><surname>Goyanes</surname>, <given-names>E.</given-names></string-name>, <string-name><surname>de Moura</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Fernández-Vigo</surname>, <given-names>J.I.</given-names></string-name>, <string-name><surname>Fernández-Vigo</surname>, <given-names>J.A.</given-names></string-name>, <string-name><surname>Novo</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Ortega</surname>, <given-names>M.</given-names></string-name> (<year>2024</year>). <article-title>Automatic simultaneous ciliary muscle segmentation and biomarker extraction in AS-OCT images using deep learning-based approaches</article-title>. <source>Biomedical Signal Processing and Control</source>, <volume>90</volume>, <elocation-id>105851</elocation-id>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.bspc.2023.105851" xlink:type="simple">https://doi.org/10.1016/j.bspc.2023.105851</ext-link>. <uri>https://www.sciencedirect.com/science/article/pii/S1746809423012843</uri>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_014">
<mixed-citation publication-type="chapter"><string-name><surname>Hájková</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Kohout</surname>, <given-names>J.</given-names></string-name> (<year>2014</year>). <chapter-title>Human body model movement support: automatic muscle control curves computation</chapter-title>. In: <source>Combinatorial Image Analysis. IWCIA 2014</source>, pp. <fpage>196</fpage>–<lpage>211</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/978-3-319-07148-0_18" xlink:type="simple">https://doi.org/10.1007/978-3-319-07148-0_18</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_015">
<mixed-citation publication-type="journal"><string-name><surname>Hardy</surname>, <given-names>R.L.</given-names></string-name> (<year>1990</year>). <article-title>Theory and applications of the multiquadric-biharmonic method 20 years of discovery 1968–1988</article-title>. <source>Computers &amp; Mathematics with Applications</source>, <volume>19</volume>(<issue>8</issue>), <fpage>163</fpage>–<lpage>208</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/0898-1221(90)90272-L" xlink:type="simple">https://doi.org/10.1016/0898-1221(90)90272-L</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_016">
<mixed-citation publication-type="journal"><string-name><surname>Hardy</surname>, <given-names>R.L.</given-names></string-name> (<year>1971</year>). <article-title>Multiquadric equations of topography and other irregular surfaces</article-title>. <source>Journal of Geophysical Research</source>, <volume>76</volume>(<issue>8</issue>), <fpage>1905</fpage>–<lpage>1915</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1029/JB076i008p01905" xlink:type="simple">https://doi.org/10.1029/JB076i008p01905</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_017">
<mixed-citation publication-type="journal"><string-name><surname>Heinrich</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Bogert</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Mössner</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Nachbauer</surname>, <given-names>W.</given-names></string-name> (<year>2023</year>). <article-title>Model-based estimation of muscle and ACL forces during turning maneuvers in alpine skiing</article-title>. <source>Scientific Reports</source>, <volume>13</volume>, <elocation-id>9026</elocation-id>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1038/s41598-023-35775-4" xlink:type="simple">https://doi.org/10.1038/s41598-023-35775-4</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_018">
<mixed-citation publication-type="journal"><string-name><surname>Hill</surname>, <given-names>A.</given-names></string-name> (<year>1938</year>). <article-title>The heat of shortening and the dynamic constants of muscle</article-title>. <source>Proceedings of the Royal Society of London. Series B, Biological Sciences</source>, <volume>126</volume>(<issue>843</issue>), <fpage>136</fpage>–<lpage>195</lpage>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_019">
<mixed-citation publication-type="chapter"><string-name><surname>Hilton</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Stoddart</surname>, <given-names>A.J.</given-names></string-name>, <string-name><surname>Illingworth</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Windeatt</surname>, <given-names>T.</given-names></string-name> (<year>1996</year>). <chapter-title>Marching triangles: range image fusion for complex object modelling</chapter-title>. In: <source>Proceedings of 3rd IEEE International Conference on Image Processing</source>, Vol. <volume>2</volume>, pp. <fpage>381</fpage>–<lpage>3842</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/ICIP.1996.560840" xlink:type="simple">https://doi.org/10.1109/ICIP.1996.560840</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_020">
<mixed-citation publication-type="chapter"><string-name><surname>Janák</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Kohout</surname>, <given-names>J.</given-names></string-name> (<year>2014</year>). <chapter-title>Deformable muscle models for motion simulation</chapter-title>. In: <source>Proceedings of the 9th International Conference on Computer Graphics Theory and Applications – GRAPP, (VISIGRAPP 2014)</source>. <publisher-name>SciTePress</publisher-name>, pp. <fpage>301</fpage>–<lpage>311</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.5220/0004678903010311" xlink:type="simple">https://doi.org/10.5220/0004678903010311</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_021">
<mixed-citation publication-type="journal"><string-name><surname>Joseph</surname>, <given-names>V.R.</given-names></string-name>, <string-name><surname>Hung</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Sudjianto</surname>, <given-names>A.</given-names></string-name> (<year>2008</year>). <article-title>Blind kriging: a new method for developing metamodels</article-title>. <source>Journal of Mechanical Design</source>, <volume>130</volume>(<issue>3</issue>), <elocation-id>031102</elocation-id>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1115/1.2829873" xlink:type="simple">https://doi.org/10.1115/1.2829873</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_022">
<mixed-citation publication-type="journal"><string-name><surname>Kaymaz</surname>, <given-names>I.</given-names></string-name> (<year>2005</year>). <article-title>Application of kriging method to structural reliability problems</article-title>. <source>Structural Safety</source>, <volume>27</volume>(<issue>2</issue>), <fpage>133</fpage>–<lpage>151</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.strusafe.2004.09.001" xlink:type="simple">https://doi.org/10.1016/j.strusafe.2004.09.001</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_023">
<mixed-citation publication-type="journal"><string-name><surname>Kedadria</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Benabid</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Remil</surname>, <given-names>O.</given-names></string-name>, <string-name><surname>Benaouali</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>May</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Ramtani</surname>, <given-names>S.</given-names></string-name> (<year>2023</year>). <article-title>A shoulder musculoskeletal model with three-dimensional complex muscle geometries</article-title>. <source>Annals of Biomedical Engineering</source>, <volume>51</volume>(<issue>5</issue>), <fpage>1079</fpage>–<lpage>1093</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/s10439-023-03189-y" xlink:type="simple">https://doi.org/10.1007/s10439-023-03189-y</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_024">
<mixed-citation publication-type="chapter"><string-name><surname>Kellnhofer</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Kohout</surname>, <given-names>J.</given-names></string-name> (<year>2012</year>). <chapter-title>Time-convenient deformation of musculoskeletal system</chapter-title>. In: <source>Proceedings of ALGORITMY 2012</source>, pp. <fpage>1</fpage>–<lpage>10</lpage>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_025">
<mixed-citation publication-type="chapter"><string-name><surname>Kohout</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Cervenka</surname>, <given-names>M.</given-names></string-name> (<year>2022</year>). <chapter-title>Non-planar surface shape reconstruction from a point cloud in the context of muscles attachments estimation</chapter-title>. In: <source>Proceedings of the 17th International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications (VISIGRAPP 2022) – GRAPP</source>. <publisher-name>SciTePress</publisher-name>, pp. <fpage>236</fpage>–<lpage>243</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.5220/0010869600003124" xlink:type="simple">https://doi.org/10.5220/0010869600003124</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_026">
<mixed-citation publication-type="chapter"><string-name><surname>Lavoie</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Ionescu</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Petriu</surname>, <given-names>E.</given-names></string-name> (<year>2006</year>). <chapter-title>Constructing 3D virtual reality objects from 2D images of real objects using NURBS</chapter-title>. In: <source>2007 IEEE Symposium on Virtual Environments, Human-Computer Interfaces and Measurement Systems</source>, <conf-loc>Ostuni, Italy</conf-loc>, <conf-date>June 25–27, 2007</conf-date>, pp. <fpage>117</fpage>–<lpage>124</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/VECIMS.2007.4373940" xlink:type="simple">https://doi.org/10.1109/VECIMS.2007.4373940</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_027">
<mixed-citation publication-type="journal"><string-name><surname>Lee</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Glueck</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Khan</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Fiume</surname>, <given-names>E.</given-names></string-name>, <string-name><surname>Jackson</surname>, <given-names>K.</given-names></string-name> (<year>2012</year>). <article-title>Modeling and simulation of skeletal muscle for computer graphics: a survey</article-title>. <source>Foundations and Trends® in Computer Graphics and Vision</source>, <volume>7</volume>(<issue>4</issue>), <fpage>229</fpage>–<lpage>276</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1561/0600000036" xlink:type="simple">https://doi.org/10.1561/0600000036</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_028">
<mixed-citation publication-type="journal"><string-name><surname>Lorensen</surname>, <given-names>W.E.</given-names></string-name>, <string-name><surname>Cline</surname>, <given-names>H.E.</given-names></string-name> (<year>1987</year>). <article-title>Marching cubes: a high resolution 3D surface construction algorithm</article-title>. <source>ACM SIGGRAPH Computer Graphics</source>, <volume>21</volume>(<issue>4</issue>), pp. <fpage>163</fpage>–<lpage>169</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1145/37401.37422" xlink:type="simple">https://doi.org/10.1145/37401.37422</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_029">
<mixed-citation publication-type="chapter"><string-name><surname>Macklin</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Müller</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Chentanez</surname>, <given-names>N.</given-names></string-name> (<year>2016</year>). <chapter-title>XPBD: position-based simulation of compliant constrained dynamics</chapter-title>. In: <source>Proceedings of the 9th International Conference on Motion in Games. MIG ’16</source>. <publisher-name>Association for Computing Machinery</publisher-name>, <publisher-loc>New York, NY, USA</publisher-loc>, pp. <fpage>49</fpage>–<lpage>54</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1145/2994258.2994272" xlink:type="simple">https://doi.org/10.1145/2994258.2994272</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_030">
<mixed-citation publication-type="journal"><string-name><surname>Majdisova</surname>, <given-names>Z.</given-names></string-name>, <string-name><surname>Skala</surname>, <given-names>V.</given-names></string-name> (<year>2017</year>). <article-title>Radial basis function approximations: comparison and applications</article-title>. <source>Applied Mathematical Modelling</source>, <volume>51</volume>, <fpage>728</fpage>–<lpage>743</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.apm.2017.07.033" xlink:type="simple">https://doi.org/10.1016/j.apm.2017.07.033</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_031">
<mixed-citation publication-type="journal"><string-name><surname>Modenese</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Renault</surname>, <given-names>J.-B.</given-names></string-name> (<year>2021</year>). <article-title>Automatic generation of personalized skeletal models of the lower limb from three-dimensional bone geometries</article-title>. <source>Journal of Biomechanics</source>, <volume>116</volume>, <fpage>110186</fpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.jbiomech.2020.110186" xlink:type="simple">https://doi.org/10.1016/j.jbiomech.2020.110186</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_032">
<mixed-citation publication-type="journal"><string-name><surname>Müller</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Heidelberger</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Hennix</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Ratcliff</surname>, <given-names>J.</given-names></string-name> (<year>2007</year>). <article-title>Position based dynamics</article-title>. <source>Journal of Visual Communication and Image Representation</source>, <volume>18</volume>(<issue>2</issue>), <fpage>109</fpage>–<lpage>118</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.jvcir.2007.01.005" xlink:type="simple">https://doi.org/10.1016/j.jvcir.2007.01.005</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_033">
<mixed-citation publication-type="journal"><string-name><surname>Ni</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>He</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Jiang</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>Z.</given-names></string-name> (<year>2023</year>). <article-title>Modeling of human muscle and its deformation</article-title>. <source>Computer Methods in Biomechanics and Biomedical Engineering</source>, <volume>27</volume>(<issue>3</issue>), <fpage>365</fpage>–<lpage>377</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1080/10255842.2023.2186160" xlink:type="simple">https://doi.org/10.1080/10255842.2023.2186160</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_034">
<mixed-citation publication-type="journal"><string-name><surname>Nie</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Wan</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Zhou</surname>, <given-names>A.</given-names></string-name> (<year>2022</year>). <article-title>Real-time NURBS interpolation under multiple constraints</article-title>. <source>Computational Intelligence and Neuroscience</source>, <volume>2022</volume>, <fpage>1</fpage>–<lpage>15</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1155/2022/7492762" xlink:type="simple">https://doi.org/10.1155/2022/7492762</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_035">
<mixed-citation publication-type="journal"><string-name><surname>Oliver</surname>, <given-names>M.A.</given-names></string-name>, <string-name><surname>Webster</surname>, <given-names>R.</given-names></string-name> (<year>1990</year>). <article-title>Kriging: a method of interpolation for geographical information systems</article-title>. <source>International Journal of Geographical Information Systems</source>, <volume>4</volume>(<issue>3</issue>), <fpage>313</fpage>–<lpage>332</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1080/02693799008941549" xlink:type="simple">https://doi.org/10.1080/02693799008941549</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_036">
<mixed-citation publication-type="journal"><string-name><surname>Orr</surname>, <given-names>M.J.L.</given-names></string-name> (<year>1995</year>). <article-title>Regularization in the selection of radial basis function centers</article-title>. <source>Neural Computation</source>, <volume>7</volume>(<issue>3</issue>), <fpage>606</fpage>–<lpage>623</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1162/neco.1995.7.3.606" xlink:type="simple">https://doi.org/10.1162/neco.1995.7.3.606</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_037">
<mixed-citation publication-type="chapter"><string-name><surname>Romeo</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Monteagudo</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Sánchez-Quirós</surname>, <given-names>D.</given-names></string-name> (<year>2018</year>). <chapter-title>Muscle simulation with extended position based dynamics</chapter-title>. In: <string-name><surname>García-Fernández</surname>, <given-names>I.</given-names></string-name>, <string-name><surname>Ureña</surname>, <given-names>C.</given-names></string-name> (Eds.), <source>Spanish Computer Graphics Conference (CEIG)</source>. <publisher-name>The Eurographics Association</publisher-name>, pp. <fpage>134</fpage>–<lpage>146</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.2312/ceig.20181146" xlink:type="simple">https://doi.org/10.2312/ceig.20181146</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_038">
<mixed-citation publication-type="journal"><string-name><surname>Sakata</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Ashida</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Zako</surname>, <given-names>M.</given-names></string-name> (<year>2004</year>). <article-title>An efficient algorithm for Kriging approximation and optimization with large-scale sampling data</article-title>. <source>Computer Methods in Applied Mechanics and Engineering</source>, <volume>193</volume>(<issue>3</issue>), <fpage>385</fpage>–<lpage>404</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.cma.2003.10.006" xlink:type="simple">https://doi.org/10.1016/j.cma.2003.10.006</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_039">
<mixed-citation publication-type="journal"><string-name><surname>Sarra</surname>, <given-names>S.A.</given-names></string-name>, <string-name><surname>Sturgill</surname>, <given-names>D.</given-names></string-name> (<year>2009</year>). <article-title>A random variable shape parameter strategy for radial basis function approximation methods</article-title>. <source>Engineering Analysis with Boundary Elements</source>, <volume>33</volume>(<issue>11</issue>), <fpage>1239</fpage>–<lpage>1245</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.enganabound.2009.07.003" xlink:type="simple">https://doi.org/10.1016/j.enganabound.2009.07.003</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_040">
<mixed-citation publication-type="chapter"><string-name><surname>Skala</surname>, <given-names>V.</given-names></string-name> (<year>2017</year>). <chapter-title>Least square method robustness of computations: what is not usually considered and taught</chapter-title>. In: <source>2017 Federated Conference on Computer Science and Information Systems</source>, pp. <fpage>537</fpage>–<lpage>541</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.15439/2017F7" xlink:type="simple">https://doi.org/10.15439/2017F7</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_041">
<mixed-citation publication-type="chapter"><string-name><surname>Skala</surname>, <given-names>V.</given-names></string-name>, <string-name><surname>Cervenka</surname>, <given-names>M.</given-names></string-name> (<year>2019</year>). <chapter-title>Novel RBF approximation method based on geometrical properties for signal processing with a new RBF function: experimental comparison</chapter-title>. In: <source>2019 IEEE 15th International Scientific Conference on Informatics</source>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/Informatics47936.2019.9119276" xlink:type="simple">https://doi.org/10.1109/Informatics47936.2019.9119276</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_042">
<mixed-citation publication-type="chapter"><string-name><surname>Skala</surname>, <given-names>V.</given-names></string-name>, <string-name><surname>Karim</surname>, <given-names>S.A.A.</given-names></string-name>, <string-name><surname>Zabran</surname>, <given-names>M.</given-names></string-name> (<year>2020</year>). <chapter-title>Radial basis function approximation optimal shape parameters estimation</chapter-title>. In: <source>Computational Science – ICCS 2020</source>. <publisher-name>Springer International Publishing</publisher-name>, <publisher-loc>Cham</publisher-loc>, pp. <fpage>309</fpage>–<lpage>317</lpage>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_043">
<mixed-citation publication-type="chapter"><string-name><surname>Sorkine</surname>, <given-names>O.</given-names></string-name>, <string-name><surname>Alexa</surname>, <given-names>M.</given-names></string-name> (<year>2007</year>). <chapter-title>As-rigid-as-possible surface modeling</chapter-title>. In: <string-name><surname>Belyaev</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Garland</surname>, <given-names>M.</given-names></string-name> (Eds.), <source>Geometry Processing</source>. <publisher-name>The Eurographics Association</publisher-name>, pp. <fpage>109</fpage>–<lpage>116</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.2312/SGP/SGP07/109-116" xlink:type="simple">https://doi.org/10.2312/SGP/SGP07/109-116</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_044">
<mixed-citation publication-type="journal"><string-name><surname>Sánchez-Reyes</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Chacón</surname>, <given-names>J.</given-names></string-name> (<year>2020</year>). <article-title>How to make impossible objects possible: anamorphic deformation of textured NURBS</article-title>. <source>Computer Aided Geometric Design</source>, <volume>78</volume>, <elocation-id>101826</elocation-id>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.cagd.2020.101826" xlink:type="simple">https://doi.org/10.1016/j.cagd.2020.101826</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_045">
<mixed-citation publication-type="journal"><string-name><surname>Terzopoulos</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Qin</surname>, <given-names>H.</given-names></string-name> (<year>1994</year>). <article-title>Dynamic NURBS with geometric constraints for interactive sculpting</article-title>. <source>ACM Transactions on Graphics</source>, <volume>13</volume>(<issue>2</issue>), <fpage>103</fpage>–<lpage>136</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1145/176579.176580" xlink:type="simple">https://doi.org/10.1145/176579.176580</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_046">
<mixed-citation publication-type="journal"><string-name><surname>Valente</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Martelli</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Taddei</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Farinella</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Viceconti</surname>, <given-names>M.</given-names></string-name> (<year>2012</year>). <article-title>Muscle discretization affects the loading transferred to bones in lower-limb musculoskeletal models</article-title>. <source>Proceedings of the Institution of Mechanical Engineers, Part H: Journal of Engineering in Medicine</source>, <volume>226</volume>(<issue>2</issue>), <fpage>161</fpage>–<lpage>169</lpage>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_047">
<mixed-citation publication-type="journal"><string-name><surname>Wang</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Matcuk</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Barbič</surname>, <given-names>J.</given-names></string-name> (<year>2021</year>). <article-title>Modeling of personalized anatomy using plastic strains</article-title>. <source>ACM Transactions on Graphics</source>, <volume>40</volume>(<issue>2</issue>). <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1145/3443703" xlink:type="simple">https://doi.org/10.1145/3443703</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_048">
<mixed-citation publication-type="other"><string-name><surname>Wright</surname>, <given-names>G.B.</given-names></string-name> (2003). <italic>Radial Basis Function Interpolation: Numerical and Analytical Developments</italic>. PhD thesis, University of Colorado at Boulder, Boulder, CO, USA. AAI3087597.</mixed-citation>
</ref>
<ref id="j_infor571_ref_049">
<mixed-citation publication-type="journal"><string-name><surname>Ye</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Jiang</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Huo</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Su</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Lu</surname>, <given-names>Z.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Zheng</surname>, <given-names>Z.</given-names></string-name> (<year>2020</year>). <article-title>A physical process driven digital terrain model generating method based on D-NURBS</article-title>. <source>IEEE Access</source>, <volume>8</volume>, <fpage>3115</fpage>–<lpage>3122</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/ACCESS.2019.2962385" xlink:type="simple">https://doi.org/10.1109/ACCESS.2019.2962385</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_050">
<mixed-citation publication-type="chapter"><string-name><surname>Zhang</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Qin</surname>, <given-names>H.</given-names></string-name> (<year>2001</year>). <chapter-title>Hierarchical D-NURBS surfaces and their physics-based sculpting</chapter-title>. In: <source>Proceedings International Conference on Shape Modeling and Applications</source>, pp. <fpage>257</fpage>–<lpage>266</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/SMA.2001.923397" xlink:type="simple">https://doi.org/10.1109/SMA.2001.923397</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_051">
<mixed-citation publication-type="journal"><string-name><surname>Zhang</surname>, <given-names>Z.-Y.</given-names></string-name>, <string-name><surname>Sun</surname>, <given-names>Z.-J.</given-names></string-name>, <string-name><surname>Yang</surname>, <given-names>Y.-H.</given-names></string-name>, <string-name><surname>Lin</surname>, <given-names>H.</given-names></string-name> (<year>2022</year>). <article-title>Towards a better prediction of subcellular location of long non-coding RNA</article-title>. <source>Frontiers of Computer Science</source>, <volume>16</volume>(<issue>5</issue>), <elocation-id>165903</elocation-id>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/s11704-021-1015-3" xlink:type="simple">https://doi.org/10.1007/s11704-021-1015-3</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor571_ref_052">
<mixed-citation publication-type="journal"><string-name><surname>Zhao</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>San</surname>, <given-names>Y.</given-names></string-name> (<year>2011</year>). <article-title>RBF neural network based on q-Gaussian function in function approximation</article-title>. <source>Frontiers of Computer Science in China</source>, <volume>5</volume>(<issue>4</issue>), <fpage>381</fpage>–<lpage>386</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/s11704-011-1041-7" xlink:type="simple">https://doi.org/10.1007/s11704-011-1041-7</ext-link>.</mixed-citation>
</ref>
</ref-list>
</back>
</article>
