嘿,我在 Javascript 中创建了一个旋转函数,用于旋转一些 2D 矢量(点)。
函数的 Y 输出按预期工作,但是 X 值输出一些疯狂的数字,谁能指出我逻辑中的底线?
Vector2.prototype.rotate = function(degrees){
var angle = degrees * TO_RADIANS; //Convert to radians.
var x = (this.getX() * Math.cos(angle)) - (this.getY() * Math.sin(angle));
var y = (this.getX() * Math.sin(angle)) + (this.getY() * Math.cos(angle));
return new Vector2(x,y);
};
将 Vector(1,0) 输入此函数并旋转 90 度输出 6.someDecimalPlaces e-17; 这显然是不正确的。
然而,输出的 Y 值按预期工作并返回 1。
提前致谢