C1.09.2Intersection and containment selection设计研究

相交判定与完全包含判定给出不同结果

别名: 框选判定 · intersection selection · containment selection

概念解释

框选的相交判定(intersection selection)会选中与选择框有任何重叠的对象;完全包含判定(containment selection)只选中整个边界落在框内的对象。两种规则对跨越边界的对象产生不同结果,必须被设计为可预测的选择语义,而不是实现细节。

机制

相交规则降低圈中目标的空间精度要求,适合抓取线段、节点或稀疏小对象;完全包含规则要求更精确的框,但减少边缘对象被意外纳入。对象的边界框、可见路径、透明区域和组层级决定"相交"或"包含"究竟按什么几何形状计算。

两种规则背后其实是对"用户为什么要圈这个范围"的不同假设。相交假设用户在标记一个区域内存在的所有相关物,容忍框的边界不精确——这解释了为什么绘图软件的连线工具、CAD 的图元捕捉常用相交:用户拉框往往只是想圈住"这一片",而不打算精确避开旁边半个像素的邻居。完全包含假设用户对"选中"有严格的归属预期,宁可漏选也不能错选出框外的东西——图形编辑器移动、删除一批对象前用完全包含正是为了防止误伤没打算动的邻近元素。有些系统进一步把方向编码进规则:从左向右拖为完全包含、从右向左拖为相交(Windows 资源管理器早期版本、AutoCAD 的窗口/交叉选择即是如此),把"选哪种规则"从设置项变成手势本身的一部分,但代价是这层语义不透明,容易被遗忘。

怎么研究

在对象密度、大小差异、相邻距离和框选方向变化的条件下,测量意外选中、漏选、重画框次数和完成时间。应包含线条、部分遮挡与组合对象;只用大小一致的矩形图标会低估几何规则的差异。若要比较方向编码规则和固定单一规则,需要单独测量"用户是否记得当前方向对应哪条规则"这一认知负荷,而不只测选择结果的准确率。

边界

没有一种规则普遍正确:图形编辑常需完全包含以避免扫入邻物,地图或关系图可能更适合相交。方向相关规则可提高效率,但若没有显著反馈(比如拖动中框的描边样式随方向切换),用户难以记住反向拖动会改变结果,新手会把它当作随机行为。多选修饰键也会进一步改变集合语义——按住修饰键框选时,是在两条规则之外再叠加"追加"或"取反",三层规则同时生效时必须都有可见反馈,否则用户无法反推最终选中集合是怎么来的。

怎么落地

  • 选择与任务相符的一种默认几何规则,并在拖动过程中用高亮实时预览将被选中的对象,而不是等松手才揭晓结果。
  • 若支持两种规则,用明确、稳定的修饰键或方向约定,并让框的视觉样式(如描边虚实)随当前生效规则变化。
  • 验证办法:对边界对象建立回归测试集——故意让若干对象的边界框跨越常见框选路径,验证选择结果、实时预览、说明文案三者是否始终一致。

延伸

  • 同组C1.09.1 框选起点必须落在空白区,否则与拖动对象冲突 · C1.09.3 框选与画布平移共用空白区时需要模式或修饰键
  • 相邻C1.05 光标热点与命中判定 · C1.08 拖放
  • 站内检索intersection selection · containment selection · directional marquee

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/C1.09.2