Javascript 如何在规范化输出中返回两个规范化值之和
我需要一个函数,它在[0..1]范围内取a和b,并将a和b相加,然后返回[0..1]范围内的输出,当总和大于1时,它将像Javascript 如何在规范化输出中返回两个规范化值之和,javascript,game-physics,Javascript,Game Physics,我需要一个函数,它在[0..1]范围内取a和b,并将a和b相加,然后返回[0..1]范围内的输出,当总和大于1时,它将像mod函数一样包装为零 我试过这个,但不起作用: function shift(a, b) { return (a + b) % 1; } 例如,对于a=1和b=0,它返回0,但我希望它返回1。我认为最好的方法是: function normalize(a, b) { let r = (a + b); return r === 1 ? 1 : r % 1; }
mod
函数一样包装为零
我试过这个,但不起作用:
function shift(a, b) {
return (a + b) % 1;
}
例如,对于a=1和b=0,它返回0,但我希望它返回1。我认为最好的方法是:
function normalize(a, b) {
let r = (a + b);
return r === 1 ? 1 : r % 1;
}
当总和正好为0时返回0,当总和正好为1时返回1。其他值“包装”回0。。。1范围。我在这里看到三种情况 1) 当两者都为1时,总和将为2,在这种情况下,必须返回0 2) 当总和大于1而不是2时,在这种情况下,减去1 3) 当总和小于1时,返回总和
function f(a,b){
s = (a+b)
if(s == 2)
return s-2
else if (s > 1)
return s-1
else
return s
}
我希望这有帮助