Mechanism Linkage Lab

Mechanism Linkage Lab

Place fixed pivots A and D, connect crank A–B, coupler B–C and rocker C–D, then drive the crank through an angle sweep. Each closure solves the intersection of circles centered on B and D. Choose the left or right assembly by the sign of cross(D−B,C−B); the tool keeps that sign across regular poses and breaks its path at toggles or impossible angles. The rigid coupler marker P moves with B–C. A toggle has coincident branches, so actual physical continuation is not uniquely determined. Distances are consistent millimeters in a planar, perfectly rigid model; forces, collisions and real-machine safety are outside its scope.

1. Define the four-bar

A and D are fixed ground pivots. A–B is the driven crank, B–C the coupler and C–D the rocker. Every length and coordinate is in mm.

3. Restore a project

Open or paste a strict version-1 project JSON file up to 20 kB. Duplicate keys, missing/extra fields and invalid lengths leave the current project unchanged.

Edit the full-rotation example, then analyze.

Comments & questions

Mechanism Linkage Lab

Place fixed pivots A and D, connect crank A–B, coupler B–C and rocker C–D, then drive the crank through an angle sweep. Each closure solves the intersection of circles centered on B and D. Choose the left or right assembly by the sign of cross(D−B,C−B); the tool keeps that sign across regular poses and breaks its path at toggles or impossible angles. The rigid coupler marker P moves with B–C. A toggle has coincident branches, so actual physical continuation is not uniquely determined. Distances are consistent millimeters in a planar, perfectly rigid model; forces, collisions and real-machine safety are outside its scope.

Key features

  • Exact circle–circle closure for a rigid planar four-bar, with user-specified fixed pivots and three moving lengths
  • Two explicit elbow branches defined by cross-product orientation, without silent branch switching
  • Analytic insertion of feasibility-boundary angles even when a coarse sweep would skip a narrow blocked interval
  • Separate regular, toggle, unreachable and coincident-center indeterminate states, plus closure residual
  • Movable crank preview, segmented coupler-point trajectory and color-coded feasible/infeasible angular strip
  • Local sweep CSV, standalone SVG, result JSON and strict restorable project JSON

How to use

  1. Enter fixed A and D coordinates plus crank, coupler and rocker lengths in consistent millimeters; use the full-rotation or blocked-angle example to start.
  2. Select the left or right assembly branch and a driven crank angle. Optionally position a marker by its fraction along B–C and its signed perpendicular offset.
  3. Choose sweep start/end and angle step, then analyze. The sweep inserts exact circle-tangency candidates in addition to your grid angles.
  4. Scrub the angle slider and inspect A/B/C/D/P coordinates, output rocker angle, transmission angle and closure error. Unreachable and coincident-center poses do not invent a moving joint.
  5. Review the segmented trace and status table; save SVG/CSV/report or a project JSON, and restore a project from a local file or pasted JSON.

Use cases

  • Compare two assembly branches of the same four-bar dimensions
  • Locate crank angles with no geometric closure before discussing a design
  • Visualize a coupler marker trajectory without interpolating through inaccessible poses
  • Teach why a toggle is a singular branch decision and why a physical mechanism needs more than geometry

Frequently asked questions

What do left and right branch mean?

They are the positive and negative signs of cross(D−B,C−B), where B is the driven crank endpoint. The selected sign is held at regular positions. At a toggle both circle intersections meet and the physical continuation cannot be inferred uniquely from geometry alone.

How are impossible crank angles identified?

The distance from B to fixed D must lie between |coupler−rocker| and coupler+rocker. Outside that interval the two circles do not intersect. The sweep also inserts analytic boundary angles, so a coarse grid cannot hide a narrow inaccessible range.

Why is a pose called indeterminate?

If B and D coincide and the coupler and rocker have equal lengths, the two closure circles are identical and infinitely many C points satisfy lengths. No unique moving-joint location or path is reported there.

Is the trajectory continuous across a toggle?

Regular samples on one selected branch form a continuous segment. A toggle terminates that segment because both branches meet and next motion is ambiguous without dynamics, stops or assembly constraints. The SVG does not draw a false connecting line across the singularity.

What units and accuracy apply?

All coordinates, lengths and marker offsets are millimeters; angles are degrees. Circle intersections are floating-point calculations with a relative tolerance of 1e−9 and a displayed length-closure residual. This is numerical kinematics, not exact symbolic or certified dimensional analysis.

Can this certify a machine or predict forces?

No. The model has perfectly rigid, planar, zero-clearance joints. It does not check collisions, bearings, elastic deflection, torque, speed limits, fabrication tolerance, guards or operator safety.

Are project files uploaded?

No. The solver and exports run in this browser tab. JSON/CSV/SVG are downloaded only on request; the project is not submitted to an application API.

Privacy

Link lengths, pivot coordinates and results remain in this browser tab. Local JSON, CSV and SVG are created only after you request a download; no linkage data is submitted to an application API.

Related Tools

Geometry Construction LabFunction Graph WorkbenchAnalog Circuit LabWasm Module InspectorHreflang Matrix CheckerAST Query PlaygroundContainer Build GraphDependency Graph ExplorerSemver Range LabCron Schedule AuditorPatch Review WorkbenchSource Map ExplorerLocalization Catalog AuditorStructured Data ReviewerHTTP Archive AnalyzerWebhook Signature LabProtobuf Schema WorkbenchGraphQL Schema LabAvro Schema EvolutionLocal SQL WorkbenchSchema Form BuilderMesh Repair WorkbenchPipe Network LabRobot Arm Kinematics LabThermal Network LabBeam Response LabGear Train DesignerTolerance Stackup LabSensor Calibration FitPCB Stackup PlannerDigital Filter DesignerNetwork Reachability MapSun Shadow MapGPS Error SimulatorDigital Logic SimulatorAnalysis Mesh GeneratorOpenAPI Contract InspectorDatabase Migration PlannerDimensional Equation CheckerTruss Force LabBoolean Minimization LabControl Response LabQueueing Simulation LabGeofence Event SimulatorCoordinate Reference LabSurvey Traverse LabRaster Classification LabChoropleth Design LabMap Print ComposerRaster Reprojection LabElevation Contour MakerTerrain Viewshed LabWatershed DelineatorMap Tile PackagerText File Encoding WorkbenchFilesystem Portability AuditorSBOM License ExplorerFile Signature Auditornpm Lockfile Conflict ResolverSource Secret AuditorOffline Web Package BuilderCertificate Chain InspectorTorrent Metainfo InspectorChunked File PackagerEncrypted File VaultDuplicate File FinderArchive WorkbenchDesign Token ManagerSpacing Token DesignerResponsive Type SystemPackaging Dieline DesignerSVG Icon Sprite PackerFlex Layout PlaygroundCSS Grid PlaygroundRegex Equivalence LabMarkdown Repository AuditorLog Template MinerResponsive Layout AuditorEmail Template PreviewInternal Link GraphState Machine TesterPetri Net SimulatorGit History VisualizerCurl Request WorkbenchBinary Protocol DesignerHex File EditorBinary Patch WorkbenchFile Signature WorkbenchAPI Mock SandboxSchema Column MapperEvent Log SessionizerER Diagram DesignerTime Series Gap AuditorStratified Data SplitterData Lineage DesignerDecision Tree LabData Anonymization WorkbenchData Expectation RunnerJSON Schema ValidatorBasket Pattern AnalyzerRobots Policy TesterSEO HTML AuditorAccessibility Structure AuditorSyndication Feed WorkbenchIndexNow Payload BuilderCrawl Log AnalyzerCSP Policy WorkbenchSearch Performance AnalyzerCSV Formula Risk AuditorCORS Response SimulatorCache Header LabCookie Policy InspectorWeb Vitals Trace LabSitemap Health AuditorBatch File RenamerFile Manifest VerifierFolder Space MapFolder Difference ReviewerRoute Order OptimizerGeoJSON Map EditorPolygon Overlay LabCartographic Label PlacerSpatial Table JoinGeoJSON Topology AuditorGPX Track AnalyzerTrack Privacy RedactorCSV Table JoinCSV Pivot WorkbenchScientific Data ProfilerTabular Cleaning WorkbenchRecord ReconciliationData Dictionary BuilderCanonical Graph AuditorRedirect Plan TesterHTTP response and ping reference testBrowser and System InformationJSON ↔ YAML ConverterXML ↔ JSON ConverterHTML FormatterJavaScript MinifierMock Data Generator.gitignore GeneratorLicense GeneratorUser-Agent ParserPassword Strength CheckerCode to ImageXML FormatterHTTP Status Code LookupMIME Type LookupJS & SQL String EscapeCSS Box Shadow GeneratorCSS Gradient GeneratorIndent ConverterNumber Base ConverterUnicode Escape ConverterUnicode InspectorJSON Structure DiffMarkdown Table GeneratorBase64 EncoderJSON FormatterURL EncoderSQL FormatterCron Expression GeneratorRegex TesterUUID GeneratorHash GeneratorTimestamp ConverterJWT DecoderHTML Entity ConverterMarkdown PreviewCSS MinifierMeta Tag GeneratorJSON ↔ CSVCase ConverterImage to Base64
Explore all Dev Tools tools →Image/Media →Text/Convert →Life/Fun →