<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.4 20241031//EN" "JATS-journalpublishing1-4.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article" dtd-version="1.4" xml:lang="en">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">apm</journal-id>
      <journal-title-group>
        <journal-title>Advances in Pure Mathematics</journal-title>
      </journal-title-group>
      <issn pub-type="epub">2160-0384</issn>
      <issn pub-type="ppub">2160-0368</issn>
      <publisher>
        <publisher-name>Scientific Research Publishing</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.4236/apm.2026.1610038</article-id>
      <article-id pub-id-type="publisher-id">apm-154402</article-id>
      <article-categories>
        <subj-group>
          <subject>Article</subject>
        </subj-group>
        <subj-group>
          <subject>Physics</subject>
          <subject>Mathematics</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>Classification of Affine Local Vertex Curvature Functions with a Constant-Sum Law on Polygon Triangulations</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <contrib-id contrib-id-type="orcid">0009-0000-3321-6949</contrib-id>
          <name name-style="western">
            <surname>Tashmukhanbet</surname>
            <given-names>Bekarys</given-names>
          </name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
      </contrib-group>
      <aff id="aff1"><label>1</label> Nazarbayev Intellectual School of Physics and Mathematics, Almaty, Kazakhstan </aff>
      <author-notes>
        <fn fn-type="conflict" id="fn-conflict">
          <p>The author declares no conflicts of interest regarding the publication of this paper.</p>
        </fn>
      </author-notes>
      <pub-date pub-type="epub">
        <day>08</day>
        <month>10</month>
        <year>2026</year>
      </pub-date>
      <pub-date pub-type="collection">
        <month>10</month>
        <year>2026</year>
      </pub-date>
      <volume>16</volume>
      <issue>10</issue>
      <fpage>785</fpage>
      <lpage>795</lpage>
      <history>
        <date date-type="received">
          <day>01</day>
          <month>09</month>
          <year>2026</year>
        </date>
        <date date-type="accepted">
          <day>06</day>
          <month>10</month>
          <year>2026</year>
        </date>
        <date date-type="published">
          <day>09</day>
          <month>10</month>
          <year>2026</year>
        </date>
      </history>
      <permissions>
        <copyright-statement>© 2026 by the authors and Scientific Research Publishing Inc.</copyright-statement>
        <copyright-year>2026</copyright-year>
        <license license-type="open-access">
          <license-p> This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license ( <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</ext-link> ). </license-p>
        </license>
      </permissions>
      <self-uri content-type="doi" xlink:href="https://doi.org/10.4236/apm.2026.1610038">https://doi.org/10.4236/apm.2026.1610038</self-uri>
      <abstract>
        <p>This paper presents a complete classification of affine local vertex curvature functions on triangulated polygonal disks, that is, on simple 2-cell plane triangulations whose outer boundary is a simple cycle, whose total vertex curvature takes one and the same value on every member of that class. We study local expressions of the form <inline-formula><mml:math display="inline"></mml:math></inline-formula></p>
        <p>K(</p>
        <p>v</p>
        <p>)= A+ Bdeg(</p>
        <p>v</p>
        <p>)+ C</p>
        <p>∑</p>
        <p>f∋v</p>
        <p>1</p>
        <p>| f |</p>
        <p>+ T</p>
        <p>1</p>
        <p>{</p>
        <p>v∈∂G }</p>
        <p>. Summing over all vertices and applying Euler and incidence relations reduces the total to an affine function of the global counts <italic>V</italic> and <italic>L</italic>. The total is independent of <italic>V</italic>, <italic>L</italic> and the particular triangulation if and only if <italic>A</italic>+ 6<italic>B</italic>+ 2<italic>C</italic>= 0 and <italic>T</italic>= 2<italic>B</italic>+ <italic>C</italic>, in which case the invariant is −6<italic>B</italic> − <italic>C</italic>. Necessity uses the fact that <italic>V</italic> and <italic>L</italic> vary independently inside this class, which is established here by a stellar-subdivision construction; on the subclass of polygon triangulations without interior vertices one has <italic>L</italic>= <italic>V</italic>, and the two conditions are then sufficient but not separately necessary. Higuchi’s combinatorial curvature appears as a special case. A further specialization gives uniform curvature 1/<italic>n</italic> on every vertex of a convex <italic>n</italic>-gon. Randomized ear-clipping and stellar-subdivision triangulations, run as an implementation check of the counting identity, reproduce the predicted constants exactly in rational arithmetic and to within 5 × 10<sup>−15</sup> in double precision. The result provides a compact local-to-global classification for discrete curvature on triangulated polygonal disks.</p>
      </abstract>
      <kwd-group kwd-group-type="author-generated" xml:lang="en">
        <kwd>Discrete Gauss-Bonnet</kwd>
        <kwd>Combinatorial Curvature</kwd>
        <kwd>Outerplanar Graphs</kwd>
        <kwd>Polygon Triangulation</kwd>
        <kwd>Ear Clipping</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec1">
      <title>1. Introduction</title>
      <p>The Gauss-Bonnet theorem is a central local-to-global principle in geometry: local curvature quantities, when summed or integrated over a surface, recover a global topological invariant. In the smooth setting, the theorem relates Gaussian curvature in the interior and geodesic curvature along the boundary to the Euler characteristic [<xref ref-type="bibr" rid="B1">1</xref>][<xref ref-type="bibr" rid="B2">2</xref>]. Discrete and combinatorial analogues replace smooth curvature by quantities computed from angles, degrees, and incidences of faces and therefore provide practical descriptors for polygonal and graph-based structures [<xref ref-type="bibr" rid="B3">3</xref>]-[<xref ref-type="bibr" rid="B5">5</xref>].</p>
      <p>This work studies a restricted but explicit classification problem. Rather than selecting one particular discrete curvature formula, we start with an affine local ansatz depending on the degree of a vertex, the sizes of incident faces, and an indicator for membership in the outer boundary. We then ask for all coefficients for which the sum over vertices is independent of the triangulation and of the global size parameters <italic>V</italic> and <italic>L</italic>. The boundary term plays the role of a discrete analogue of a boundary-curvature contribution in the classical theorem [<xref ref-type="bibr" rid="B1">1</xref>][<xref ref-type="bibr" rid="B2">2</xref>].</p>
      <p>The cited literature supplies important individual formulas and the graph-theoretic counting identities needed for the derivation [<xref ref-type="bibr" rid="B3">3</xref>]-[<xref ref-type="bibr" rid="B7">7</xref>]. The contribution here is to solve the coefficient constraints for the entire affine family and to verify the resulting identity computationally on randomly generated triangulations. The analysis also identifies classical combinatorial curvature and a uniform-curvature specialization as direct corollaries. <xref ref-type="fig" rid="fig1">Figure 1</xref> shows two different triangulations of one hexagon, for which the local data differ while the classified total does not.</p>
      <fig id="fig1">
        <label>Figure 1</label>
        <graphic xlink:href="https://html.scirp.org/file/5302851-rId17.jpeg?20261009023809" />
      </fig>
      <p><bold>Figure 1.</bold>Two distinct triangulations of a hexagon. Local vertex degrees change, whereas the classified total curvature remains invariant.</p>
    </sec>
    <sec id="sec2">
      <title>2. Mathematical Background</title>
      <sec id="sec2dot1">
        <title>2.1. Smooth Gauss-Bonnet Theorem</title>
        <p>For a compact oriented surface <italic>M</italic> with boundary ∂<italic>M</italic>, the smooth Gauss-Bonnet theorem can be written in the boundary form [<xref ref-type="bibr" rid="B1">1</xref>][<xref ref-type="bibr" rid="B2">2</xref>]:</p>
        <disp-formula id="FD1">
          <label>(1)</label>
          <mml:math>
            <mml:mrow>
              <mml:mstyle displaystyle="true">
                <mml:mrow>
                  <mml:msub>
                    <mml:mo>∫</mml:mo>
                    <mml:mi>M</mml:mi>
                  </mml:msub>
                  <mml:mrow>
                    <mml:mi>K</mml:mi>
                    <mml:mtext>
                       
                    </mml:mtext>
                    <mml:mtext>d</mml:mtext>
                    <mml:mi>A</mml:mi>
                  </mml:mrow>
                </mml:mrow>
              </mml:mstyle>
              <mml:mo>+</mml:mo>
              <mml:mstyle displaystyle="true">
                <mml:mrow>
                  <mml:msub>
                    <mml:mo>∫</mml:mo>
                    <mml:mrow>
                      <mml:mo>∂</mml:mo>
                      <mml:mi>M</mml:mi>
                    </mml:mrow>
                  </mml:msub>
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>k</mml:mi>
                      <mml:mi>g</mml:mi>
                    </mml:msub>
                    <mml:mtext>
                       
                    </mml:mtext>
                    <mml:mtext>d</mml:mtext>
                    <mml:mi>s</mml:mi>
                  </mml:mrow>
                </mml:mrow>
              </mml:mstyle>
              <mml:mo>=</mml:mo>
              <mml:mn>2</mml:mn>
              <mml:mi>π</mml:mi>
              <mml:mi>χ</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>M</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>Here <italic>K</italic> denotes Gaussian curvature, <italic>k</italic><italic><sub>g</sub></italic> is the geodesic curvature of the boundary, and <italic>χ</italic>(<italic>M</italic>) is the Euler characteristic. If the boundary is absent, the boundary term vanishes and the total Gaussian curvature is determined by topology.</p>
      </sec>
      <sec id="sec2dot2">
        <title>2.2. Discrete Curvature and Angle Defect</title>
        <p>On polygonal and polyhedral surfaces, a standard discrete analogue of curvature is the angle defect. At an interior vertex <italic>v</italic> it is represented by [<xref ref-type="bibr" rid="B5">5</xref>]:</p>
        <disp-formula id="FD2">
          <label>(2)</label>
          <mml:math>
            <mml:mrow>
              <mml:mi>ε</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>v</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:mn>2</mml:mn>
              <mml:mi>π</mml:mi>
              <mml:mo>−</mml:mo>
              <mml:mstyle displaystyle="true">
                <mml:munder>
                  <mml:mo>∑</mml:mo>
                  <mml:mrow>
                    <mml:mi>f</mml:mi>
                    <mml:mo>∋</mml:mo>
                    <mml:mi>v</mml:mi>
                  </mml:mrow>
                </mml:munder>
                <mml:mrow>
                  <mml:msub>
                    <mml:mi>θ</mml:mi>
                    <mml:mi>f</mml:mi>
                  </mml:msub>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mi>v</mml:mi>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                </mml:mrow>
              </mml:mstyle>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>Summing local angle defects yields a discrete Gauss-Bonnet identity. The structural feature relevant here is that a quantity computed locally at vertices satisfies a global conservation law.</p>
      </sec>
      <sec id="sec2dot3">
        <title>2.3. Combinatorial Curvature on Planar Graphs</title>
        <p>A metric-free combinatorial version is given by Higuchi’s curvature for a planar graph [<xref ref-type="bibr" rid="B3">3</xref>]:</p>
        <disp-formula id="FD3">
          <label>(3)</label>
          <mml:math display="inline">
            <mml:mrow>
              <mml:msub>
                <mml:mi>K</mml:mi>
                <mml:mi>H</mml:mi>
              </mml:msub>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>v</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:mn>1</mml:mn>
              <mml:mo>−</mml:mo>
              <mml:mfrac>
                <mml:mn>1</mml:mn>
                <mml:mn>2</mml:mn>
              </mml:mfrac>
              <mml:mtext>deg</mml:mtext>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>v</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>+</mml:mo>
              <mml:munder>
                <mml:mstyle mathsize="140%" displaystyle="true">
                  <mml:mo>∑</mml:mo>
                </mml:mstyle>
                <mml:mrow>
                  <mml:mi>f</mml:mi>
                  <mml:mo>∋</mml:mo>
                  <mml:mi>v</mml:mi>
                </mml:mrow>
              </mml:munder>
              <mml:mfrac>
                <mml:mn>1</mml:mn>
                <mml:mrow>
                  <mml:mrow>
                    <mml:mo>|</mml:mo>
                    <mml:mi>f</mml:mi>
                    <mml:mo>|</mml:mo>
                  </mml:mrow>
                </mml:mrow>
              </mml:mfrac>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>When all faces of the planar embedding, including the outer face, are counted, summation over vertices reduces this expression to Euler’s relation. Related graph-theoretic Gauss-Bonnet formulations likewise express global invariants through local graph data [<xref ref-type="bibr" rid="B4">4</xref>]. These examples motivate the classification of all affine expressions of the same general type.</p>
      </sec>
    </sec>
    <sec id="sec3">
      <title>3. Methods and Problem Formulation</title>
      <sec id="sec3dot1">
        <title>3.1. Objects and Notation</title>
        <p>Throughout, <italic>G</italic> denotes a simple 2-cell plane triangulation of a closed disk: the underlying graph is simple, it is embedded in the plane so that every face is an open disk, every bounded face is a triangle, and the outer boundary is a simple cycle. The vertex set of that cycle is written ∂<italic>G</italic>, and a graph of this kind is called a triangulated polygonal disk; the class of all such graphs is denoted <italic>D</italic>. Write <italic>V</italic>, <italic>E</italic>and <italic>F</italic> for the numbers of vertices, edges and faces, respectively, with the outer face included in <italic>F</italic>. Let <italic>L</italic> be the number of edges on the outer boundary. Every bounded face is triangular. Because the outer boundary is a simple cycle, it carries as many vertices as edges, so |∂<italic>G</italic>| = <italic>L</italic>; this identification is what makes the boundary indicator sum to <italic>L</italic> in Equation (8). Interior vertices, that is, vertices not lying on ∂<italic>G</italic>, are permitted, and <italic>V</italic>−<italic>L</italic> is their number. Polygon triangulations without interior vertices, equivalently maximal outerplanar graphs, form the subclass of <italic>D</italic> in which every vertex lies on the outer boundary and <italic>L</italic> = <italic>V</italic>. The derivation keeps <italic>L</italic> explicit to make the boundary contribution transparent [<xref ref-type="bibr" rid="B6">6</xref>][<xref ref-type="bibr" rid="B7">7</xref>].</p>
        <p>Euler’s formula and double counting of edge-face incidences give:</p>
        <disp-formula id="FD4">
          <label>(4)</label>
          <mml:math>
            <mml:mrow>
              <mml:mi>V</mml:mi>
              <mml:mo>−</mml:mo>
              <mml:mi>E</mml:mi>
              <mml:mo>+</mml:mo>
              <mml:mi>F</mml:mi>
              <mml:mo>=</mml:mo>
              <mml:mn>2</mml:mn>
              <mml:mo>,</mml:mo>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mn>3</mml:mn>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:mi>F</mml:mi>
                  <mml:mo>−</mml:mo>
                  <mml:mn>1</mml:mn>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:mn>2</mml:mn>
              <mml:mi>E</mml:mi>
              <mml:mo>−</mml:mo>
              <mml:mi>L</mml:mi>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>Solving these identities for <italic>E</italic> and <italic>F</italic> yields:</p>
        <disp-formula id="FD5">
          <label>(5)</label>
          <mml:math>
            <mml:mrow>
              <mml:mi>E</mml:mi>
              <mml:mo>=</mml:mo>
              <mml:mn>3</mml:mn>
              <mml:mi>V</mml:mi>
              <mml:mo>−</mml:mo>
              <mml:mn>3</mml:mn>
              <mml:mo>−</mml:mo>
              <mml:mi>L</mml:mi>
              <mml:mo>,</mml:mo>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mi>F</mml:mi>
              <mml:mo>=</mml:mo>
              <mml:mn>2</mml:mn>
              <mml:mi>V</mml:mi>
              <mml:mo>−</mml:mo>
              <mml:mn>1</mml:mn>
              <mml:mo>−</mml:mo>
              <mml:mi>L</mml:mi>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>Both identities hold for every member of <italic>D</italic>, with or without interior vertices, because every bounded face is a triangle, every interior edge lies on two bounded faces, and each of the <italic>L</italic> boundary edges lies on exactly one. Interior vertices enter only through <italic>V</italic>, so Equation (5) is the correct counting relation on the whole class.</p>
      </sec>
      <sec id="sec3dot2">
        <title>3.2. Affine Local Curvature Functional</title>
        <p>For each vertex <italic>v</italic>, define the affine local curvature functional</p>
        <disp-formula id="FD6">
          <label>(6)</label>
          <mml:math>
            <mml:mrow>
              <mml:mi>K</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>v</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:mi>A</mml:mi>
              <mml:mo>+</mml:mo>
              <mml:mi>B</mml:mi>
              <mml:mi>deg</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>v</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>+</mml:mo>
              <mml:mi>C</mml:mi>
              <mml:munder>
                <mml:mstyle mathsize="140%" displaystyle="true">
                  <mml:mo>∑</mml:mo>
                </mml:mstyle>
                <mml:mrow>
                  <mml:mi>f</mml:mi>
                  <mml:mo>∋</mml:mo>
                  <mml:mi>v</mml:mi>
                </mml:mrow>
              </mml:munder>
              <mml:mfrac>
                <mml:mn>1</mml:mn>
                <mml:mrow>
                  <mml:mrow>
                    <mml:mo>|</mml:mo>
                    <mml:mi>f</mml:mi>
                    <mml:mo>|</mml:mo>
                  </mml:mrow>
                </mml:mrow>
              </mml:mfrac>
              <mml:mo>+</mml:mo>
              <mml:mi>T</mml:mi>
              <mml:msub>
                <mml:mn>1</mml:mn>
                <mml:mrow>
                  <mml:mrow>
                    <mml:mo>{</mml:mo>
                    <mml:mrow>
                      <mml:mi>v</mml:mi>
                      <mml:mo>∈</mml:mo>
                      <mml:mo>∂</mml:mo>
                      <mml:mi>G</mml:mi>
                    </mml:mrow>
                    <mml:mo>}</mml:mo>
                  </mml:mrow>
                </mml:mrow>
              </mml:msub>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>where <inline-formula><mml:math><mml:mrow><mml:mi> deg </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mi> v </mml:mi><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> is the degree of <italic>v</italic>, <inline-formula><mml:math display="inline"><mml:mrow><mml:mrow><mml:mo> | </mml:mo><mml:mi> f </mml:mi><mml:mo> | </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> is the number of sides of an incident face <inline-formula><mml:math display="inline"><mml:mi> f </mml:mi></mml:math></inline-formula> , and <inline-formula><mml:math><mml:mrow><mml:msub><mml:mn> 1 </mml:mn><mml:mrow><mml:mrow><mml:mo> { </mml:mo><mml:mrow><mml:mi> v </mml:mi><mml:mo> ∈ </mml:mo><mml:mo> ∂ </mml:mo><mml:mi> G </mml:mi></mml:mrow><mml:mo> } </mml:mo></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is the boundary indicator. The face sum includes the outer face. The coefficients <italic>A</italic>, <italic>B</italic>, <italic>C</italic> and <italic>T</italic> are constants to be classified.</p>
      </sec>
      <sec id="sec3dot3">
        <title>3.3. Summation over Vertices</title>
        <p>Let S(G) denote the total curvature:</p>
        <disp-formula id="FD7">
          <label>(7)</label>
          <mml:math>
            <mml:mrow>
              <mml:mi>S</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>G</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:munder>
                <mml:mstyle mathsize="140%" displaystyle="true">
                  <mml:mo>∑</mml:mo>
                </mml:mstyle>
                <mml:mrow>
                  <mml:mi>v</mml:mi>
                  <mml:mo>∈</mml:mo>
                  <mml:mi>V</mml:mi>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mi>G</mml:mi>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                </mml:mrow>
              </mml:munder>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mi>K</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>v</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>The handshaking lemma gives <inline-formula><mml:math display="inline"><mml:mrow><mml:mstyle displaystyle="true"><mml:msub><mml:mo> ∑ </mml:mo><mml:mi> v </mml:mi></mml:msub><mml:mrow><mml:mi> deg </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mi> v </mml:mi><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:mstyle><mml:mo> = </mml:mo><mml:mn> 2 </mml:mn><mml:mi> E </mml:mi></mml:mrow></mml:math></inline-formula> . Interchanging the order of summation in the face term gives one unit from each face because each face<italic>f</italic> contributes <inline-formula><mml:math display="inline"><mml:mrow><mml:mrow><mml:mo> | </mml:mo><mml:mi> f </mml:mi><mml:mo> | </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> copies of <inline-formula><mml:math display="inline"><mml:mrow><mml:mrow><mml:mn> 1 </mml:mn><mml:mo> / </mml:mo><mml:mrow><mml:mrow><mml:mo> | </mml:mo><mml:mi> f </mml:mi><mml:mo> | </mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:mrow></mml:math></inline-formula> . The boundary indicator sums to <italic>L</italic>. Thus</p>
        <disp-formula id="FD8">
          <label>(8)</label>
          <mml:math display="inline">
            <mml:mrow>
              <mml:mstyle displaystyle="true">
                <mml:munder>
                  <mml:mo>∑</mml:mo>
                  <mml:mi>v</mml:mi>
                </mml:munder>
                <mml:mrow>
                  <mml:mtext>deg</mml:mtext>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mi>v</mml:mi>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                </mml:mrow>
              </mml:mstyle>
              <mml:mo>=</mml:mo>
              <mml:mn>2</mml:mn>
              <mml:mi>E</mml:mi>
              <mml:mo>,</mml:mo>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mstyle displaystyle="true">
                <mml:munder>
                  <mml:mo>∑</mml:mo>
                  <mml:mi>v</mml:mi>
                </mml:munder>
                <mml:mrow>
                  <mml:mstyle displaystyle="true">
                    <mml:munder>
                      <mml:mo>∑</mml:mo>
                      <mml:mrow>
                        <mml:mi>f</mml:mi>
                        <mml:mo>∋</mml:mo>
                        <mml:mi>v</mml:mi>
                      </mml:mrow>
                    </mml:munder>
                    <mml:mrow>
                      <mml:mfrac>
                        <mml:mn>1</mml:mn>
                        <mml:mrow>
                          <mml:mrow>
                            <mml:mo>|</mml:mo>
                            <mml:mi>f</mml:mi>
                            <mml:mo>|</mml:mo>
                          </mml:mrow>
                        </mml:mrow>
                      </mml:mfrac>
                    </mml:mrow>
                  </mml:mstyle>
                </mml:mrow>
              </mml:mstyle>
              <mml:mo>=</mml:mo>
              <mml:mi>F</mml:mi>
              <mml:mo>,</mml:mo>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mstyle displaystyle="true">
                <mml:munder>
                  <mml:mo>∑</mml:mo>
                  <mml:mi>v</mml:mi>
                </mml:munder>
                <mml:mrow>
                  <mml:msub>
                    <mml:mn>1</mml:mn>
                    <mml:mrow>
                      <mml:mrow>
                        <mml:mo>{</mml:mo>
                        <mml:mrow>
                          <mml:mi>v</mml:mi>
                          <mml:mo>∈</mml:mo>
                          <mml:mo>∂</mml:mo>
                          <mml:mi>G</mml:mi>
                        </mml:mrow>
                        <mml:mo>}</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:msub>
                </mml:mrow>
              </mml:mstyle>
              <mml:mo>=</mml:mo>
              <mml:mi>L</mml:mi>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>Therefore</p>
        <disp-formula id="FD9">
          <label>(9)</label>
          <mml:math>
            <mml:mrow>
              <mml:mi>S</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>G</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:mi>A</mml:mi>
              <mml:mi>V</mml:mi>
              <mml:mo>+</mml:mo>
              <mml:mn>2</mml:mn>
              <mml:mi>B</mml:mi>
              <mml:mi>E</mml:mi>
              <mml:mo>+</mml:mo>
              <mml:mi>C</mml:mi>
              <mml:mi>F</mml:mi>
              <mml:mo>+</mml:mo>
              <mml:mi>T</mml:mi>
              <mml:mi>L</mml:mi>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>Substitution of Equation (5) into Equation (9) gives the key identity</p>
        <disp-formula id="FD10">
          <label>(10)</label>
          <mml:math>
            <mml:mrow>
              <mml:mi>S</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>G</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:mi>A</mml:mi>
                  <mml:mo>+</mml:mo>
                  <mml:mn>6</mml:mn>
                  <mml:mi>B</mml:mi>
                  <mml:mo>+</mml:mo>
                  <mml:mn>2</mml:mn>
                  <mml:mi>C</mml:mi>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mi>V</mml:mi>
              <mml:mo>+</mml:mo>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:mi>T</mml:mi>
                  <mml:mo>−</mml:mo>
                  <mml:mn>2</mml:mn>
                  <mml:mi>B</mml:mi>
                  <mml:mo>−</mml:mo>
                  <mml:mi>C</mml:mi>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mi>L</mml:mi>
              <mml:mo>−</mml:mo>
              <mml:mn>6</mml:mn>
              <mml:mi>B</mml:mi>
              <mml:mo>−</mml:mo>
              <mml:mi>C</mml:mi>
            </mml:mrow>
          </mml:math>
        </disp-formula>
      </sec>
      <sec id="sec3dot4">
        <title>3.4. Invariance Convention and Range of the Global Counts</title>
        <p><bold>Definition 1 (Triangulation-independence).</bold>A total <italic>S</italic> is called independent of the particular triangulation on <italic>D</italic> when a single real number <italic>s</italic> exists with <italic>S</italic>(<italic>G</italic>) = <italic>s</italic> for every <italic>G</italic> in <italic>D</italic>. Nothing is held fixed in this convention: the boundary polygon, its length <italic>L</italic>, the vertex set, and the number of interior vertices may all vary, and interior vertices may be introduced. The weaker reading, in which the boundary polygon and the vertex set are fixed and only the diagonals are re-chosen, is a consequence of it, since any two triangulations of one fixed polygon are members of <italic>D</italic> with the same <italic>V</italic> and the same <italic>L</italic>. This convention is the one used in the abstract, in Theorem 1, and in the conclusion.</p>
        <p><bold>Lemma 1 (Independent variation of</bold><italic><bold>V</bold></italic><bold>and</bold><italic><bold>L</bold></italic><bold>).</bold>For every integer <italic>n</italic> ≥ 3 and every integer <italic>k</italic> ≥ 0, the class <italic>D</italic> contains a graph with <italic>L</italic> = <italic>n</italic> and <italic>V</italic> = <italic>n</italic> + <italic>k</italic>.</p>
        <p><italic>Proof.</italic>Triangulate a convex n-gon by the fan of diagonals from one vertex. The result is a simple 2-cell plane triangulation of a disk whose outer boundary is the original <italic>n</italic>-cycle, so it lies in <italic>D</italic> with <italic>L</italic> = <italic>n</italic> and <italic>V</italic> = <italic>n</italic>. Now apply <italic>k</italic> stellar subdivisions: at each step choose a bounded triangular face, place a new vertex in its interior, and join it to the three corners of that face [<xref ref-type="bibr" rid="B7">7</xref>]. Each step leaves the outer cycle untouched, so <italic>L</italic> = <italic>n</italic> is preserved; it replaces one triangle by three triangles, so every bounded face stays triangular and the embedding stays 2-cell; and it adds exactly one vertex. After<italic>k</italic> steps the graph lies in <italic>D</italic> with <italic>L</italic> = <italic>n</italic> and <italic>V</italic> = <italic>n</italic> + <italic>k</italic>.</p>
        <p>Consequently, the pairs (<italic>V</italic>, <italic>L</italic>) realized inside <italic>D</italic> are exactly the integer pairs with <italic>L</italic> ≥ 3 and <italic>V</italic> ≥ <italic>L</italic>, a two-dimensional set. In particular (<italic>n</italic>, <italic>n</italic>) and (<italic>n</italic> + 1, <italic>n</italic>) are both realized for every <italic>n</italic> ≥ 3, and (3, 3) and (4, 4) are realized as well, so the two global counts vary independently on <italic>D</italic> and the affine form in Equation (10) is non-degenerate there. This is the property the necessity argument below relies on, and it is exactly what fails on the subclass of maximal outerplanar graphs, where <italic>L</italic> = <italic>V</italic> ties the two counts together.</p>
      </sec>
      <sec id="sec3dot5">
        <title>3.5. Classification Theorem</title>
        <p><bold>Theorem 1 (Complete affine classification).</bold>Let <italic>D</italic> be the class of triangulated polygonal disks of Section 3.1. The total curvature <italic>S</italic>(<italic>G</italic>) is independent of <italic>V</italic>, <italic>L</italic> and the particular triangulation on <italic>D</italic>, in the sense of Definition 1, if and only if the coefficients satisfy</p>
        <disp-formula id="FD11">
          <label>(11)</label>
          <mml:math>
            <mml:mrow>
              <mml:mi>A</mml:mi>
              <mml:mo>+</mml:mo>
              <mml:mn>6</mml:mn>
              <mml:mi>B</mml:mi>
              <mml:mo>+</mml:mo>
              <mml:mn>2</mml:mn>
              <mml:mi>C</mml:mi>
              <mml:mo>=</mml:mo>
              <mml:mn>0</mml:mn>
              <mml:mo>,</mml:mo>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mi>T</mml:mi>
              <mml:mo>=</mml:mo>
              <mml:mn>2</mml:mn>
              <mml:mi>B</mml:mi>
              <mml:mo>+</mml:mo>
              <mml:mi>C</mml:mi>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>Under these two conditions, the invariant total is</p>
        <disp-formula id="FD12">
          <label>(12)</label>
          <mml:math>
            <mml:mrow>
              <mml:mi>S</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>G</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:mo>−</mml:mo>
              <mml:mn>6</mml:mn>
              <mml:mi>B</mml:mi>
              <mml:mo>−</mml:mo>
              <mml:mi>C</mml:mi>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p><italic>Proof.</italic>Sufficiency is immediate: under Equation (11) the coefficients of <italic>V</italic> and of <italic>L</italic> in Equation (10) both vanish, so <italic>S</italic>(<italic>G</italic>) equals the constant of Equation (12) for every <italic>G</italic> in <italic>D</italic>. For necessity, suppose <italic>S</italic>(<italic>G</italic>) = <italic>s</italic> for all <italic>G</italic> in <italic>D</italic>. By Lemma 1 the class contains graphs with (<italic>V</italic>, <italic>L</italic>) = (3, 3) and (<italic>V</italic>, <italic>L</italic>) = (4, 3); substituting both into Equation (10) and subtracting gives <italic>A</italic> + 6<italic>B</italic> + 2<italic>C</italic> = 0. It also contains graphs with (<italic>V</italic>, <italic>L</italic>) = (3, 3) and (<italic>V</italic>, <italic>L</italic>) = (4, 4); substituting these and subtracting gives (<italic>A</italic> + 6<italic>B</italic> + 2<italic>C</italic>) + (<italic>T</italic> − 2<italic>B</italic> − <italic>C</italic>) = 0, hence <italic>T</italic> = 2<italic>B</italic> + <italic>C</italic>. Both coefficients in Equation (10) therefore vanish, the remaining term is the constant of Equation (12), and <italic>s</italic> = −6<italic>B</italic> − <italic>C</italic>. The conditions are thus necessary and sufficient, and they classify the entire affine ansatz up to the two linear constraints.</p>
        <p><bold>Remark 1.</bold>Necessity uses the full class <italic>D</italic>. On the subclass of polygon triangulations without interior vertices one has <italic>L</italic> = <italic>V</italic>, and Equation (10) collapses to <italic>S</italic>(<italic>G</italic>) = (<italic>A</italic> + 4<italic>B</italic> + <italic>C</italic> + <italic>T</italic>)<italic>V</italic> − 6<italic>B</italic> − <italic>C</italic>, so constancy on that subclass alone is equivalent to the single condition <italic>A</italic> + 4<italic>B</italic> + <italic>C</italic> + <italic>T</italic> = 0, again with invariant −6<italic>B</italic> − <italic>C</italic>. Equation (11) implies that condition but is strictly stronger than it, which means that on maximal outerplanar graphs the two displayed conditions are sufficient without being necessary. The pair of conditions is recovered as soon as interior vertices are admitted, which is why Theorem 1 is stated on <italic>D</italic>.</p>
      </sec>
    </sec>
    <sec id="sec4">
      <title>4. Computational Verification</title>
      <sec id="sec4dot1">
        <title>4.1. Experimental Protocol</title>
        <p>The theoretical classification was checked using randomized triangulations generated by an ear-clipping procedure [<xref ref-type="bibr" rid="B8">8</xref>]-[<xref ref-type="bibr" rid="B10">10</xref>]. Two protocols were used. In Protocol 1, convex <italic>n</italic>-gons with <inline-formula><mml:math display="inline"><mml:mrow><mml:mi> n </mml:mi><mml:mo> ∈ </mml:mo><mml:mrow><mml:mo> { </mml:mo><mml:mrow><mml:mn> 10 </mml:mn><mml:mo> , </mml:mo><mml:mn> 15 </mml:mn><mml:mo> , </mml:mo><mml:mn> 20 </mml:mn><mml:mo> , </mml:mo><mml:mn> 25 </mml:mn><mml:mo> , </mml:mo><mml:mn> 30 </mml:mn><mml:mo> , </mml:mo><mml:mn> 40 </mml:mn><mml:mo> , </mml:mo><mml:mn> 50 </mml:mn></mml:mrow><mml:mo> } </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> were triangulated without interior vertices, and 20 triangulations were generated for each <italic>n</italic> and each coefficient set, giving 60 trials per size. In Protocol 2, an ear-clipping triangulation of a convex <italic>L</italic>-gon with <inline-formula><mml:math display="inline"><mml:mrow><mml:mi> L </mml:mi><mml:mo> ∈ </mml:mo><mml:mrow><mml:mo> { </mml:mo><mml:mrow><mml:mn> 10 </mml:mn><mml:mo> , </mml:mo><mml:mn> 20 </mml:mn><mml:mo> , </mml:mo><mml:mn> 30 </mml:mn></mml:mrow><mml:mo> } </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> was followed by <inline-formula><mml:math display="inline"><mml:mrow><mml:mi> k </mml:mi><mml:mo> ∈ </mml:mo><mml:mrow><mml:mo> { </mml:mo><mml:mrow><mml:mn> 1 </mml:mn><mml:mo> , </mml:mo><mml:mn> 3 </mml:mn><mml:mo> , </mml:mo><mml:mn> 8 </mml:mn></mml:mrow><mml:mo> } </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> stellar subdivisions, which places interior vertices and gives disk triangulations with <italic>L</italic> &lt; <italic>V</italic>; again 20 trials were run for each (<italic>L</italic>, <italic>k</italic>) and each coefficient set. Three coefficient pairs (<italic>B</italic>, <italic>C</italic>) were tested in both protocols, as shown in <bold>Table 1</bold>: (−0.5, 1.0), (−1/3, 1.0) and (−0.2, 0.5). For every pair, <italic>A</italic> and <italic>T</italic> were fixed by Equation (11). On each generated graph the program constructed the adjacency relation, counted incident triangular faces at each vertex, included the outer-face contribution 1/<italic>L</italic> for boundary vertices, evaluated <italic>K</italic>(<italic>v</italic>), and compared the summed value with Equation (12). The counting identities of Equation (5) were asserted on every generated graph before the sum was formed.</p>
        <p><bold>Table 1.</bold>Coefficient sets used in the computational verification. <italic>A</italic> and <italic>T</italic> are determined from the classification conditions.</p>
        <table-wrap id="tbl1">
          <label>Table 1</label>
          <table>
            <tbody>
              <tr>
                <td>
                  <bold>Set</bold>
                </td>
                <td>
                  <italic>
                    <bold>B</bold>
                  </italic>
                </td>
                <td>
                  <italic>
                    <bold>C</bold>
                  </italic>
                </td>
                <td>
                  <italic>
                    <bold>A</bold>
                  </italic>
                </td>
                <td>
                  <italic>
                    <bold>T</bold>
                  </italic>
                </td>
                <td>
                  <bold>Predicted</bold>
                  <italic>
                    <bold>S</bold>
                  </italic>
                  <bold>(</bold>
                  <italic>
                    <bold>G</bold>
                  </italic>
                  <bold>)</bold>
                </td>
              </tr>
              <tr>
                <td>1</td>
                <td>−0.5</td>
                <td>1.0</td>
                <td>1.0</td>
                <td>0</td>
                <td>2.0</td>
              </tr>
              <tr>
                <td>2</td>
                <td>−1/3</td>
                <td>1.0</td>
                <td>0</td>
                <td>1/3</td>
                <td>1.0</td>
              </tr>
              <tr>
                <td>3</td>
                <td>−0.2</td>
                <td>0.5</td>
                <td>0.2</td>
                <td>0.1</td>
                <td>0.7</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>These calculations are an implementation check of the counting identity of Equations (8) to (10) and of the sufficiency direction of Theorem 1: they confirm that the summation and the incidence bookkeeping were carried out correctly on concrete graphs. They are not a test of the necessity direction, which is a statement about coefficient tuples violating Equation (11) and is settled by Lemma 1 rather than by sampling. Protocol 1 on its own covers only convex polygons triangulated without interior vertices, so it exercises only the subclass in which <italic>L</italic> = <italic>V</italic>; Protocol 2 was added so that the check also reaches disk triangulations with interior vertices, where the two global counts differ.</p>
      </sec>
      <sec id="sec4dot2">
        <title>4.2. Ear-Clipping Procedure</title>
        <p>For three consecutive polygon vertices (<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi> v </mml:mi><mml:mrow><mml:mi> i </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:msub><mml:mo> , </mml:mo><mml:msub><mml:mi> v </mml:mi><mml:mi> i </mml:mi></mml:msub><mml:mo> , </mml:mo><mml:msub><mml:mi> v </mml:mi><mml:mrow><mml:mi> i </mml:mi><mml:mo> + </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> ), the middle vertex defines an ear when the local turn has the polygon’s orientation, the diagonal joining <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi> v </mml:mi><mml:mrow><mml:mi> i </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi> v </mml:mi><mml:mrow><mml:mi> i </mml:mi><mml:mo> + </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> lies inside the polygon, and no other polygon vertex lies inside the ear triangle. The two-ears theorem guarantees ears for simple polygons, and repeated clipping produces a valid triangulation [<xref ref-type="bibr" rid="B8">8</xref>]-[<xref ref-type="bibr" rid="B10">10</xref>]. In the convex case used for verification, the construction is especially direct and supports efficient randomized generation. One clipping step is shown in <xref ref-type="fig" rid="fig2">Figure 2</xref>. At each step the full set of currently valid ears is computed and one of them is selected uniformly at random, which is the only source of randomness in the generator.</p>
        <fig id="fig2">
          <label>Figure 2</label>
          <graphic xlink:href="https://html.scirp.org/file/5302851-rId67.jpeg?20261009023809" />
        </fig>
        <p><bold>Figure 2.</bold>Schematic ear-clipping step. An ear is removed by inserting the diagonal joining its two neighboring boundary vertices.</p>
      </sec>
      <sec id="sec4dot3">
        <title>4.3. Verification Results</title>
        <p><bold>Table 2</bold> and <bold>Table 3</bold> report the outcome. Across every polygon size, every interior-vertex count and all three coefficient sets, the exact rational sum was equal to the predicted constant in all 960 trials, and the binary64 sum deviated from it by at most 4.9 × 10<sup>−15</sup>, a magnitude consistent with the accumulation of rounding error over <italic>V</italic> additions of terms of order one. The numerical experiment therefore supports the theoretical conclusion that changes in the ear-clipping triangulation alter local degrees and incidences but do not change the classified global sum. Protocol 2 shows the same behaviour when interior vertices are present, so the check covers the domain on which Theorem 1 is stated and not only its outerplanar subclass.</p>
        <p><bold>Table 2.</bold>Protocol 1: convex polygons triangulated without interior vertices, so <italic>L</italic> = <italic>V</italic>. For each <italic>n</italic> the table pools the 60 trials over the three coefficient sets of <bold>Table 1</bold> and reports the largest absolute deviation of the binary64 sum from the predicted constant, together with whether the exact rational sum equaled the prediction in every trial.</p>
        <table-wrap id="tbl2">
          <label>Table 2</label>
          <table>
            <tbody>
              <tr>
                <td>
                  <italic>
                    <bold>n</bold>
                  </italic>
                </td>
                <td>
                  <bold>Trials</bold>
                </td>
                <td>
                  <bold>Max error (binary64)</bold>
                </td>
                <td>
                  <bold>Exact agreement</bold>
                </td>
              </tr>
              <tr>
                <td>10</td>
                <td>60</td>
                <td>
                  1.0 × 10
                  <sup>−15</sup>
                </td>
                <td>Yes</td>
              </tr>
              <tr>
                <td>15</td>
                <td>60</td>
                <td>
                  1.8 × 10
                  <sup>−15</sup>
                </td>
                <td>Yes</td>
              </tr>
              <tr>
                <td>20</td>
                <td>60</td>
                <td>
                  1.9 × 10
                  <sup>−15</sup>
                </td>
                <td>Yes</td>
              </tr>
              <tr>
                <td>25</td>
                <td>60</td>
                <td>
                  2.4 × 10
                  <sup>−15</sup>
                </td>
                <td>Yes</td>
              </tr>
              <tr>
                <td>30</td>
                <td>60</td>
                <td>
                  3.3 × 10
                  <sup>−15</sup>
                </td>
                <td>Yes</td>
              </tr>
              <tr>
                <td>40</td>
                <td>60</td>
                <td>
                  3.8 × 10
                  <sup>−15</sup>
                </td>
                <td>Yes</td>
              </tr>
              <tr>
                <td>50</td>
                <td>60</td>
                <td>
                  4.9 × 10
                  <sup>−15</sup>
                </td>
                <td>Yes</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p><bold>Table 3.</bold>Protocol 2: disk triangulations carrying <italic>k</italic> interior vertices, obtained by stellar subdivision of an ear-clipped convex <italic>L</italic>-gon, so that <italic>L</italic> &lt; <italic>V</italic>. Columns are as in <bold>Table 2</bold>.</p>
        <table-wrap id="tbl3">
          <label>Table 3</label>
          <table>
            <tbody>
              <tr>
                <td>
                  <italic>
                    <bold>L</bold>
                  </italic>
                </td>
                <td>
                  <italic>
                    <bold>k</bold>
                  </italic>
                </td>
                <td>
                  <italic>
                    <bold>V</bold>
                  </italic>
                </td>
                <td>
                  <bold>Trials</bold>
                </td>
                <td>
                  <bold>Max error</bold>
                  <bold>(binary64)</bold>
                </td>
                <td>
                  <bold>Exact</bold>
                  <bold>agreement</bold>
                </td>
              </tr>
              <tr>
                <td>10</td>
                <td>1</td>
                <td>11</td>
                <td>60</td>
                <td>
                  1.3 × 10
                  <sup>−15</sup>
                </td>
                <td>Yes</td>
              </tr>
              <tr>
                <td>10</td>
                <td>3</td>
                <td>13</td>
                <td>60</td>
                <td>
                  1.6 × 10
                  <sup>−15</sup>
                </td>
                <td>Yes</td>
              </tr>
              <tr>
                <td>10</td>
                <td>8</td>
                <td>18</td>
                <td>60</td>
                <td>
                  2.4 × 10
                  <sup>−15</sup>
                </td>
                <td>Yes</td>
              </tr>
              <tr>
                <td>20</td>
                <td>1</td>
                <td>21</td>
                <td>60</td>
                <td>
                  2.4 × 10
                  <sup>−15</sup>
                </td>
                <td>Yes</td>
              </tr>
              <tr>
                <td>20</td>
                <td>3</td>
                <td>23</td>
                <td>60</td>
                <td>
                  2.4 × 10
                  <sup>−15</sup>
                </td>
                <td>Yes</td>
              </tr>
              <tr>
                <td>20</td>
                <td>8</td>
                <td>28</td>
                <td>60</td>
                <td>
                  3.3 × 10
                  <sup>−15</sup>
                </td>
                <td>Yes</td>
              </tr>
              <tr>
                <td>30</td>
                <td>1</td>
                <td>31</td>
                <td>60</td>
                <td>
                  3.6 × 10
                  <sup>−15</sup>
                </td>
                <td>Yes</td>
              </tr>
              <tr>
                <td>30</td>
                <td>3</td>
                <td>33</td>
                <td>60</td>
                <td>
                  3.6 × 10
                  <sup>−15</sup>
                </td>
                <td>Yes</td>
              </tr>
              <tr>
                <td>30</td>
                <td>8</td>
                <td>38</td>
                <td>60</td>
                <td>
                  4.4 × 10
                  <sup>−15</sup>
                </td>
                <td>Yes</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
      </sec>
      <sec id="sec4dot4">
        <title>4.4. Reproducibility of the Computation</title>
        <p>The verification procedure is given below in pseudocode. Four details govern reproducibility. First, the random-selection rule: at every clipping step the complete set of currently valid ears is enumerated and one element of it is drawn uniformly, and in Protocol 2 the triangle to be subdivided is drawn uniformly from the current triangle list. Second, seed handling: a single master seed 20260901 is combined with the polygon size, the interior-vertex count, the coefficient set and the trial index into a per-trial seed string, so each of the 960 trials has a deterministic and independently reproducible stream. Third, arithmetic precision: the totals are formed twice, once exactly with rational arithmetic, the three coefficient pairs being entered as (−1/2, 1), (−1/3, 1) and (−1/5, 1/2) rather than as decimals, and once by left-to-right accumulation in IEEE-754 binary64. Fourth, the error calculation: the reported error is the absolute difference between the binary64 total and the predicted constant −6<italic>B</italic> − <italic>C</italic>, and the tables report the maximum of that quantity over the trials pooled in each row, the exact totals being compared for equality rather than by tolerance.</p>
        <p>Input: boundary length n ≥ 3, interior-vertex count k ≥ 0,</p>
        <p> coefficients B, C (exact rationals), trial index t,</p>
        <p> master seed s0 = 20260901</p>
        <p>Output: exact total S_exact, binary64 total S_float, error err</p>
        <p> 1 A ← −(6B + 2C); T ← 2B + C // Equation (11)</p>
        <p> 2 P ← vertices of a regular convex n-gon, counter-clockwise</p>
        <p> 3 rng ← Mersenne Twister seeded with "s0-n-k-(B,C)-t"</p>
        <p> 4 ring ← (0, 1, …, n−1); Tri ← ∅</p>
        <p> 5 while |ring| &gt; 3 do</p>
        <p> 6 Ears ← { j : the corner at ring[j] is convex and the</p>
        <p> 7 triangle (ring[j−1], ring[j], ring[j+1])</p>
        <p> 8 contains no other vertex of ring }</p>
        <p> 9 j ← rng.choice(Ears) // uniform over all ears</p>
        <p>10 append (ring[j−1], ring[j], ring[j+1]) to Tri</p>
        <p>11 delete ring[j] from ring</p>
        <p>12 append ring to Tri</p>
        <p>13 for i ← 1 to k do // stellar subdivision</p>
        <p>14 f ← rng.randrange(|Tri|); (a,b,c) ← Tri[f]; drop Tri[f]</p>
        <p>15 w ← next unused vertex id</p>
        <p>16 append (a,b,w), (b,c,w), (c,a,w) to Tri</p>
        <p>17 ∂G ← {0, …, n−1}; L ← n; V ← n + k</p>
        <p>18 deg[v] ← degree of v in the edge set induced by Tri</p>
        <p>19 faces[v] ← one entry 3 per triangle of Tri containing v,</p>
        <p>20 plus one entry L if v ∈ ∂G // outer face</p>
        <p>21 assert |E| = 3V − 3 − L and |F| = 2V − 1 − L // Equation (5)</p>
        <p>22 S_exact ← Σ_v ( A + B·deg[v]</p>
        <p>23 + C·Σ_{s ∈ faces[v]} Fraction(1,s)</p>
        <p>24 + T·[v ∈ ∂G] )</p>
        <p>25 S_float ← the same sum accumulated left to right in binary64</p>
        <p>26 err ← | S_float − (−6B − C) |</p>
        <p>27 return (S_exact = −6B − C), err</p>
        <p>Lines 5 to 12 implement the two-ears construction [<xref ref-type="bibr" rid="B8">8</xref>]-[<xref ref-type="bibr" rid="B10">10</xref>], lines 13 to 16 the stellar subdivision used in Lemma 1, and line 21 the counting identity of Equation (5), whose failure would indicate a malformed graph rather than a failure of the classification. The procedure contains no tolerance parameter and no fitted quantity.</p>
      </sec>
    </sec>
    <sec id="sec5">
      <title>5. Results and Discussion</title>
      <sec id="sec5dot1">
        <title>5.1. Main Result</title>
        <p>The central result is the if-and-only-if criterion in Equation (11). It reduces a four-parameter local formula to a two-parameter family whose total is the constant −6<italic>B</italic> − <italic>C</italic>. In this sense, the result extends the viewpoint of isolated combinatorial Gauss-Bonnet formulas: every admissible pair (<italic>B</italic>, <italic>C</italic>) determines <italic>A</italic> and <italic>T</italic> and therefore defines another local curvature functional with the same triangulation-independent property.</p>
      </sec>
      <sec id="sec5dot2">
        <title>5.2. Corollary 1: Higuchi Curvature</title>
        <p>Choose <italic>B</italic> = −1/2 and <italic>C</italic> = 1. Equation (11) gives <italic>A</italic> = 1 and <italic>T</italic> = 0. Equation (6) becomes the Higuchi-type combinatorial curvature in Equation (3), and Equation (12) gives</p>
        <disp-formula id="FD13">
          <label>(13)</label>
          <mml:math>
            <mml:mrow>
              <mml:mi>S</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>G</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:mn>2</mml:mn>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>Thus, the classical planar combinatorial curvature is a special case of the classified affine family [<xref ref-type="bibr" rid="B3">3</xref>].</p>
      </sec>
      <sec id="sec5dot3">
        <title>
          5.3. Corollary 2: Uniform Curvature on a Convex
          <italic>n</italic>
          -Gon
        </title>
        <p>Choose <italic>B</italic> = −1/3 and <italic>C</italic> = 1. Then <italic>A</italic> = 0 and <italic>T</italic> = 1/3, while Equation (12) gives <italic>S</italic>(<italic>G</italic>) = 1. In a triangulation of a convex <italic>n</italic>-gon without interior vertices, every vertex is a boundary vertex and a vertex of degree <italic>d</italic> is incident with <italic>d</italic> − 1 internal triangular faces. Including the outer face of size <italic>n</italic>, Equation (6) </p>
        <disp-formula id="FD14">
          <label>(14)</label>
          <mml:math>
            <mml:mrow>
              <mml:mi>K</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>v</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:mo>−</mml:mo>
              <mml:mfrac>
                <mml:mi>d</mml:mi>
                <mml:mn>3</mml:mn>
              </mml:mfrac>
              <mml:mo>+</mml:mo>
              <mml:mfrac>
                <mml:mrow>
                  <mml:mi>d</mml:mi>
                  <mml:mo>−</mml:mo>
                  <mml:mn>1</mml:mn>
                </mml:mrow>
                <mml:mn>3</mml:mn>
              </mml:mfrac>
              <mml:mo>+</mml:mo>
              <mml:mfrac>
                <mml:mn>1</mml:mn>
                <mml:mi>n</mml:mi>
              </mml:mfrac>
              <mml:mo>+</mml:mo>
              <mml:mfrac>
                <mml:mn>1</mml:mn>
                <mml:mn>3</mml:mn>
              </mml:mfrac>
              <mml:mo>=</mml:mo>
              <mml:mfrac>
                <mml:mn>1</mml:mn>
                <mml:mi>n</mml:mi>
              </mml:mfrac>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>Hence every vertex has the same curvature 1/<italic>n</italic>, independently of the chosen triangulation, and the total curvature is 1. The pointwise statement is specific to that subclass. On an arbitrary member of <italic>D</italic> with boundary length <italic>L</italic> the same coefficients give <italic>K</italic>(<italic>v</italic>) = 1/<italic>L</italic> at every boundary vertex and <italic>K</italic>(<italic>v</italic>) = 0 at every interior vertex, because an interior vertex of degree d is incident with exactly d triangles and with no outer face, so that <italic>A</italic> + <italic>Bd</italic> + <italic>Cd</italic>/3 = −<italic>d</italic>/3 + <italic>d</italic>/3 = 0. The total is again 1, in agreement with Theorem 1, but the curvature is no longer uniform once interior vertices are present.</p>
      </sec>
      <sec id="sec5dot4">
        <title>5.4. Scope and Limitations</title>
        <p>The classification is complete within the affine local ansatz of Equation (6) and for the triangulated planar setting governed by the counting identities in Equation (5). It does not classify nonlinear local functionals, and more general planar graphs with non-triangular bounded faces require different incidence relations. Extending the argument to those graph classes is a natural direction for future work [<xref ref-type="bibr" rid="B6">6</xref>][<xref ref-type="bibr" rid="B7">7</xref>]. Potential applications of invariant local indicators include mesh-quality diagnostics and the detection of structurally unusual vertices in discrete models, but application-specific performance must be validated separately [<xref ref-type="bibr" rid="B5">5</xref>][<xref ref-type="bibr" rid="B10">10</xref>]. Within the setting treated here, the necessity half of Theorem 1 depends on admitting interior vertices, and any restriction of the domain that forces <italic>L</italic> = <italic>V</italic> weakens the conclusion to the single condition of Remark 1. The computational study is likewise an implementation check rather than an independent confirmation of the classification, and it samples convex boundaries only.</p>
      </sec>
    </sec>
    <sec id="sec6">
      <title>6. Conclusion</title>
      <p>A complete coefficient classification has been obtained for affine local vertex-curvature functionals on triangulated polygonal disks, that is, on simple 2-cell plane triangulations of a closed disk whose outer boundary is a simple cycle. Summation of the local expression and standard planar counting identities reduce the problem to two linear constraints: <italic>A</italic> + 6<italic>B</italic> + 2<italic>C</italic> = 0 and <italic>T</italic> = 2<italic>B</italic> + <italic>C</italic>. These conditions are necessary and sufficient for the total curvature to be independent of <italic>V</italic>, <italic>L</italic> and the triangulation in the sense of Definition 1, and the resulting invariant is −6<italic>B</italic> − <italic>C</italic>. Necessity rests on a stellar-subdivision construction showing that <italic>V</italic> and <italic>L</italic> range over an essentially two-dimensional set of pairs within the class; on polygon triangulations without interior vertices, where <italic>L</italic> = <italic>V</italic>, the two conditions remain sufficient but reduce to a single necessary one. The family contains the Higuchi combinatorial curvature and a uniform-curvature specialization on convex n-gons. Randomized ear-clipping and stellar-subdivision tests over multiple polygon sizes and interior-vertex counts reproduce the identity exactly in rational arithmetic and to within 5 × 10<sup>−15</sup> in double precision, serving as an implementation check of the counting argument. The result provides a compact local-to-global framework for further study of discrete curvature on broader classes of planar graphs.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <title>References</title>
      <ref id="B1">
        <label>1.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">do Carmo, M.P. (1976) Differential Geometry of Curves and Surfaces. Prentice Hall.</mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Carmo, M.P.</string-name>
            </person-group>
            <year>1976</year>
            <article-title>Differential Geometry of Curves and Surfaces</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B2">
        <label>2.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Bobenko, A.I. and Suris, Y.B. (2008) Discrete Differential Geometry: Integrable Structure. Springer.</mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Bobenko, A.I.</string-name>
              <string-name>Suris, Y.B.</string-name>
            </person-group>
            <year>2008</year>
            <article-title>Discrete Differential Geometry: Integrable Structure</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B3">
        <label>3.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Higuchi, Y. (2001) Combinatorial Curvature for Planar Graphs. <italic>Journal</italic><italic>of</italic><italic>Graph</italic><italic>Theory</italic>, 38, 220-229. https://doi.org/10.1002/jgt.10004 <pub-id pub-id-type="doi">10.1002/jgt.10004</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1002/jgt.10004">https://doi.org/10.1002/jgt.10004</ext-link></mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Higuchi, Y.</string-name>
            </person-group>
            <year>2001</year>
            <article-title>Combinatorial Curvature for Planar Graphs</article-title>
            <source>Journal of Graph Theory</source>
            <volume>38</volume>
            <pub-id pub-id-type="doi">10.1002/jgt.10004</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B4">
        <label>4.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Knill, O. (2011) A Graph Theoretical Gauss-Bonnet-Chern Theorem. https://people.math.harvard.edu/~knill/graphgeometry/papers/2.pdf</mixed-citation>
          <element-citation publication-type="web">
            <person-group person-group-type="author">
              <string-name>Knill, O.</string-name>
            </person-group>
            <year>2011</year>
            <article-title>A Graph Theoretical Gauss-Bonnet-Chern Theorem</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B5">
        <label>5.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Meyer, M., Desbrun, M., Schröder, P. and Barr, A.H. (2003) Discrete Differential-Geometry Operators for Triangulated 2-Manifolds. In: Hege, H.-C. and Polthier, K., Eds., <italic>Visualiza</italic><italic>tion and Mathematics III</italic>, Springer, 35-57. https://doi.org/10.1007/978-3-662-05105-4_2 <pub-id pub-id-type="doi">10.1007/978-3-662-05105-4_2</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1007/978-3-662-05105-4_2">https://doi.org/10.1007/978-3-662-05105-4_2</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Meyer, M.</string-name>
              <string-name>Desbrun, M.</string-name>
              <string-name>Barr, A.H.</string-name>
              <string-name>Hege, H.</string-name>
              <string-name>Polthier, K.</string-name>
              <string-name>III, S</string-name>
            </person-group>
            <year>2003</year>
            <article-title>Discrete Differential-Geometry Operators for Triangulated 2-Manifolds</article-title>
            <source>In: Hege</source>
            <volume>35</volume>
            <pub-id pub-id-type="doi">10.1007/978-3-662-05105-4_2</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B6">
        <label>6.</label>
        <citation-alternatives>
          <mixed-citation publication-type="book">West, D.B. (2001) Introduction to Graph Theory. 2nd Edition, Prentice Hall.</mixed-citation>
          <element-citation publication-type="book">
            <person-group person-group-type="author">
              <string-name>West, D.B.</string-name>
              <string-name>Edition, P</string-name>
            </person-group>
            <year>2001</year>
            <article-title>Introduction to Graph Theory</article-title>
            <source>2nd Edition</source>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B7">
        <label>7.</label>
        <citation-alternatives>
          <mixed-citation publication-type="book">Diestel, R. (2017) Graph Theory. 5th Edition, Springer.</mixed-citation>
          <element-citation publication-type="book">
            <person-group person-group-type="author">
              <string-name>Diestel, R.</string-name>
              <string-name>Edition, S</string-name>
            </person-group>
            <year>2017</year>
            <article-title>Graph Theory</article-title>
            <source>5th Edition</source>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B8">
        <label>8.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Meisters, G.H. (1975) Polygons Have Ears. <italic>The</italic><italic>American</italic><italic>Mathematical</italic><italic>Monthly</italic>, 82, 648-651. https://doi.org/10.1080/00029890.1975.11993898 <pub-id pub-id-type="doi">10.1080/00029890.1975.11993898</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1080/00029890.1975.11993898">https://doi.org/10.1080/00029890.1975.11993898</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Meisters, G.H.</string-name>
            </person-group>
            <year>1975</year>
            <article-title>Polygons Have Ears</article-title>
            <source>The American Mathematical Monthly</source>
            <volume>82</volume>
            <pub-id pub-id-type="doi">10.1080/00029890.1975.11993898</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B9">
        <label>9.</label>
        <citation-alternatives>
          <mixed-citation publication-type="book">O’Rourke, J. (1998) Computational Geometry in C. 2nd Edition, Cambridge University Press.</mixed-citation>
          <element-citation publication-type="book">
            <person-group person-group-type="author">
              <string-name>Rourke, J.</string-name>
              <string-name>Edition, C</string-name>
            </person-group>
            <year>1998</year>
            <article-title>Computational Geometry in C</article-title>
            <source>2nd Edition</source>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B10">
        <label>10.</label>
        <citation-alternatives>
          <mixed-citation publication-type="book">de Berg, M., Cheong, O., van Kreveld, M. and Overmars, M. (2008) Computational Geometry: Algorithms and Applications. 3rd Edition, Springer.</mixed-citation>
          <element-citation publication-type="book">
            <person-group person-group-type="author">
              <string-name>Berg, M.</string-name>
              <string-name>Cheong, O.</string-name>
              <string-name>Kreveld, M.</string-name>
              <string-name>Overmars, M.</string-name>
              <string-name>Edition, S</string-name>
            </person-group>
            <year>2008</year>
            <article-title>Computational Geometry: Algorithms and Applications</article-title>
            <source>3rd Edition</source>
          </element-citation>
        </citation-alternatives>
      </ref>
    </ref-list>
  </back>
</article>