C3.10.1Two-finger rotation from connecting-line angle设计研究
旋转角度由两指连线的角度变化决定
别名: 双指旋转 · rotate gesture · 两指扭转
概念解释
双指旋转读的不是某根手指的弧线,而是两指连线相对起始连线转过的角。连线转多少,对象转多少。用单指绕圈去“画”旋转,会和画笔、套索抢路径;两指把旋转从路径里抽成一个姿态量。
机制
两指各给一个点,连线有方向。按下时记下 θ0,之后每帧 Δθ = θnow − θ0,加到对象当前朝向。中点同时充当转轴,于是扭转时对象绕指间中心转,而不是绕画布原点甩。角度要做 −π 到 π 的展开,否则连线跨过 180° 会跳半圈。一指几乎不动、另一指绕行,连线仍在转,旋转照样成立;这比要求两指对称对拧更符合人手。采样噪声在指距很短时被放大——两点靠近时连线方向极不稳定——所以过近的两指应拒绝旋转,只保留平移或缩放。
怎么研究
让人把一张照片转到指定角度(如水平线对齐),记录最终误差、是否出现 180° 跳变、指距与角度抖动的关系。自变量包括最小指距、是否用中点作轴、角度滤波。对照单指绕中心拖动的旋转手柄。短指距条件下的方差是这条机制最硬的证据。
边界
地图北向锁定时,旋转手势要么被禁用,要么只短暂预览再弹回正北。三维物体的屏幕双指转的是投影,不是任意轴,把 Δθ 直接写进 yaw 会在俯视时显得正确、在侧视时翻错。单指绘图工具里没有第二指,旋转应走独立手柄。手套或潮湿导致的触点合并会把两指收成一点,连线消失。
怎么落地
- 用两指连线的展开角驱动朝向,转轴放在当帧中点;指距低于阈值时不要输出角度。
- 跨过 ±180° 时连续展开,禁止一帧里出现半圈跳变。
- 请人把地平线拧到水平。过程中照片应绕两指之间转。若绕屏幕角落甩、或在某角度突然翻面,检查展开和转轴。