C3.10.1Two-finger rotation from connecting-line angle设计研究

旋转角度由两指连线的角度变化决定

别名: 双指旋转 · rotate gesture · 两指扭转

概念解释

双指旋转读的不是某根手指的弧线,而是两指连线相对起始连线转过的角。连线转多少,对象转多少。用单指绕圈去“画”旋转,会和画笔、套索抢路径;两指把旋转从路径里抽成一个姿态量。

机制

两指各给一个点,连线有方向。按下时记下 θ0,之后每帧 Δθ = θnow − θ0,加到对象当前朝向。中点同时充当转轴,于是扭转时对象绕指间中心转,而不是绕画布原点甩。角度要做 −π 到 π 的展开,否则连线跨过 180° 会跳半圈。一指几乎不动、另一指绕行,连线仍在转,旋转照样成立;这比要求两指对称对拧更符合人手。采样噪声在指距很短时被放大——两点靠近时连线方向极不稳定——所以过近的两指应拒绝旋转,只保留平移或缩放。

怎么研究

让人把一张照片转到指定角度(如水平线对齐),记录最终误差、是否出现 180° 跳变、指距与角度抖动的关系。自变量包括最小指距、是否用中点作轴、角度滤波。对照单指绕中心拖动的旋转手柄。短指距条件下的方差是这条机制最硬的证据。

边界

地图北向锁定时,旋转手势要么被禁用,要么只短暂预览再弹回正北。三维物体的屏幕双指转的是投影,不是任意轴,把 Δθ 直接写进 yaw 会在俯视时显得正确、在侧视时翻错。单指绘图工具里没有第二指,旋转应走独立手柄。手套或潮湿导致的触点合并会把两指收成一点,连线消失。

怎么落地

  • 用两指连线的展开角驱动朝向,转轴放在当帧中点;指距低于阈值时不要输出角度。
  • 跨过 ±180° 时连续展开,禁止一帧里出现半圈跳变。
  • 请人把地平线拧到水平。过程中照片应绕两指之间转。若绕屏幕角落甩、或在某角度突然翻面,检查展开和转轴。

延伸

  • 同组C3.10.2 旋转与缩放同时发生,需要解耦或联动的明确决定 · C3.10.3 角度吸附到常用角度降低精细控制负担
  • 相邻C3.08 双指捏合缩小 · C3.09 双指张开放大
  • 站内检索two-finger rotate · gesture angle · rotation pivot

同组卡片

快捷操作

分享

分享当前页面

ios_share

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