我在写游戏。我需要知道如何将点a绕点b旋转给定的度数。我正在用Java编写它,它将成为我的类(class)Point的一部分。
最佳答案
double x1 = point.x - center.x;
double y1 = point.y - center.y;
double x2 = x1 * Math.cos(angle) - y1 * Math.sin(angle));
double y2 = x1 * Math.sin(angle) + y1 * Math.cos(angle));
point.x = x2 + center.x;
point.y = y2 + center.y;
这种方法使用旋转矩阵。 “点”是您的点a,“中心”是您的点b。