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

标签 java algorithm rotation geometry line-segment

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

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

最佳答案

听起来像是 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);

关于java - 如何旋转由线段组成的形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22493483/

相关文章:

javascript - 根据轴承计算 x 和 y

Phaser 中的旋转和 getBounds()

algorithm - 中轴变换实现

algorithm - 哪种算法最适合 Burrows-Wheeler 变换?

java - Listview 按钮点击监听器不工作

java - 如何防止 Spring 批处理作业在特定日期运行?

自动排列实体关系图的算法

rotation - SDL_RenderSetScale 错误地应用于 SDL2 (2.0.3) 中的旋转位图

java - LWJGL先进照明系统

java - IBM WAS HTTPS 连接证书链错误