-1

我正在试验一个创造性的 javascript 框架 P5.js,而且我经常使用度数来旋转球体。但是,我通过不断增加一个变量并基于该变量的旋转来做到这一点。无限增加变量是一种不好的做法吗?当旋转达到 360 度时,我应该将旋转重置为 0 吗?

例子:

this.deg = 0;

this.show = function(){
    rotateY(radians(this.deg));
    sphere(this.x, this.y, this.r);
    this.deg++; // Continuously increasing the deg :(
}
4

1 回答 1

0

这得看情况。

如果您谈论它是否会影响 p5.js 的任何性能,那么不,因为它很可能已经this.deg%=360在学位上做了类似的事情。

但是,您应该小心 JavaScript 中非常大的整数,因为对于非常大的整数,您可能会丢失精度或可能会溢出大小。

除此之外,您应该真正将事物保持在 360 以下,以避免在调试过程中出现任何混乱。

任何简单的方法都是在代码中使用模运算符,就像这样

this.deg = 0;

this.show = function(){
rotateY(radians(this.deg));
sphere(this.x, this.y, this.r);
this.deg++; 
this.deg%=360; // keep it under 360 deg , always
}

阅读更多关于 JavaScript 中整数的安全限制:https ://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER和这个 stackoverflow 问题:什么是 JavaScript 的最高整数值,一个数字可以去不失精度?

于 2017-03-04T16:42:28.757 回答