В p5.js существует функция, называемая map(), которая отображает значение в определенном диапазоне в другое значение в другом диапазоне. Есть ли аналогичный метод, подобный этому в javascript в vanilla?
Нет, в JavaScript нет ничего подобного, но достаточно легко написать свой собственный:
// linearly maps value from the range (a..b) to (c..d)
function mapRange (value, a, b, c, d) {
// first map value from (a..b) to (0..1)
value = (value - a) / (b - a);
// then map it from (0..1) to (c..d) and return it
return c + value * (d - c);
}
Кроме того, P5.js написана на JavaScript, поэтому его функция map()
- это ванильно JavaScript. P5.js является открытым исходным кодом, а функцию map()
можно найти здесь:
var newval = (n - start1) / (stop1 - start1) * (stop2 - start2) + start2;