支撑面把三维定位降成二维滑动
别名: 自由度约束 · 平面滑动 · kinematic constraint · 接触约束
概念解释
手指一旦贴上桌面,深度方向被物理钉死,剩下的是在平面里滑。面约束点选(surface-constrained pointing)把三维定位降成二维滑动:不是手突然变稳,是少了一个必须主动控制的自由度。支撑面做的是运动学约束,精度收益来自「不用再管那一维」。
机制
自由点选要同时稳住三个轴。深度没有视觉上那么好的误差信号——双目视差在近处才灵敏,而手自己又在遮挡——于是人把最多的纠正花在前后轴上,左右和上下反而被带着晃。指尖或笔尖落到一个法向刚体上,法向力把这一维关掉,摩擦再给切向一个阻尼。控制系统从 3-DoF 瞄准变成 2-DoF 滑动,Fitts 类任务的有效难度跟着掉。
约束不必是真桌子。虚拟的磁吸平面、滑轨、沿表面的投影,都能在软件里关掉一维。真表面多给的是法向的硬停止和切向的真实摩擦;虚约束只在光标层生效,手仍可以离面,人一抬,三维又回来。约束的强度取决于人能不能违反它:违反成本高,二维才稳。
怎么研究
同一组目标,比较自由三维点选、被约束在已知平面上点选、被约束在一条轨道上点选。分解误差:沿面内两轴,以及沿法向。法向误差在贴面条件里应接近零,这才说明降维发生了,而不是整体都抖得轻了一点。
自变量:约束类型(无 / 平面 / 轨道)、约束是物理还是虚拟、目标是否共面。 因变量:面内误差、法向误差、运动时间、离面次数。
目标若不共面,平面约束会变成错误降维——人会为了贴面而点错深度上的那个。刺激布置要先声明目标是不是本来就在一张面上。
边界
需要沿深度推拉、堆叠、插拔的任务,把定位降成二维是在拆能力,不是在送精度。虚拟磁吸如果吸附半径太大,会把邻近的不同深度层吸到同一张脸上。手离开表面的瞬间约束解除,拖到边缘容易「掉出平面」把物体弹到深度里。没有摩擦的光滑真表面(玻璃)法向仍约束,切向阻尼不足,二维滑动会打滑。
怎么落地
- 把本来共面的控件(键盘、工具条、二维菜单)锁到一张面上,点选时投影到手在这张面上的落点,不要让光标在法向自由漂。
- 物理或虚拟的滑轨只留给沿一条边排列的值(滑块、时间轴);需要离开这条边时,提供明确的离轨动作。
- 约束要看得见:面的边缘、接触高亮、吸上时的一声轻扣,让人知道现在在二维,而不是还在空气里瞄。
- 验证:共面点选时分开报面内误差和法向误差。加上约束后法向误差应塌掉,面内吞吐上升;若两轴一起只是略好一点,降维没有发生,只是整体被滤波了。