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

Java 如何旋转由线段组成的形状,java,algorithm,rotation,geometry,line-segment,Java,Algorithm,Rotation,Geometry,Line Segment,你好,我正在用java制作一个游戏。我使用一组线来表示形状,以检测碰撞。我需要能够旋转这个形状的角度或弧度 从上图中可以看出,该形状是一组具有2个点a和点b的线段。我需要知道如何将所有线条一起旋转,同时保持形状。听起来像是仿射变换的工作(假设你在做2D) 大意如下: Point2D rotatedPoints = new Point2D[yourPoints.length]; AffineTransform at = new AffineTransform(); at.rotate(Math.

你好,我正在用java制作一个游戏。我使用一组线来表示形状,以检测碰撞。我需要能够旋转这个形状的角度或弧度


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

听起来像是
仿射变换的工作(假设你在做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);

只需独立旋转所有点,如问题答案中所述