Demo: Drawing a VM diagram

(The expected tolerance is 1/2 square grid for position and 10 degrees for angle.)

Graded objects:


Help buttons (not graded):


Correct answer

Student view placeholder

In student views this area is used for assessment and score info.
Tools

Staff information

Question

Title:
Demo: Drawing a VM diagram

Variant

Started at:
2026-08-05 00:35:46 (CDT)
Duration:
0s
Show/Hide answer
{
  "vm_diag": [
    {
      "id": 0,
      "x1": 80,
      "y1": 100,
      "type": "pl-fixed-pin",
      "angle": 0,
      "color": "#e6bfa8",
      "label": "",
      "width": 30,
      "graded": false,
      "height": 40,
      "stroke": "#000000",
      "drawPin": true,
      "evented": false,
      "offsetx": 2,
      "offsety": 2,
      "drawGround": true,
      "selectable": false,
      "gradingName": "pl-fixed-pin",
      "strokeWidth": 2
    },
    {
      "id": 1,
      "x1": 380,
      "y1": 100,
      "type": "pl-roller",
      "angle": 0,
      "color": "#e6bfa8",
      "label": "",
      "width": 30,
      "graded": false,
      "height": 40,
      "stroke": "#000000",
      "drawPin": true,
      "evented": false,
      "offsetx": 2,
      "offsety": 2,
      "drawGround": true,
      "selectable": false,
      "gradingName": "pl-roller",
      "strokeWidth": 2
    },
    {
      "id": 2,
      "x1": 80,
      "x2": 380,
      "y1": 100,
      "y2": 100,
      "type": "pl-rod",
      "color": "#ffffff",
      "graded": false,
      "height": 20,
      "label1": "",
      "label2": "",
      "stroke": "#000000",
      "drawPin": true,
      "evented": false,
      "offsetx1": 2,
      "offsetx2": 2,
      "offsety1": 2,
      "offsety2": 2,
      "selectable": false,
      "gradingName": "pl-rod",
      "strokeWidth": 2
    },
    {
      "id": 3,
      "x1d": 80,
      "x2d": 180,
      "y1d": 180,
      "y2d": 180,
      "type": "pl-dimensions",
      "label": "a",
      "x1ref": 80,
      "x2ref": 180,
      "y1ref": 100,
      "y2ref": 100,
      "graded": false,
      "stroke": "#000000",
      "xlabel": 130,
      "ylabel": 190,
      "offsetx": 0,
      "offsety": 0,
      "originY": "center",
      "selectable": false,
      "gradingName": "pl-dimensions",
      "strokeWidth": 1,
      "drawEndArrow": true,
      "drawStartArrow": true,
      "endSupportLine": false,
      "startSupportLine": false,
      "arrowheadWidthRatio": 1.5,
      "arrowheadOffsetRatio": 1.5
    },
    {
      "id": 4,
      "x1d": 180,
      "x2d": 380,
      "y1d": 180,
      "y2d": 180,
      "type": "pl-dimensions",
      "label": "2a",
      "x1ref": 180,
      "x2ref": 380,
      "y1ref": 100,
      "y2ref": 100,
      "graded": false,
      "stroke": "#000000",
      "xlabel": 280,
      "ylabel": 190,
      "offsetx": 0,
      "offsety": 0,
      "originY": "center",
      "selectable": false,
      "gradingName": "pl-dimensions",
      "strokeWidth": 1,
      "drawEndArrow": true,
      "drawStartArrow": true,
      "endSupportLine": false,
      "startSupportLine": false,
      "arrowheadWidthRatio": 1.5,
      "arrowheadOffsetRatio": 1.5
    },
    {
      "id": 5,
      "w1": 60,
      "w2": 60,
      "x1": 130,
      "y1": 100,
      "top": 40,
      "left": 130,
      "type": "pl-distributed-load",
      "angle": 0,
      "label": "",
      "range": 100,
      "graded": false,
      "label1": "",
      "label2": "w",
      "stroke": "#c72c1c",
      "offsetx": 2,
      "offsety": 2,
      "spacing": 20,
      "offsetx1": 2,
      "offsetx2": 2,
      "offsety1": 2,
      "offsety2": -60,
      "selectable": false,
      "gradingName": "pl-distributed-load",
      "strokeWidth": 3,
      "trueHandles": [
        "mtr"
      ],
      "drawEndArrow": true,
      "widthErrorBox": 20,
      "anchor_is_tail": false,
      "drawStartArrow": false,
      "heightErrorBox": 86,
      "offset_forward": 0,
      "XcenterErrorBox": 130,
      "YcenterErrorBox": 67,
      "disregard_sense": false,
      "offset_backward": 66,
      "optional_grading": false,
      "objectDrawErrorBox": null,
      "arrowheadWidthRatio": 2,
      "arrowheadOffsetRatio": 3
    },
    {
      "id": 6,
      "top": 400,
      "left": 80,
      "type": "pl-axes",
      "xneg": 20,
      "xpos": 400,
      "yneg": 160,
      "ypos": 160,
      "graded": false,
      "labelx": "x",
      "labely": "V",
      "stroke": "#000000",
      "evented": false,
      "originY": "center",
      "label_list": [
        {
          "lab": "a",
          "pos": 100,
          "axis": "x"
        },
        {
          "lab": "3a",
          "pos": 300,
          "axis": "x"
        },
        {
          "lab": "-wa/6",
          "pos": -25,
          "axis": "y",
          "offsetx": -20
        },
        {
          "lab": "5wa/6",
          "pos": 125,
          "axis": "y",
          "offsetx": -20
        }
      ],
      "selectable": false,
      "gradingName": "pl-axes",
      "strokeWidth": 2,
      "offsetx_label_x": 0,
      "offsetx_label_y": -30,
      "offsety_label_x": 0,
      "offsety_label_y": -10,
      "supporting_lines": [
        {
          "x": 100
        },
        {
          "x": 300
        }
      ]
    },
    {
      "id": 7,
      "x1": 80,
      "x2": 180,
      "y1": 275,
      "y2": 425,
      "type": "pl-controlled-line",
      "graded": false,
      "stroke": "#ff0000",
      "evented": false,
      "offset_x": 0,
      "offset_y": 0,
      "selectable": false,
      "gradingName": "pl-controlled-line",
      "strokeWidth": 4,
      "handleRadius": 6,
      "widthErrorBox": 20,
      "heightErrorBox": 20,
      "offset_control_x": 0,
      "offset_control_y": 0,
      "objectDrawErrorBox": null,
      "widthErrorBoxControl": 20,
      "heightErrorBoxControl": 20
    },
    {
      "id": 8,
      "x1": 180,
      "x2": 380,
      "y1": 425,
      "y2": 425,
      "type": "pl-controlled-line",
      "graded": false,
      "stroke": "#ff0000",
      "evented": false,
      "offset_x": 0,
      "offset_y": 0,
      "selectable": false,
      "gradingName": "pl-controlled-line",
      "strokeWidth": 4,
      "handleRadius": 6,
      "widthErrorBox": 20,
      "heightErrorBox": 20,
      "offset_control_x": 0,
      "offset_control_y": 0,
      "objectDrawErrorBox": null,
      "widthErrorBoxControl": 20,
      "heightErrorBoxControl": 20
    },
    {
      "id": 9,
      "top": 800,
      "left": 80,
      "type": "pl-axes",
      "xneg": 20,
      "xpos": 400,
      "yneg": 160,
      "ypos": 160,
      "graded": false,
      "labelx": "x",
      "labely": "M",
      "stroke": "#000000",
      "evented": false,
      "originY": "center",
      "label_list": [
        {
          "lab": "a",
          "pos": 100,
          "axis": "x"
        },
        {
          "lab": "3a",
          "pos": 300,
          "axis": "x"
        },
        {
          "lab": "wa^2/3",
          "pos": 100,
          "axis": "y",
          "offsetx": -20
        },
        {
          "lab": "wa^2/6",
          "pos": 50,
          "axis": "y",
          "offsetx": -20
        },
        {
          "lab": "-wa^2/3",
          "pos": -100,
          "axis": "y",
          "offsetx": -20
        },
        {
          "lab": "-wa^2/6",
          "pos": -50,
          "axis": "y",
          "offsetx": -20
        }
      ],
      "selectable": false,
      "gradingName": "pl-axes",
      "strokeWidth": 2,
      "offsetx_label_x": 0,
      "offsetx_label_y": -30,
      "offsety_label_x": 0,
      "offsety_label_y": -10,
      "supporting_lines": [
        {
          "x": 100
        },
        {
          "x": 300
        },
        {
          "y": 100
        },
        {
          "y": 50
        },
        {
          "y": -100
        },
        {
          "y": -50
        }
      ]
    },
    {
      "id": 10,
      "x1": 80,
      "x2": 130,
      "x3": 180,
      "y1": 800,
      "y2": 675,
      "y3": 700,
      "type": "pl-controlled-curved-line",
      "graded": true,
      "stroke": "#ff0000",
      "evented": false,
      "offset_x": 0,
      "offset_y": 0,
      "selectable": false,
      "gradingName": "pl-controlled-curved-line",
      "strokeWidth": 4,
      "drawErrorBox": true,
      "handleRadius": 6,
      "widthErrorBox": 20,
      "heightErrorBox": 20,
      "offset_control_x": 20,
      "offset_control_y": 20,
      "objectDrawErrorBox": null,
      "widthErrorBoxControl": 60,
      "heightErrorBoxControl": 60
    },
    {
      "id": 11,
      "x1": 180,
      "x2": 380,
      "y1": 700,
      "y2": 800,
      "type": "pl-controlled-line",
      "graded": true,
      "stroke": "#ff0000",
      "evented": false,
      "offset_x": 0,
      "offset_y": 0,
      "selectable": false,
      "gradingName": "pl-controlled-line",
      "strokeWidth": 4,
      "drawErrorBox": true,
      "handleRadius": 6,
      "widthErrorBox": 20,
      "heightErrorBox": 20,
      "offset_control_x": 0,
      "offset_control_y": 0,
      "objectDrawErrorBox": null,
      "widthErrorBoxControl": 20,
      "heightErrorBoxControl": 20
    }
  ]
}
History
dec frac
rad deg