Обработка имеет отличную функцию, которую я использую все время:
map(value, low1, high1, low2, high2)
http://processing.org/reference/map_.html
Он переназначает ] значение
(с ожидаемым диапазоном от low1
до high1
) в целевой диапазон от low2
до high2
).
Я хочу понять математику, лежащую в основе этого, чтобы я мог использовать его на других языках. Кто-нибудь хочет бросить мне кость и помочь мне перепроектировать его? Я понимаю, что это лерп, масштаб которого был изменен и пересчитан ... сегодня утром у него мертвый мозг.
Судя по вашему описанию, он должен делать это, не так ли?
low2 + (value - low1) * (high2 - low2) / (high1 - low1)
Найдите, как далеко вы находитесь в первом диапазоне, масштабируйте это расстояние по соотношению размеров диапазонов, и это как далеко вы должны быть во втором диапазоне.