C3.08.2Pinch zoom anchor at midpoint设计研究

缩放锚点取两指中点,保证捏合处内容不漂移

别名: 缩放原点 · pinch centroid · 锚点漂移

概念解释

缩小围绕哪一点发生,决定画面会不会从指缝里逃走。把两指中点(或接触质心)当成缩放锚点,捏合处的内容在倍数变小时仍留在两指之间。锚点若钉在视口中心或左上角,人盯着的那块会在缩小过程中滑向别处,像地图自己在挪。

机制

缩放是相似变换,必须选一个不动点。选中点,则两指连线的中点在内容坐标里保持不动,缩小表现为周围景物向中点收拢,符合“我按着的这里是焦点”。选视口中心,则指下的建筑会向屏幕中央飞,人要边捏边追。捏合缩小尤其敏感:倍数下降时视野迅速变大,锚点误差会被放大成整块地标的平移,看起来像误触发了平移。中点本身也在动(两指一边捏一边挪),所以每一帧要用当帧中点,而不是按下时的中点冻住——冻住的锚点会在手指平移后把内容从指下拽走。

怎么研究

在图上标一个点,让人把两指按在它两侧再捏拢,测量该点相对中点的漂移。自变量:锚在中点、锚在视口中心、锚在按下时冻住的中点。因变量为漂移像素、为了把点追回来额外做的平移、主观“图在滑”。高速摄像看中点与地标是否同向同速。

边界

两指严重不对称(一指几乎不动、另一指划大弧)时,几何中点与人以为的“按着的地方”会分家,质心或较稳的那一指可能更接近主观锚点。缩放若与旋转耦合,不动点还要同时满足转角,中点仍是最省事的选择。键盘或按钮缩放没有双指中点,锚点应改用视口中心或当前选区,不能假装有一个捏合中点。

怎么落地

  • 每帧用两指当前位置的中点作锚,缩小围绕它发生;同时把中点平移加进视口,这样边捏边挪才不会撕开黏着。
  • 不要把锚点写死在布局左上或屏幕正中,除非这是按钮缩放。
  • 把两指标在一座桥的两端再捏拢。桥应留在两指之间变小。若桥滑到屏幕另一侧,锚点就钉错了。

延伸

  • 同组C3.08.1 缩放倍数由两指间距变化连续决定 · C3.08.3 缩放上下限需在触边时以回弹提示 · C3.08.4 松手后保留当前倍数,不自动复原 · C3.08.5 单手握持时捏合不可用,须有替代路径
  • 相邻C3.09 双指张开放大 · C3.10 双指旋转
  • 站内检索zoom anchor · pinch centroid · scale origin

同组卡片

快捷操作

分享

分享当前页面

ios_share

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