{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Definition\n\nLet $d \\ge 1$ and let $G = (V, E)$ be a finite [[graph|0JD5C82QMB]].\nA *framework* in $\\R^d$ is a pair $(G, p)$ with $p \\colon V \\to \\R^d$.\nWrite $\\norm{\\cdot}$ for the [[Euclidean distance|0C95TG69SG]].\nThe framework $(G, p)$ is *rigid* if there is $\\varepsilon \u003e 0$ with the following property.\nEvery $q \\colon V \\to \\R^d$ that satisfies both conditions below also satisfies $\\norm{q(u) - q(v)} = \\norm{p(u) - p(v)}$ for all $u, v \\in V$.\n\n1. $\\norm{q(v) - p(v)} \u003c \\varepsilon$ for every $v \\in V$.\n2. $\\norm{q(u) - q(v)} = \\norm{p(u) - p(v)}$ for every edge $uv \\in E$.\n\nA framework that is not rigid is called *flexible*.\n\n## Remarks\n\nSo a framework is rigid when every nearby placement with the same bar lengths is congruent to it.\nExample: a triangle $K_3$ placed at three non-collinear points of $\\R^2$ is rigid.\nIts three bar lengths are all the pairwise distances, so condition 2 already gives the conclusion.\n\nNon-example: the cycle on four vertices placed at the corners of a unit square in $\\R^2$ is flexible.\nFor small $t \u003e 0$, the rhombus with corners $(0, 0)$, $(1, 0)$, $(1 + \\sin t, \\cos t)$ and $(\\sin t, \\cos t)$ keeps all four bar lengths equal to $1$.\nIts diagonal from $(0, 0)$ to $(1 + \\sin t, \\cos t)$ has length different from $\\sqrt{2}$.\n\nAn equivalent form: every continuous motion of the vertices that keeps all bar lengths is the restriction of a family of isometries of $\\R^d$.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "defines": "V5YS9BZX0N",
    "kind": "definition",
    "msc": [
      "52C25",
      "51K99"
    ],
    "name": "Rigidity of frameworks",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Structural_rigidity"
      }
    ],
    "tag": "3D1J3AXS69",
    "uses": [
      "0JD5C82QMB",
      "0C95TG69SG"
    ]
  },
  "kind": "definition",
  "link": "https://tamnd.github.io/math2/node/3D1J3AXS69/",
  "links": [
    {
      "field": "defines",
      "target": "V5YS9BZX0N"
    },
    {
      "field": "uses",
      "target": "0JD5C82QMB"
    },
    {
      "field": "uses",
      "target": "0C95TG69SG"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/3D1J3AXS69.md",
  "msc": [
    "52C25",
    "51K99"
  ],
  "name": "Rigidity of frameworks",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/3D1/3D1J3AXS69.md",
  "status": null,
  "tag": "3D1J3AXS69",
  "uri": "m2://3D1J3AXS69",
  "url": "https://tamnd.github.io/math2/wiki/rigidity-of-frameworks-definition/",
  "writing": {
    "tag": "3D1J3AXS69",
    "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
      }
    ]
  }
}
