将数字从一个范围重新映射到另一个范围。
例如
int ans = map(5, 0, 10, 0, 100);
ans
将为50
,因为5
位于0
和10
之间,而0
和100
之间的距离为50
{{1}}。
如果没有内置功能,我该如何编写自己的功能?
答案 0 :(得分:4)
处理是开源的,您可以查看map()
函数here的来源。
具体来说,这就是你关心的路线:
float outgoing =
start2 + (stop2 - start2) * ((value - start1) / (stop1 - start1));