将一个数值从一个范围重新映射到另一个范围。 例如,调用
map(2, 0, 10, 0, 100)
返回 20。前三个参数设置原始值为 2,原始范围从 0 到 10。最后两个参数设置目标范围从 0 到 100。20 在目标范围 [0, 100] 中的位置与 2 在原始范围 [0, 10] 中的位置成比例。 第六个参数 withinBounds
是可选的。默认情况下,map()
可以返回目标范围之外的值。例如,map(11, 0, 10, 0, 100)
返回 110。将 true
作为第六个参数传递可以将重新映射的值限制在目标范围内。例如,map(11, 0, 10, 0, 100, true)
返回 100。示例
语法
map(value, start1, stop1, start2, stop2, [withinBounds])
参数
value
要重新映射的值。
start1
当前范围的下限值。
stop1
当前范围的上限值。
start2
目标范围的下限值。
stop2
目标范围的上限值。
withinBounds
将数值约束在新映射的范围内。
Notice any errors or typos? Please let us know. Please feel free to edit src/math/calculation.js and open a pull request!
相关参考
abs
计算一个数的绝对值。 一个数的绝对值是它在数轴上距离零的距离。-5 和 5 都距离零五个单位,所以调用 abs(-5) 和 abs(5) 都会返回 5。一个数的绝对值始终是正数。.
ceil
计算最接近给定数且大于或等于它的整数值。 例如,调用 ceil(9.03) 和 ceil(9.97) 都会返回值 10。.
constrain
将一个数字限制在最小值和最大值之间。.
dist
计算两点之间的距离。 带有四个参数的 dist() 版本计算二维空间中的距离。 带有六个参数的 dist() 版本计算三维空间中的距离。 使用 p5.Vector.dist() 来计算两个 p5.Vector 对象之间的距离。 .