在 JavaScript 中使用 f(x) = 1/x
Using f(x) = 1/x in JavaScript
每毫秒,变量 light 递增 1,直到达到变量 universe 的 1/3,或者直到它是变量 universe 的 3 倍变量物质.
if (light < (universe * (1/3)) || light < matter * 3 && light <= universe) {
light++;
}
相反,我希望光线越接近顶部,增加得越慢,
(1/3 宇宙 或 3 * 物质)
像 this picture ( f(x) = 1/x ).
我该怎么做?
类似这样的方法可能有效:
var speed = 10;
var target = Math.max(universe / 3, Math.min(universe, matter * 3));
if (light < target) {
light += (target - light) / speed;
}
您需要确保 light
是一个浮点变量,++
运算符通常只用于整数。
您只需在每次迭代时添加 1/light
-
var light = 0.0;
if (...) {
light += 1/light;
}
所以这里的速度从 100 开始,然后我添加了一个间隔,因此它每 1000 毫秒/1 秒持续一次,它会继续。
(function(){
setInterval(function(){
var speed= 99999999;
if(light<(universe/3) || light<(matter*3) && light <= universe)){
light+=speed;
speed--;
}
},1000)
})()
是的.. Infinty
是 javascript 中的关键字。
每毫秒,变量 light 递增 1,直到达到变量 universe 的 1/3,或者直到它是变量 universe 的 3 倍变量物质.
if (light < (universe * (1/3)) || light < matter * 3 && light <= universe) {
light++;
}
相反,我希望光线越接近顶部,增加得越慢,
(1/3 宇宙 或 3 * 物质)
像 this picture ( f(x) = 1/x ).
我该怎么做?
类似这样的方法可能有效:
var speed = 10;
var target = Math.max(universe / 3, Math.min(universe, matter * 3));
if (light < target) {
light += (target - light) / speed;
}
您需要确保
light
是一个浮点变量,++
运算符通常只用于整数。您只需在每次迭代时添加
1/light
-
var light = 0.0;
if (...) {
light += 1/light;
}
所以这里的速度从 100 开始,然后我添加了一个间隔,因此它每 1000 毫秒/1 秒持续一次,它会继续。
(function(){
setInterval(function(){
var speed= 99999999;
if(light<(universe/3) || light<(matter*3) && light <= universe)){
light+=speed;
speed--;
}
},1000)
})()
是的.. Infinty
是 javascript 中的关键字。