当前位置:首页 > 技术 > 算法 > 正文内容

将一个数从一个范围映射到另外一个范围

Watrt6年前 (2019-03-24)算法19190
float map(float val, float I_Min, float I_Max, float O_Min, float O_Max){
return(val/(I_Max-I_Min)*(O_Max-O_Min) + O_Min);
}


将一个数从一个范围映射到另外一个范围。也就是说,会将 fromLow 到 fromHigh 之间的值映射到 toLow 在 toHigh 之间的值。

不限制值的范围,因为范围外的值有时是刻意的和有用的。如果需要限制的范围, constrain() 函数可以用于此函数之前或之后。

注意,两个范围中的“下限”可以比“上限”更大或者更小,因此 map() 函数可以用来翻转数值的范围,例如:

y = map(x, 1, 50, 50, 1);


这个函数同样可以处理负数,请看下面这个例子:

y = map(x, 1, 50, 50, -100);


分享给朋友:

相关文章

电子密保原理的研究

电子密保原理的研究

    近几年很多游戏公司推出了自己的电子密码保,电子密保其实也是双因素认证的一种,使用静态密保+动太密码的方式来保证用户帐号的安全。那么问题来了,服务器与电子密保没有联网而密码每分钟都在变,它们是如何确定密码的有效性呢?    首先,动态密码每分钟都会发生变化,那么可以肯定的是动态密码绝对与时间有关。而基于时间来计算一组数字来代表密码很简单。下面我通过python3来演示。import time imp...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。