{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Statement\n\nLet $M$ be a closed polygon mesh in $\\R^3$: finitely many vertices, edges and polygonal faces, where every edge lies on exactly two faces.\nThe *valence* of a vertex is the number of edges at it; on such a mesh it equals the number of faces at it.\nOne step of *Catmull–Clark subdivision* builds a new mesh $M'$ as follows.\n\n1. For each face $f$, the face point $F_f$ is the average of the vertices of $f$.\n2. For each edge $e$ with endpoints $P_1, P_2$ and adjacent faces $f_1, f_2$, the edge point is $E_e = \\frac{1}{4}(P_1 + P_2 + F_{f_1} + F_{f_2})$.\n3. Each old vertex $P$ of valence $n$ moves to $P' = \\frac{1}{n}\\big(Q + 2R + (n - 3) P\\big)$.\n   Here $Q$ is the average of the face points of the $n$ faces at $P$.\n   Also, $R$ is the average of the midpoints of the $n$ edges at $P$.\n4. Each face $f$ with $k$ vertices is replaced by $k$ quadrilaterals.\n   The one at a vertex $P$ of $f$ has as vertices $P'$, the edge points of the two edges of $f$ at $P$, and $F_f$.\n\nCall a vertex *extraordinary* if its valence is not $4$.\nThen the following hold.\n\n1. Every face of $M'$ is a quadrilateral, and from the second step on, the number of extraordinary vertices does not change.\n2. Consider a part of the mesh where all faces are quadrilaterals and all vertices have valence $4$.\n   There the step is the refinement rule of the uniform bicubic [[B-spline|62AFX32JGT]] surface with the mesh as control net.\n   So the repeated meshes converge there to that surface, which is twice continuously differentiable.\n3. The repeated meshes $M, M', M'', \\ldots$ converge to a limit surface, which has a continuous tangent plane also at the limits of the extraordinary vertices.\n\n## Remarks\n\nClause 1 is a count of valences.\nFace points get the valence of the old face, edge points get valence $4$, and moved old vertices keep their valence.\nSo after one step only the old extraordinary vertices and the face points of non-quadrilateral faces are extraordinary, and later steps create no new ones.\nClause 2 is checked by writing a bicubic B-spline patch on a uniform grid and halving the knot spacing.\nThe new control points are then given by the three averaging rules above with $n = 4$, where the vertex rule becomes $P' = \\frac14(Q + 2R + P)$.\nClause 3 needs a separate analysis of the subdivision matrix around an extraordinary vertex, through its eigenvalues; the surface is in general not twice differentiable there.\nExample: start from a cube; after one step it has $24$ quadrilateral faces, and its $8$ corners stay extraordinary of valence $3$.\nThe limit surface is a smooth rounded cube.\n\n## Explanations\n\n### L1 human\n\nThe method turns a coarse box-like model into a smooth surface by repeated refinement.\nAt each step every face is cut into small four-sided pieces, and every point is moved toward a weighted average of its neighbours.\nThe corners get rounded a little more each time, and the shapes settle down to a smooth limit.\nA cube becomes a rounded, pebble-like shape.\n\n### L2 human\n\nCatmull–Clark subdivision is the best known example of a [[subdivision surface|N2JTWEJ1F9]].\nIt generalises bicubic B-spline surfaces from regular grids to meshes of any topology, and it is widely used in computer graphics and animation.\nThe price is a loss of smoothness at the few extraordinary points, which is studied through the spectrum of the local subdivision matrix.\nOther schemes, such as Loop subdivision for triangle meshes, follow the same pattern.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "about": [
      "N2JTWEJ1F9"
    ],
    "kind": "statement",
    "msc": [
      "65D17",
      "68U05",
      "65D18"
    ],
    "name": "Catmull–Clark subdivision surface",
    "role": "theorem",
    "same_as": {
      "wikidata": "Q1051211",
      "wikipedia": "Catmull–Clark subdivision surface"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Catmull%E2%80%93Clark_subdivision_surface"
      }
    ],
    "tag": "PF5Z57DDG2",
    "uses": [
      "N2JTWEJ1F9",
      "62AFX32JGT"
    ]
  },
  "kind": "statement",
  "link": "https://tamnd.github.io/math2/node/PF5Z57DDG2/",
  "links": [
    {
      "field": "about",
      "target": "N2JTWEJ1F9"
    },
    {
      "field": "uses",
      "target": "N2JTWEJ1F9"
    },
    {
      "field": "uses",
      "target": "62AFX32JGT"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/PF5Z57DDG2.md",
  "msc": [
    "65D17",
    "68U05",
    "65D18"
  ],
  "name": "Catmull–Clark subdivision surface",
  "prov": null,
  "role": "theorem",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/PF5/PF5Z57DDG2.md",
  "status": null,
  "tag": "PF5Z57DDG2",
  "uri": "m2://PF5Z57DDG2",
  "url": "https://tamnd.github.io/math2/wiki/catmull-clark-subdivision-surface/",
  "writing": {
    "tag": "PF5Z57DDG2",
    "kind": "statement",
    "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
      }
    ]
  }
}
