Я пытаюсь реализовать rotation matrix. Но есть очень странный эффект: Что происходит с Math.sin и Math.cos в Java? И как это исправить?
Это мой код:
public void rotation(PointF point, double a) {
point.x = (point.x - 400) * Math.cos(a) - (point.y - 300) * Math.sin(a)
+ 400;
point.y = (point.x - 400) * Math.sin(a) + (point.y - 300) * Math.cos(a)
+ 300;
}
В итоге имеем падение точки в координатах 400,300.
Что не так? Мне нужно двигаться по кругу? Как я могу сделать лучше?
Что произойдет, если вы измените '400' на' 400f' и '300' на' 300f' – durron597
Ничего. По-прежнему «падает». Мой point.x - двойной. – AMSmirnov