{
  "aliases": null,
  "backlinks": [
    {
      "field": "defines",
      "target": "8R4CVVV8WT"
    },
    {
      "field": "uses",
      "target": "99SCT623E8"
    },
    {
      "field": "uses",
      "target": "9TBVX1RHDB"
    },
    {
      "field": "uses",
      "target": "DHC96EYCN6"
    },
    {
      "field": "uses",
      "target": "E1V8CPXK24"
    },
    {
      "field": "uses",
      "target": "PF5Z57DDG2"
    },
    {
      "field": "uses",
      "target": "VF17XWCK8Z"
    },
    {
      "field": "uses",
      "target": "WVD069C7QF"
    },
    {
      "field": "uses",
      "target": "Y3WG213N0Q"
    },
    {
      "field": "about",
      "target": "DHC96EYCN6"
    },
    {
      "field": "about",
      "target": "WVD069C7QF"
    }
  ],
  "body": "\n## Summary\n\nA B-spline is a [[spline|84TJ8KQ926]] of given degree on a given knot sequence that is nonnegative and nonzero only on a few consecutive knot intervals.\nThe B-splines of degree $p$ on a knot sequence form a basis of the corresponding spline space.\nSo every such spline is a unique combination of them.\nThey are computed by a stable recursion, they sum to $1$, and each one is local.\nThis makes them the standard representation of splines in numerical work and in computer-aided design.\nCurves built from them, including [[NURBS|Y8B2N9ERPE]], are evaluated with [[de Boor's algorithm|5JHFB384BF]].\n\n## Explanations\n\n### L1 human\n\nA B-spline is a small smooth bump made of polynomial pieces.\nOf degree $0$ it is a box, equal to $1$ on one interval and $0$ elsewhere.\nOf degree $1$ it is a tent, rising from $0$ to $1$ and back down over two intervals.\nHigher degrees give smoother and wider bumps.\nAny spline is a weighted sum of such bumps, and changing one weight only changes the curve nearby.\nThe [[definition|8R4CVVV8WT]] gives the recursion.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "kind": "concept",
    "msc": [
      "41A15",
      "65D07",
      "65D17"
    ],
    "name": "B-spline",
    "same_as": {
      "wikidata": "Q2083109",
      "wikipedia": "B-spline"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/B-spline"
      }
    ],
    "specializes": [
      "84TJ8KQ926"
    ],
    "tag": "62AFX32JGT"
  },
  "kind": "concept",
  "link": "https://tamnd.github.io/math2/node/62AFX32JGT/",
  "links": [
    {
      "field": "specializes",
      "target": "84TJ8KQ926"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/62AFX32JGT.md",
  "msc": [
    "41A15",
    "65D07",
    "65D17"
  ],
  "name": "B-spline",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/62A/62AFX32JGT.md",
  "status": null,
  "tag": "62AFX32JGT",
  "uri": "m2://62AFX32JGT",
  "url": "https://tamnd.github.io/math2/wiki/b-spline/",
  "writing": {
    "tag": "62AFX32JGT",
    "kind": "concept",
    "level": "W0",
    "next": [
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
