Textbook section
SVG · ground coordinates
Diagram studies · 01–08
Eight ways to show the same tipping case. Change the load, inspect a different edge, or isolate a force to compare how each view holds up.
Final JSXGraph experiment ↗ Drag a force, inspect its live moment arm, and compare automatic labels with crowded loads.
SVG · ground coordinates
Canvas 2D · gravity stays vertical
SVG · small multiples
SVG · line of action + lever arm
Three.js · orthographic 3D
JSXGraph · interactive construction
SVG · separate label column
SVG · linked views
Coordinates use the ground frame: x forward, y left, z normal. The section uses u inward from the selected edge and z normal. The reactions are the resultants required for equilibrium; an outside reaction cannot be supplied by these contacts.
| Force | Vector (x, y, z), N | Point (x, y, z), m | Section (u, z), N | Along edge, N |
|---|
The closest mechanics-specific options are Meclib and PrairieLearn’s drawing components. JSXGraph and Three.js are running in studies F and E. The other six studies are original renderers using the same calculated positions and forces.
| Library / reference | Useful ideas | Fit for this tool |
|---|---|---|
| Meclib | Mechanics symbols, interactive FBDs, supports and force objects built on JSXGraph. | Closest specialist reference. Its STACK/Moodle workflow needs adaptation. Reuse permission was not established from the repository overview; no code copied. |
| PrairieLearn pl-drawing | Explicit arrow anchor at head or tail, vector labels, force and moment drawing tools. | Good drawing conventions. Built on Fabric.js and tied to PrairieLearn. Current client-side source is under AGPL terms; no source copied. |
| PrairieDraw | Drawing in physical coordinates, transformations, arrows and engineering annotations. | A model for B’s Canvas approach. PrairieLearn recommends pl-drawing for new questions. |
| JSXGraph | Linked points, arrows, automatic label positioning, measurements, pan and zoom. SVG output. | Version 1.13.3 under MIT. F uses fixed geometry; the separate interaction lab tests constrained dragging, dependent geometry, and automatic labels. |
| Three.js ArrowHelper | Explicit 3D origin, direction and length. Orbit controls expose hidden attachments. | Working trial in E, version 0.180.0 under MIT. Adds a camera and WebGL; keep a 2D view for reading moments. |
| Konva | Canvas arrows, selectable objects and hit testing. | Useful if this becomes a diagram editor. It does not supply the force model or label placement; no runtime trial here. |
My starting preference is A for the main calculation, D for explaining moments, and E as an optional inspection view. B makes slope easier to read. C separates forces that share a point, G gives labels their own space, and H connects the section to the footprint. F compares rendering and navigation; the separate interaction lab tests JSXGraph’s draggable geometry.
Implementation notes, sources and reproducible cases · Research checked 29 September 2026.