У вас есть интервал [a,b]
, который вы хотите отобразить на новый интервал [c,d]
, и значение x
в исходных координатах, которое вы хотите отобразить на y
в новых координатах , Тогда:
y = c + (x-a)*(c-d)/(b-a)
А для вашего примера с [a,b] = [0,440]
и [c,d] = [-1,1]
, с x=220
:
y = -1 + (220-0)*(1 - -1)/(440-0)
= 0
и пр.
Кстати, это работает, даже если x
находится за пределами [a,b]
. Так что, пока вы знаете любое два значения в обеих системах, вы можете преобразовать любое значение в любом направлении.