好吧,这可能是一个非常简单的问题。几年来我没有上过处理对数的数学课,所以我很抱歉。所以我有一个 USB 控制器,我用它来用左操纵杆控制屏幕上的鼠标。现在它的工作原理是控制器返回一个介于 0.00 和 1.00 之间的双精度值,具体取决于将操纵杆推向该方向的距离(0.00 中心,1.00 一直推到上面)。我使用它通过将返回值乘以给定速度(返回双倍 * 速度)来调整鼠标移动的速度。这给了我一个线性速度。但是为了鼠标的准确性和点击屏幕上的东西,我希望它更加对数,因为它在勉强推动时真的很慢,然后随着您将操纵杆移动得更远,速度会以对数方式增加。这样,您可以在屏幕上移动时获得良好的速度,同时在缓慢移动时也具有良好的灵敏度。所以我只需要公式的帮助,因为我确信它很简单。另外,我正在使用Java。现在我的公式是:
double value (value given by controller)
int speed = 25;
value += value * speed;
然后我用它来移动鼠标。谢谢,布雷登