Explore the Proximal–Distal Models
An Interactive Workbench for Forces, Moments, Transfer, and Counterfactuals
1 Explore the Models
The interactive workbench turns the article’s diagrams into systems you can change and challenge. It includes double-pendulum, triple-pendulum, and bilateral golfer models, with force vectors, moment arrows, energy and power histories, torque counterfactuals, and parameter perturbations.
The workbench is maintained as an open-source resource in the Tools pendulum simulator. Its PyQt6 desktop interface and React/Tauri interface read the same experiment and glossary catalog. The catalog provides shared experiment descriptions and terminology. It does not establish feature parity or numerical agreement between the interfaces: the React application also has its own TypeScript simulation code. The instructions below describe source inspected at Tools commit cefcc1878; they are not a new qualification of every backend or a fresh GUI acceptance run.
Treat interactive results as exploratory_model_output, the catalog’s declared scientific status. A shared catalog or manifest helper does not guarantee that every run exports a complete record. Save the actual model revision, backend, parameters, units, solver settings and intervention with each result. A plot is model output, not a measurement of a golfer. Published numerical claims require their own reproducible study and evidence; neither an animation nor a script alone validates them.
Tools #5431 (merged in Tools PR #5554) made the distributed club convention canonical: a uniform shaft of mass \(m_2\) with its centre of mass at \(L_2/2\) and \(I_{\mathrm{cm}}=m_2L_2^2/12\), plus a head point mass at the tip. Dynamics, joint forces, energy and the golf presets were reconciled to it. This page, and the numbers it quotes, describe Tools commit cefcc1878, which predates that fix. Those figures are historical and labelled as such; they have not been recomputed.
What changes: the 8 J versus 4 J mismatch in the diagnostic-limit example below no longer occurs upstream (the same state now carries 4 J on every path), and the re-derived golf presets give a lower wrist inertia and weaker arm and club coupling than the pinned revision. Treat any transfer-energy, closure or preset output read from this page as pre-fix. Re-running the Swing Objective Lab results is tracked in Tools #5523.
2 Choose a Guided Experiment
Open Companion Guide in either interface. Each experiment presents its hypothesis, observables, steps, interpretation tips, falsifier, and limitations before you change the model. The shared catalog contains these six entries. Selecting a guide is not equivalent to loading a fully specified numerical preset; in the React guide, Open Model selects the model type.
| Guided Experiment | What to Vary | What to Inspect |
|---|---|---|
| Passive Transfer in a Two-Link Chain | Proximal drive and distal torque | Distal acceleration, interaction torque, power, and energy closure |
| Distal-Torque Onset Comparison | Wrist-command onset | Late club speed, actuator work, and sensitivity to the timing grid |
| Three-Link Cascade | Segment geometry and timing | Whether the transfer pattern survives an intermediate segment |
| Two-Hand Force and Equivalent-Couple Mechanism | Hand separation and reaction directions | Net club moment, individual forces, and zero-moment-arm control |
| Pointwise and Forward Zero-Torque Counterfactuals | Intervention definition and cut time | Immediate decomposition versus the altered future trajectory |
| Parameter Robustness and Falsifiability Envelope | Geometry, inertia, damping, and timing | Whether a small plausible perturbation reverses the conclusion |
The desktop Drift Transfer diagnostics described below are additional controls, not two more entries in the shared guide. The searchable glossary defines terms such as interaction torque, equivalent couple, power, work, mass matrix, Jacobian, and ZTCF family without requiring the reader to leave the experiment.
3 Energy Bounds and Reachable Swings
The Swing Objective Lab compares five objectives under a shared torque budget. Its historical 0.50 kg tip-mass example reported nearly stationary hands at impact; changing the represented club inertia produced substantially higher terminal hand speeds. These are configuration-dependent simulation reports, with reference-band and reproducibility limits described in When a Double Pendulum’s Energy Optimum Stops Its Hands.
The exact zero-hand-rate result applies to an instantaneous fixed-pose, fixed-energy problem with collinear links, a point mass at the head, and positive proximal inertia. It does not require every torque-constrained swing to stop its hands or reverse the hub torque. Matching one club inertia also does not preserve its full dynamics.
Compare complete trajectories, all constraints, numerical convergence, and independently defined measurements before interpreting an objective ordering. Similar endpoint scores cannot identify which objective a golfer uses. The linked review corrects the earlier structural and human-inference claims; it does not certify a new run of the workbench.
4 What Would Count Against the Mechanism?
An instantaneous intervention holds the complete state fixed and changes a declared input. For an affine model, \(\dot{x}=f(x)+G(x)u\), its immediate effect is \(G(x)(u_1-u_0)\). A forward intervention starts from the same cut state and then evolves a different trajectory. The later difference includes both the changed input and the changed state; it is not generally the original pointwise input term. Specify whether activation, passive elasticity, damping and contact remain in the counterfactual. Removing a commanded joint torque need not remove stored energy or turn muscles off.
Predeclare the observable, interval, constraints and expected effect size. Unchanged distal acceleration at one instant is not a universal falsifier: symmetry, cancellation or the selected output can make the immediate difference zero. A credible challenge is failure of a specified nonzero prediction under matched conditions and declared numerical uncertainty. Other useful checks are:
- a timing advantage that disappears under matched initial states or reverses under a plausible parameter change, narrowing its claimed robustness;
- an implementation that disagrees with an independently derived force or power balance for the same model and boundary; or
- an apparent effect that fails step-size refinement or depends on an unreported force, impulse, constraint or energy source.
For the two-hand check, let \(\mathbf f_R,\mathbf f_L\) be forces exerted by the hands on the club, define \(\mathbf d=\mathbf r_R-\mathbf r_L\), and take moments about the midpoint. Express all vectors in the same frame. The resultant is
\[ \begin{aligned} \mathbf F&=\mathbf f_R+\mathbf f_L,\\ \mathbf M_{\mathrm{mid}}&= \frac{\mathbf d}{2}\times(\mathbf f_R-\mathbf f_L)\\ &\quad+\mathbf m_R+\mathbf m_L. \end{aligned} \]
Here \(\mathbf m_R,\mathbf m_L\) are contact moments applied directly to the club. Coincident hands eliminate the separated-force contribution for bounded forces; they need not eliminate those contact moments or the resultant force’s moment about another point. Equal and opposite forces form a pure couple; a general two-hand wrench also has a net force. This follows the declared-point wrench convention. Distinguish an implementation check, a model prediction and a test in people.
5 Run It Locally
For the source version described here, create a fresh checkout of D-sorganization/Tools:
git clone https://github.com/D-sorganization/Tools.git
cd Tools
git checkout cefcc1878de11804c44cd7d1d19c0ffcf58fa89eUse an activated virtual environment with Python 3.11 or later for the desktop installation. Record resolved dependency versions as well as the source commit; an editable install does not freeze dependencies.
5.1 PyQt6 Desktop Interface
# From the Tools repository root:
python -m pip install -e ".[gui]" -e src/pendulum_simulator
python -m double_pendulum_golfThe root package supplies shared GUI modules used by the simulator; installing only the nested simulator package omits that part of the source dependency.
After a double-pendulum run, open the docked Analysis panel and select the Drift Transfer tab. Choose the start and end of the phase to inspect. The tab reports distal kinetic-energy gain, drift and control grip work, Negative Grip Work, wrist-control work, peak grip force, and peak distal speed, while plotting the power and speed histories. Its displayed proximal-link angular velocity is not an anatomical shoulder or torso measurement. The tab accepts the double-pendulum result type; it does not provide this analysis for the other model tiers. At the inspected revision, window summaries use saved samples inside the requested interval without interpolating its endpoints. Use saved sample times when specifying an exact integration window.
For supported double-pendulum runs, the same panel includes Full-Trajectory Coordinate Force Sources. It reports signed and absolute tangent impulse and generalized work under the shared force-attribution/v1 contract. The Christoffel split uses shoulder-absolute and wrist-relative coordinates. It is a modeled equation-term attribution, not a measured muscle force, and unsupported friction, clamp, or joint-limit terms fail closed rather than being folded into another source. These source summaries cover the full trajectory, while the transfer summary uses the selected window. Coordinate terms can change under reparameterization; they are not independently measured physical agencies. An undefined tangent-force allocation is not a zero force.
5.2 Read Work and Energy With the Same Model
Grip-force power is \(P_F=\mathbf F\cdot\mathbf v_{\mathrm{grip}}\), using force on the club and the velocity of its material point at the grip interface; its integral has units of joules. Tangent impulse has units of newton-seconds and cannot be substituted for work. Where grip speed is zero, the motion tangent is undefined, although force power is well defined and zero. Negative Grip Work integrates the negative portion of force power, rather than classifying it from force sign.
A moment acting on the club contributes \(P_M=\mathbf m\cdot\boldsymbol\omega_{\mathrm{club}}\). The net power of an equal-and-opposite actuator moment pair uses the relative angular velocity of the two bodies. These are different system boundaries. To check a club’s kinetic-energy change, include gravity work and every other external force and moment. If gravitational potential is included in the energy, do not count gravity work again. Damping, impacts and compliance require their own terms.
At the pinned revision, the Python fallback mass_matrix places shaft mass \(m_2\) together with clubhead mass \(m_c\) at the distal tip. The transfer diagnostic’s _club_kinetic_energy instead treats the shaft as a uniform rod. With the proximal link instantaneously stationary and club angular rate \(\omega\), they give, respectively,
\[ \begin{aligned} T_{\mathrm{tip}}&=\tfrac12(m_2+m_c)L_2^2\omega^2,\\ T_{\mathrm{rod}}&=\tfrac12(m_2/3+m_c)L_2^2\omega^2. \end{aligned} \]
For \(m_2=3\,\mathrm{kg}\), \(m_c=1\,\mathrm{kg}\), \(L_2=1\,\mathrm m\) and \(\omega=2\,\mathrm{rad/s}\), the same state yields 8 J versus 4 J. These are illustrative test parameters, not a golf-club specification. A transfer-energy comparison must reconcile this mass-distribution mismatch first. This source check does not qualify native or TypeScript backends.
Moreover, the reported work-closure residual is \(W_{\mathrm{total}}-W_{\mathrm{drift}}-W_{\mathrm{control}}\) on the same trajectory. Because control force is constructed as total minus drift, a small residual checks the additive split and integration; it does not check \(\Delta T\) against external work. Do not use it as evidence that the full energy budget closes.
5.3 React/Tauri Interface
# From the Tools repository root:
cd src/pendulum_simulator/pendulum-web
npm ci
npm run dev
# Or launch the native desktop wrapper:
npm run tauri devThe native wrapper additionally requires Rust and the platform dependencies in the Tauri prerequisites.
Developers using UpstreamDrift can also open the Pendulum Simulator tile. The launcher resolves the sibling Tools provider and its dockable adapter; it does not maintain a second physics implementation.
6 A Productive Review Sequence
- Read the hypothesis and falsifier before running the experiment.
- Record the actual starting state, parameters, units, backend and numerical settings; a guide title does not supply them.
- Inspect vectors and signed power, not animation alone.
- Run the matched counterfactual and negative control.
- Perturb geometry, inertia, damping, timing, and numerical step size.
- Record observations that weaken the interpretation as carefully as those that support it.
- Promote a result to the scientific resource only through a deterministic script, frozen inputs, convergence and closure tests, and machine-readable output. Resolve the diagnostic consistency limit above before interpreting transfer-energy closure.
7 Interpretation Boundary
The models illuminate mechanics under declared assumptions. They do not by themselves identify muscle action, scapular coordination, tissue slack, a preferred swing strategy, or a universal route to clubhead speed. A generalized torque is not a muscle, an interaction force is not voluntary effort, and a negative torque is not necessarily negative biological work.
Choose human measurements to distinguish the specific competing explanations. Bilateral hand wrenches and club kinematics constrain interface power; ground reactions help close a whole-body balance; activation or stiffness hypotheses need additional observations and a calibrated observation model. No single universal sensor list identifies every mechanism, and activation recordings alone do not directly measure muscle force. The governed technical monograph specifies those evidence boundaries and links the deterministic studies behind the article. Its models, claims, and evidence are pinned to UpstreamDrift commit 85cce4d3. That versioned computational baseline does not establish validation in human golfers.
Return to How a Golf Swing Carries Energy for the visual narrative, read the technical summary for a shorter synthesis, or use the technical monograph for the full mathematical and evidentiary treatment.
Citation
@online{olson,
author = {Olson, Dieter},
title = {Explore the {Proximal–Distal} {Models}},
date = {},
url = {https://affinedrift.com/articles/proximal-distal-model-workbench.html},
langid = {en}
}