1
我正在尋找一個函數或算法,對於指定範圍內的值,將返回一個值在相同的範圍,但基於斬波/分割值是在難以解釋 - 在此基礎上空殼功能從「切碎」輸入範圍返回值
function choppedRange(value, min, max, chops) {
// value - a value in range min to max
// chops - integer defining how many "subranges" or "chops" to return values from
...
}
// Map (linear conversion) input value in range oldMin -> oldMax
// to a value in range newMin -> newMax
function remap(oldValue, oldMin, oldMax, newMin, newMax) {
return (((oldValue - oldMin) * (newMax - newMin))/(oldMax - oldMin)) + newMin;
}
- 確定在哪個砍輸入值(藍點)是。 (讓我們說,它的值是
0.35
...) - 重映射(上面的函數)的值(藍)範圍
0,25
0.35
到0.5
是在min
和max
參數的範圍例如0
到1
:remap(0.35, 0.25, 0.5, 0, 1)
- 與示例值輸出(綠點)應該是
0.3999...
希望你能明白我的意思。
正如你可以看到我已經重新映射做 - 但我無法決定「砍」爲輸入值remap
- 這樣的:
remap(input_value, chop_min, chop_max, min, max)
我想根據chop_min
和chop_max
找到在choppedRange
function choppedRange(value, min, max, chops) {
// Figure out chop_min and chop_max
...
return remap(value, chop_min, chop_max, min, max)
}
這是相當困難弄清楚你是什麼之後,我們談論的四捨五入在這裏? – biziclop
是的 - 對不起 - 我試圖用插圖更新 – Larpon