如何旋转由线段组成的形状

时间:2014-03-18 23:49:40

标签: java algorithm rotation geometry line-segment

您好我正在使用java制作游戏。我使用一组线来表示一个形状来检测碰撞。我需要能够按度数或弧度旋转这个形状 enter image description here

从上图中可以看出,形状是一系列具有2个点a和b的线段。我需要知道如何将所有线条旋转在一起并保持形状。

1 个答案:

答案 0 :(得分:1)

听起来像是AffineTransform的工作(假设你正在做2D)

有这样的效果:

Point2D rotatedPoints = new Point2D[yourPoints.length];
AffineTransform at = new AffineTransform();
at.rotate(Math.toRadians(yourDegreeRotation), xToRotateAround, yToRotateAround);
at.transform(yourPoints, 0, rotatedPoints, 0, yourPoints.length);