C3.08.1Pinch scale from inter-finger span设计研究
缩放倍数由两指间距变化连续决定
别名: 捏合缩放 · pinch scale · 间距映射
概念解释
两指靠拢(pinch)时,系统把当前间距相对起始间距的比连续写成缩放倍数。指距缩小,画面变小,更多上下文进入视口——这是捏合作为缩小原语的意义。倍数不是档位开关,每一帧的间距都在改 scale。把捏合做成“捏一下跳到 50%”就丢掉了这条连续通道。
机制
按下两指时记下 span0 与当时的 scale0,之后 scale = scale0 × (span / span0)(或带轻微指数以匹配主观放大感)。人在控制指距时等于直接抓着画面的宽度。连续映射让缩放成为可瞄准的模拟量:看到差不多了就停,不必数捏了几次。滤波要去掉两指独立抖动造成的 span 闪烁,但滤波过重会让缩小跟手发黏。单指移动是平移,两指间距变化才是这一通道;把两指中点的平移和间距变化同时积分,才能一边缩小一边挪视口。
怎么研究
让人把一张大图捏到“刚好看到整栋楼”,记录最终倍数、超额缩小后再拉回的次数、指距与倍数的时间序列相关性。自变量包括线性比与指数比、滤波窗口、是否在捏合中允许同时平移。对照条件是按钮步进缩放。相关系数低说明滤波或手势争夺破坏了连续通道。
边界
两指几乎平行地一起移动时 span 变化接近 0,应视为双指平移而不是倍数抖动。触控笔加手指的混合接触,间距含义不稳定。把捏合绑在不可缩放的控件(按钮、开关)上,连续倍数无处可写。系统辅助缩放(整屏放大镜)走的是另一套倍数量程,和应用内捏合不要共用一个 scale。
怎么落地
- 用起始间距作分母做连续倍数,捏拢即缩小;不要把一次捏合量化成单档跳变。
- 对 span 做短窗口平滑,但跟手延迟应低到看不出画面在追手指。
- 请人把图捏到指定完整物体刚好满宽。过程中倍数应随指距单调变小。若指距已经靠拢画面却分档跳、或指距稳定画面仍在缩,映射就坏了。