Я работал над этим в течение часа, просто не могу его получить.
У меня есть класс Vector2d:
public class Vector2d
{
public double x = 0.0;
public double y = 0.0;
....
}
Этот векторный класс имеет rotate ()метод, который вызывает у меня проблемы.
Первый фрагмент, кажется, делает значения х и у все меньше и меньше.Второй работает просто отлично!Я что-то упускаю здесь просто?
public void rotate(double n)
{
this.x = (this.x * Math.cos(n)) - (this.y * Math.sin(n));
this.y = (this.x * Math.sin(n)) + (this.y * Math.cos(n));
}
Это работает:
public void rotate(double n)
{
double rx = (this.x * Math.cos(n)) - (this.y * Math.sin(n));
double ry = (this.x * Math.sin(n)) + (this.y * Math.cos(n));
x = rx;
y = ry;
}
Я просто не вижу здесь никакой разницы