{
  "schema": "physics-anim-scene",
  "version": 1,
  "pixelsPerMeter": 80,
  "gravityAcceleration": 9.8,
  "coulombK": 8987551792.3,
  "timeScale": 0.5,
  "canvasBackground": {
    "mode": "coordinate",
    "origin": {
      "x": 0,
      "y": 0
    }
  },
  "view": {
    "x": 30,
    "y": 30,
    "scale": 0.8
  },
  "entities": [
    {
      "id": 90,
      "type": "RichTextEditor",
      "state": {
        "pos": {
          "x": 360,
          "y": 65
        },
        "width": 660,
        "height": 100,
        "text": "## 牛顿第二定律 · 控制变量\n光滑水平桌面俯视图，蓝色物块质量 0.50 kg。",
        "fontSize": 16,
        "fontWeight": 400,
        "backgroundColor": "#ffffff",
        "backgroundOpacity": 0.96,
        "textColor": "#163047",
        "borderColor": "#cbd5e1",
        "borderWidth": 1,
        "cornerRadius": 10,
        "showBorder": true,
        "padding": 18,
        "lineHeight": 1.45,
        "locked": true
      }
    },
    {
      "id": 3,
      "type": "MechanicsHorizontalTabletop",
      "state": {
        "pos": {
          "x": 355,
          "y": 350
        },
        "width": 630,
        "height": 260,
        "friction": 0,
        "frictionMode": "simple",
        "rollingFriction": 0,
        "enabled": true,
        "color": "#f1f5f9",
        "borderColor": "#94a3b8",
        "locked": true
      }
    },
    {
      "id": 1,
      "type": "MechanicsBlock",
      "state": {
        "pos": {
          "x": 180,
          "y": 350
        },
        "vel": {
          "x": 0,
          "y": 0
        },
        "width": 60,
        "height": 40,
        "mass": 0.5,
        "angle": 0,
        "omega": 0,
        "color": "#2563eb",
        "useGravity": false,
        "locked": false,
        "elasticityCoefficient": 0,
        "friction": 0,
        "frictionMode": "simple",
        "showForces": false,
        "showVelocityVector": true,
        "showAccelerationVector": false,
        "showTrail": false,
        "isPointMass": false
      }
    },
    {
      "id": 2,
      "type": "MechanicsExternalForce",
      "state": {
        "pos": {
          "x": 180,
          "y": 350
        },
        "targetId": 1,
        "targetEndpoint": "",
        "targetLocalX": 0,
        "targetLocalY": 0,
        "forceN": 1,
        "angleDeg": 0,
        "forceMode": "constant",
        "enabled": true,
        "autoBindOnDrop": false,
        "showArrow": true,
        "color": "#d97706",
        "locked": false
      }
    },
    {
      "id": 4,
      "type": "Ruler",
      "state": {
        "pos": {
          "x": 360,
          "y": 520
        },
        "length": 600,
        "thickness": 24,
        "angleDeg": 0,
        "unit": "m",
        "minorStep": 0.25,
        "majorEvery": 4,
        "showTicks": true,
        "showNumbers": true,
        "showMeasure": true,
        "showEntityMarkers": false,
        "commonGraduation": false,
        "fillColor": "#f8fafc",
        "strokeColor": "#64748b",
        "opacity": 1,
        "locked": true
      }
    },
    {
      "id": 5,
      "type": "Stopwatch",
      "state": {
        "pos": {
          "x": 610,
          "y": 190
        },
        "width": 148,
        "height": 84,
        "displayStyle": "digital",
        "controlMode": "main",
        "enabled": false,
        "timeScale": 1,
        "precisionSec": 0.01,
        "zeroSimTime": 0,
        "heldSec": 0,
        "showDial": false,
        "locked": true
      }
    },
    {
      "id": 91,
      "type": "RichTextEditor",
      "state": {
        "pos": {
          "x": 960,
          "y": 250
        },
        "width": 430,
        "height": 450,
        "text": "### 两组控制变量实验\n**A · 固定质量**\nm = 0.50 kg，F = 0.50、1.00、1.50 N。\n\n**B · 固定恒力**\nF = 1.00 N，m = 0.50、0.75、1.00 kg。\n\n每次先重置，再选中物块改质量，或选中橙色外力改“大小 F (N)”。\n运行到约 1.5 s，暂停读取 v 与 t。\n\n用图像斜率测 a，比较 a/F 与 am。水平方向向右为正。",
        "fontSize": 16,
        "fontWeight": 400,
        "backgroundColor": "#ffffff",
        "backgroundOpacity": 0.96,
        "textColor": "#163047",
        "borderColor": "#cbd5e1",
        "borderWidth": 1,
        "cornerRadius": 10,
        "showBorder": true,
        "padding": 18,
        "lineHeight": 1.45,
        "locked": true
      }
    },
    {
      "id": 6,
      "type": "ObservationVariables",
      "state": {
        "pos": {
          "x": 960,
          "y": 640
        },
        "width": 420,
        "height": 252,
        "title": "物块实时测量",
        "fontSize": 13,
        "compactMode": false,
        "accentColor": "#0f766e",
        "locked": true,
        "definitions": [
          {
            "id": "reading_mass",
            "name": "mass",
            "label": "质量 m / kg",
            "expression": "ref_1_basic_mass",
            "visible": true
          },
          {
            "id": "reading_x",
            "name": "x",
            "label": "位移 x / m",
            "expression": "ref_1_basic_x - 2.25",
            "visible": true
          },
          {
            "id": "reading_vx",
            "name": "vx",
            "label": "速度 vₓ / (m/s)",
            "expression": "ref_1_block_vx",
            "visible": true
          },
          {
            "id": "reading_ke",
            "name": "ke",
            "label": "动能 Eₖ / J",
            "expression": "ref_1_block_ke",
            "visible": true
          }
        ]
      }
    },
    {
      "id": 7,
      "type": "CoordinateSystem",
      "state": {
        "pos": {
          "x": 360,
          "y": 715
        },
        "width": 640,
        "height": 215,
        "enabled": true,
        "targetEntityIdX": "",
        "targetEntityIdY": "1",
        "xMode": "time",
        "yMode": "block_vx",
        "ySeries": [
          {
            "enabled": true,
            "targetEntityId": "1",
            "yMode": "block_vx",
            "color": "#2563eb"
          }
        ],
        "sampleStepSec": 0.008333333333333333,
        "maxPoints": 2400,
        "timeWindowSec": 3,
        "autoY": true,
        "xLabel": "t / s",
        "yLabel": "vₓ / (m/s)",
        "showExtremaX": false,
        "showExtremaY": false,
        "showIntercepts": false,
        "dataSeries": [
          []
        ],
        "data": [],
        "locked": true
      }
    }
  ]
}
