摇杆死区按轴处理与按半径处理有什么不同:十二组二维摇杆输入比较(实例07)

2026-11-07

摇杆接近中心的微小输入可以被过滤,但分别过滤横纵轴与过滤整体长度,会形成不同形状的无响应区域。斜向输入尤其容易暴露差异。

先固定规则与数据

输入为二维数值,死区d在零与一之间。按轴方式把每个分量的绝对值减去d后重新缩放并限幅;径向方式先求长度,长度不超过d就归零,其他情况保持方向,把长度从d至一映射到零至一。

死区1/4;显示结果保留六位小数,原计算未提前取整。

逐项记录过程

输入1(0,0),原长度约0.000000;按轴输出[0.0, 0.0],径向输出[0.0, 0.0]。前者在两个方向分别过滤,后者统一处理长度。

输入2(1/4,1/4),原长度约0.353553;按轴输出[0.0, 0.0],径向输出[0.097631, 0.097631]。前者在两个方向分别过滤,后者统一处理长度。

输入3(1/4,0),原长度约0.250000;按轴输出[0.0, 0.0],径向输出[0.0, 0.0]。前者在两个方向分别过滤,后者统一处理长度。

输入4(1,1),原长度约1.414214;按轴输出[1.0, 1.0],径向输出[0.707107, 0.707107]。前者在两个方向分别过滤,后者统一处理长度。

输入5(-6/5,1/2),原长度约1.300000;按轴输出[-1.0, 0.333333],径向输出[-0.923077, 0.384615]。前者在两个方向分别过滤,后者统一处理长度。

输入6(0,-7/10),原长度约0.700000;按轴输出[0.0, -0.6],径向输出[0.0, -0.6]。前者在两个方向分别过滤,后者统一处理长度。

输入7(6/5,-3/10),原长度约1.236932;按轴输出[1.0, -0.066667],径向输出[0.970143, -0.242536]。前者在两个方向分别过滤,后者统一处理长度。

输入8(1/5,3/5),原长度约0.632456;按轴输出[0.0, 0.466667],径向输出[0.161257, 0.483772]。前者在两个方向分别过滤,后者统一处理长度。

输入9(7/10,-3/10),原长度约0.761577;按轴输出[0.6, -0.066667],径向输出[0.626952, -0.268694]。前者在两个方向分别过滤,后者统一处理长度。

输入10(-3/5,-2/5),原长度约0.721110;按轴输出[-0.466667, -0.2],径向输出[-0.52265, -0.348433]。前者在两个方向分别过滤,后者统一处理长度。

输入11(3/5,-6/5),原长度约1.341641;按轴输出[0.466667, -1.0],径向输出[0.447214, -0.894427]。前者在两个方向分别过滤,后者统一处理长度。

输入12(-1/5,6/5),原长度约1.216553;按轴输出[0.0, 1.0],径向输出[-0.164399, 0.986394]。前者在两个方向分别过滤,后者统一处理长度。

同时等于死区的两个轴在按轴规则中都会归零,但它们合成的长度可能已经超过径向死区;这就是两种中心区域形状不同的具体表现。

独立复核的方法

检查中心与死区边界输出为零。径向非零输出应与原方向平行,长度不超过一;按轴输出每个分量不超过一,但合成长度可能超过一,不能混用这两种限幅含义。

建议先按原始数据自己算一遍,保留中间状态后再与本例对照。发生分歧时,先寻找最早不同的步骤,检查边界是否包含、编号与坐标方向是否一致,以及状态是在事件之前还是之后更新。最终结果相同并不能替代对过程规则的理解,修改输入后也需要重新核算。

使用范围

这只是对同一组输入的两种数学约定,不代表某种设备的默认设置。实际摇杆校准、轴偏移和外圈形状也会影响结果,应先确认采样的数值范围与游戏的控制规则。