A support surface collapses 3D pointing into 2D sliding
Aliases: kinematic constraint · planar sliding · contact constraint · DOF reduction
What it is
Once a fingertip is on the desk, depth is nailed by physics and what remains is a slide in the plane. Surface-constrained pointing collapses 3D positioning into 2D sliding: the hand did not suddenly become steady; one degree of freedom no longer has to be driven. The surface is a kinematic constraint. The precision comes from not having to control that axis.
Why it happens
Free pointing must hold three axes at once. Depth has a poor error signal — binocular disparity only helps near, and the hand occludes itself — so most correction is spent on the near–far axis while left–right and up–down ride along. A fingertip or stylus on a normal-stiff body zeros that axis; friction then damps the tangent. The control problem drops from 3-DoF aiming to 2-DoF sliding, and Fitts-type difficulty drops with it.
The constraint need not be a real desk. A magnetic virtual plane, a rail, a projection onto a surface can drop an axis in software. A real surface additionally supplies a hard normal stop and real tangential friction; a virtual constraint lives at the cursor, the hand can still leave, and lifting restores 3D. How strong the constraint is depends on how costly it is to violate. High violation cost is what makes the 2D stick.
Studying it
The same targets, compared as free 3D pointing, pointing constrained to a known plane, and pointing constrained to a rail. Split error into the two in-plane axes and the normal. Normal error should collapse toward zero on the surface condition — that is the signature of the dropped dimension, not a global “everything shook a little less.”
Independent variables: constraint type (none / plane / rail), physical versus virtual, whether targets are coplanar. Dependent variables: in-plane error, normal error, movement time, lift-offs.
If targets are not coplanar, a plane constraint is the wrong reduction — people will miss the one that lives at another depth in order to stay on the plane. Declare first whether the stimulus set actually lives on one face.
Where it stops holding
Push, stack, and plug tasks along depth: collapsing to 2D removes a capability rather than granting precision. A virtual magnet with a large capture radius will suck neighbouring depth layers onto one face. The constraint dies the instant the hand leaves; dragging off an edge tends to “fall out of plane” and fling the object in depth. A frictionless real surface (glass) still constrains the normal but under-damps the tangent, so the 2D slide skates.
Applying it
- Lock widgets that are already coplanar (keyboard, toolbar, 2D menu) to a face, and project the point onto that face. Do not let the cursor free-drift on the normal.
- Physical or virtual rails are for values that already live on an edge (a slider, a timeline). Leaving the edge needs an explicit derail action.
- Make the constraint visible: a face edge, a contact highlight, a light tick on snap, so people know they are in 2D rather than still aiming in air.
- How to check: on coplanar pointing, report in-plane and normal error separately. After the constraint, normal error should collapse and in-plane throughput should rise. If both axes only improve a little, the dimension was not dropped — the signal was filtered.
Related
- Same group: N2.12.1 An unsupported hand jitters several times more than a supported one · N2.12.3 Mid-air handwriting is far worse than writing on paper · N2.12.4 Borrowing a real desk or wall can buy the precision back
- Nearby: N2.08 Fatigue in Spatial Input · N2.03 Ray Pointing
- Search terms:
surface-constrained pointing·kinematic constraint·degrees of freedom