{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Definition\n\nA *control mesh* is a polygon mesh $M$ in $\\R^3$.\nIt is a finite set of vertices with positions in $\\R^3$, together with edges and faces that form a combinatorial surface.\nA *subdivision scheme* is a rule that maps each control mesh $M_k$ to a refined control mesh $M_{k+1}$ such that:\n\n1. the connectivity of $M_{k+1}$ is obtained from that of $M_k$ by a fixed combinatorial refinement, such as splitting every face;\n2. the position of each vertex of $M_{k+1}$ is a finite affine combination $\\sum_v w_v P_v$, with $\\sum_v w_v = 1$, of positions $P_v$ of vertices of $M_k$ near it;\n3. the weights $w_v$ depend only on the local connectivity of $M_k$, not on the positions.\n\nThe *subdivision surface* of $M_0$ is the limit of the meshes $M_0, M_1, M_2, \\dots$, when this limit exists as a continuous surface.\n\n## Remarks\n\nExample: the curve analogue, Chaikin's scheme, maps a polygon with vertices $P_i$ to the polygon with vertices $\\tfrac34 P_i + \\tfrac14 P_{i+1}$ and $\\tfrac14 P_i + \\tfrac34 P_{i+1}$.\nThese are affine combinations with weights summing to $1$ that depend only on adjacency, so clauses 2 and 3 hold.\nThe limit curve is the uniform quadratic [[B-spline|62AFX32JGT]] with control points $P_i$.\nThe surface schemes of Doo–Sabin, [[Catmull–Clark|PF5Z57DDG2]] and Loop are subdivision schemes in this sense; on regular parts of the mesh their limits are biquadratic, bicubic and box-spline surfaces.\nNon-example: the rule $P \\mapsto 2P$ applied to all vertices has weights summing to $2$, so clause 2 fails.\nThe meshes grow without bound, and the result depends on the choice of origin.\nThe condition $\\sum_v w_v = 1$ makes the scheme commute with affine maps of space, so the limit surface does not depend on the coordinate system.\nNear extraordinary vertices, those with a nonstandard number of neighbors, the smoothness of the limit is studied through the eigenvalues of the local subdivision matrix.\n\n## Explanations\n\n### L1 human\n\nA subdivision scheme is a recipe that turns a coarse mesh into a finer one by averaging nearby points with fixed weights.\nApplying it over and over gives a sequence of meshes that converges to a smooth surface, the subdivision surface.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "defines": "N2JTWEJ1F9",
    "kind": "definition",
    "msc": [
      "65D17",
      "65D18",
      "68U05"
    ],
    "name": "Subdivision surface",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Subdivision_surface"
      }
    ],
    "tag": "E1V8CPXK24",
    "uses": [
      "62AFX32JGT",
      "84TJ8KQ926"
    ]
  },
  "kind": "definition",
  "link": "https://tamnd.github.io/math2/node/E1V8CPXK24/",
  "links": [
    {
      "field": "defines",
      "target": "N2JTWEJ1F9"
    },
    {
      "field": "uses",
      "target": "62AFX32JGT"
    },
    {
      "field": "uses",
      "target": "84TJ8KQ926"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/E1V8CPXK24.md",
  "msc": [
    "65D17",
    "65D18",
    "68U05"
  ],
  "name": "Subdivision surface",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/E1V/E1V8CPXK24.md",
  "status": null,
  "tag": "E1V8CPXK24",
  "uri": "m2://E1V8CPXK24",
  "url": "https://tamnd.github.io/math2/wiki/subdivision-surface-definition/",
  "writing": {
    "tag": "E1V8CPXK24",
    "kind": "definition",
    "level": "W0",
    "next": [
      {
        "what": "an inventory row",
        "note": "the row of the inventory that the node accounts for",
        "have": 0,
        "want": 1
      },
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
