Хорошо, это, вероятно, будет довольно простой вопрос. У меня не было уроков математики, посвященных логарифмам, несколько лет, так что прошу прощения. Итак, у меня есть USB-контроллер, который я использую для управления мышью на экране с помощью левого джойстика. Теперь, как это работает прямо сейчас, контроллер возвращает двойное значение между 0,00 и 1,00 в зависимости от того, насколько далеко вы нажимаете джойстик в направлении (0,00 в центре, 1,00 нажато до упора). Я использую это, чтобы отрегулировать скорость движения мыши, умножая возвращаемое значение на заданную скорость (возвращенное двойное * скорость). Это дает мне линейную скорость. Но с целью точности мыши и щелчков по экрану я бы хотел, чтобы он был более логарифмическим, так как он очень медленный, когда едва нажимаешь, а затем скорость увеличивается логарифмически, когда вы перемещаете джойстик дальше. Таким образом, вы можете получить хорошую скорость для перемещения по экрану, а также иметь хорошую чувствительность при медленном перемещении. Так что мне просто нужна помощь с формулой, так как я уверен, что это довольно просто. Кроме того, я работаю на Java. Сейчас моя формула:
double value (value given by controller)
int speed = 25;
value += value * speed;
Затем я использую это для перемещения мыши. Спасибо, Брайден.