답변:
기본 공식은 다음과 같습니다.
Result := ((Input - InputLow) / (InputHigh - InputLow))
* (OutputHigh - OutputLow) + OutputLow;
너의 경우:
결과 : = (( 입력 - -1 ) / ( 1 - -1 ) * ( 255 - 0 ) + 0 ;
여기에서 계수가 정적 인 경우 변환을 최적화 할 수 있지만 컴파일러가 자체적으로 수행 할 수도 있습니다.
결과 : = (( 입력 - -1 ) / 2 ) * 255 + 0 ;
결과 : = 입력 * 127.5 + 127.5 ;
말할 수는 x
원래의 입력 및 y
출력이 예상된다. 우리는 적어도 두 점이 있습니다
(x, y) (-1, 0) (1, 255)
우리는 선형 보간 을하고 싶기 때문에 우리 는 형태 방정식을 볼 수 있습니다
y = m*x + c
위의 두 점을 통해 풀 수 있습니다. m
그리고 c
일단 완료되면 변환 방정식을 얻습니다.
이 방법은 다른 유형의 방정식에도 적용됩니다. 예를 들어 지수 또는 2 차 보간을 원할 경우.
v = (1-a)*x + (a)*y
입니다. 그가 원하는 것은 범위 매핑이기 때문에이 답변이 묻는 질문과 얼마나 관련이 있는지 알 수 없습니다.