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

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

Watrt6年前 (2019-03-24)算法24790
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);


打赏 支付宝打赏 微信打赏
分享给朋友:

相关文章

音频基础知识及编码原理

音频基础知识及编码原理

一、基本概念1 比特率:表示经过编码(压缩)后的音频数据每秒钟需要用多少个比特来表示,单位常为kbps。2 响度和强度:声音的主观属性响度表示的是一个声音听来有多响的程度。响度主要随声音的强度而变化,但也受频率的影响。总的说,中频纯音听来比低频和高频纯音响一些。3 采样和采样率:采样是把连续的时间信号,变成离散的数字信号。采样率是指每秒钟采集多少个样本。Nyquist采样定律:采样率大于或等于连续信号最高频率分量的2倍时,采样信号可以用来完美重构原始连续信号。二、常见音频格式1. WAV格式,是...

发表评论

访客

看不清,换一张

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