如何围绕另一个点旋转一个点

时间:2014-03-18 21:13:03

标签: java algorithm rotation

我正在写一个游戏。我需要知道如何将点b绕点b旋转给定的度数。我在java中写这个,它将成为我的课程的一部分,Point。

1 个答案:

答案 0 :(得分:7)

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;

这种方法使用旋转矩阵。 "点"是你的观点,"中心"是你的观点b。