K7.05.2hysteresis in proximity switching设计研究

切换阈值需要滞回避免抖动

别名: 滞回 · 近身切换抖动 · Schmitt trigger

概念解释

远距模式和近距模式之间如果共用同一条距离线,人在那条线上前后晃、传感器再叠一点噪声,界面就会在两种状态里来回翻转。滞回(hysteresis)是把进入阈值和退出阈值拆开:要更近才切进近距,要退得更远才切回远距。中间那条带子里维持当前状态。这条只谈切换的稳定性,不重新规定各距离该用哪种输入,也不谈切过去之后字该写多密。

机制

人不是站在刻度尺上的点。走路有自然摆动,等人时会挪半步,和同伴说话会转肩,深度摄像头对同一身体的测距也在跳。单阈值把这条带状运动当成一次次越界,模式跟着抖:菜单展开又收起、触摸层闪出又消失、吸引动画和操作界面抢同一帧。每一次翻转都是一次注意捕获,也是一次正在进行的动作被作废。

滞回是控制里的施密特触发器:用两条线围出惰性区,用当前状态记住「我是怎么进来的」。代价是同一物理位置可能对应两种界面,取决于刚才从哪边来。人可以学会「再近一点才会变成可触摸」,但学不会「我站着没动,它自己来回变」。抖动比双稳态更伤,因为它无法被归因到自己的移动。

怎么研究

让人在阈值附近自然走动或执行「走近、停下、稍退、再走近」,比较单阈值与带滞回的切换。proxemic 系统的工程文献把抖动次数、一次接近中的模式翻转次数当作可用性事故,而不是当作传感器精度问题。

自变量:进入/退出阈值之差、测距噪声、人在边界上的停留与横向移动。 因变量:单次接近中的模式翻转次数、被翻转打断的操作、自陈「它自己在变」。

实验室地板上的胶带会让人刚好停在阈值上,把抖动测到最大;实地里人往往穿过而不逗留,抖动会少一些,但不能因此省掉滞回——等人、拍照、让路都会在边界上停住。阈值差过宽,人会感觉「明明已经贴上去了还是远距」,那是迟钝,要把过宽和过窄分开报。

边界

距离几乎不变的座位场景用不到这套切换,滞回无对象。只有两档且切换由明确按键或踏垫完成时,人的意图已经外化,传感器抖动不再决定模式。多人同时处于不同距离带,一块屏无法为每个人维持独立的滞回状态,全局模式会以最近的人为准或无法定义,滞回解决不了「以谁为参照」。极端嘈杂的深度数据需要先滤波,滞回不是对坏测距的补丁。

怎么落地

  • 为每一对相邻模式设置两条线:进入近距的距离短于退出近距的距离,中间维持现状。
  • 把一次接近中的模式翻转记进日志;翻转发生时人的测距并没有单调穿过,就是抖动,不是一次真正的走近或走远。
  • 切模式时保留正在进行的局部状态(滚动位置、已选对象),避免滞回带里的一次误退把工作清零,从而逼出更多来回。
  • 验证:请人在你认为的边界上自然站半分钟(等人、看手机、让路)。界面若自行切换超过极少几次,加大滞回;若贴到玻璃仍不进入近距,收窄退出线而不是取消滞回。

延伸

  • 同组K7.05.1 距离决定可用的输入方式 · K7.05.3 内容密度需随距离调整
  • 相邻I4.01 防抖与节流 · A10.02 模式错误 · K7.02 交互可发现性
  • 站内检索hysteresis · proximity switching · mode oscillation · Schmitt trigger

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/K7.05.2