C3.08.1Pinch scale from inter-finger span设计研究

缩放倍数由两指间距变化连续决定

别名: 捏合缩放 · pinch scale · 间距映射

概念解释

两指靠拢(pinch)时,系统把当前间距相对起始间距的比连续写成缩放倍数。指距缩小,画面变小,更多上下文进入视口——这是捏合作为缩小原语的意义。倍数不是档位开关,每一帧的间距都在改 scale。把捏合做成“捏一下跳到 50%”就丢掉了这条连续通道。

机制

按下两指时记下 span0 与当时的 scale0,之后 scale = scale0 × (span / span0)(或带轻微指数以匹配主观放大感)。人在控制指距时等于直接抓着画面的宽度。连续映射让缩放成为可瞄准的模拟量:看到差不多了就停,不必数捏了几次。滤波要去掉两指独立抖动造成的 span 闪烁,但滤波过重会让缩小跟手发黏。单指移动是平移,两指间距变化才是这一通道;把两指中点的平移和间距变化同时积分,才能一边缩小一边挪视口。

怎么研究

让人把一张大图捏到“刚好看到整栋楼”,记录最终倍数、超额缩小后再拉回的次数、指距与倍数的时间序列相关性。自变量包括线性比与指数比、滤波窗口、是否在捏合中允许同时平移。对照条件是按钮步进缩放。相关系数低说明滤波或手势争夺破坏了连续通道。

边界

两指几乎平行地一起移动时 span 变化接近 0,应视为双指平移而不是倍数抖动。触控笔加手指的混合接触,间距含义不稳定。把捏合绑在不可缩放的控件(按钮、开关)上,连续倍数无处可写。系统辅助缩放(整屏放大镜)走的是另一套倍数量程,和应用内捏合不要共用一个 scale

怎么落地

  • 用起始间距作分母做连续倍数,捏拢即缩小;不要把一次捏合量化成单档跳变。
  • 对 span 做短窗口平滑,但跟手延迟应低到看不出画面在追手指。
  • 请人把图捏到指定完整物体刚好满宽。过程中倍数应随指距单调变小。若指距已经靠拢画面却分档跳、或指距稳定画面仍在缩,映射就坏了。

延伸

  • 同组C3.08.2 缩放锚点取两指中点,保证捏合处内容不漂移 · C3.08.3 缩放上下限需在触边时以回弹提示 · C3.08.4 松手后保留当前倍数,不自动复原 · C3.08.5 单手握持时捏合不可用,须有替代路径
  • 相邻C3.09 双指张开放大 · C3.07 平移
  • 站内检索pinch-to-zoom · scale factor · inter-finger distance

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/C3.08.1