2D ベクトル (ポイント) を回転させるために Javascript で回転関数を作成しました。
関数の 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 を返します。
前もって感謝します