C++ 相当于Processing 的map() 函数

Nat*_*ith 1 c++ processing

处理有一个功能map

将数字从一个范围重新映射到另一个范围。

例如

int ans = map(5, 0, 10, 0, 100);
Run Code Online (Sandbox Code Playgroud)

ans将是50和之间5的中间位置和 之间的中间位置是。010010050

如果没有内置函数,我该如何编写自己的函数?

Kev*_*man 5

处理是开源的,您可以在此处map()查看该函数的源代码。

具体来说,这是您关心的行:

float outgoing =
  start2 + (stop2 - start2) * ((value - start1) / (stop1 - start1));
Run Code Online (Sandbox Code Playgroud)