libgdx - libgdx 中与中心点相关的两点之间的角度

标签 libgdx

我想要获取点 1 和点 2 之间相对于中心点的角度。如何使用 Vector2 执行此操作?

Vector2 center = new Vector2((float)Gdx.graphics.getWidth /2, (float)Gdx.graphics.getHeight /2);
Vector2 point1 = new Vector2(center.x, center.y + 200.0f);
Vector2 point2 = new Vector2(center.x + 200.0f, center.y);

应该是 90°,但是我如何得到它?

最佳答案

Vector2 center = new Vector2(500, 500);
Vector2 point1 = new Vector2(center.x, center.y + 200.0f);
Vector2 point2 = new Vector2(center.x + 200.0f, center.y);

point1.sub(center).nor();
point2.sub(center).nor();

float angle = (MathUtils.atan2(point1.y, point1.x) - MathUtils.atan2(point2.y, point2.x));
angle *= MathUtils.radiansToDegrees;
System.out.println(angle); // 90.0

角度计算可以在互联网上的任何地方查找。例如here .

它与我们在计算之前执行的一个附加步骤一起使用。我们需要将中心视为 (0, 0) 原点,通过从点中减去它,然后对它们进行归一化。

关于libgdx - libgdx 中与中心点相关的两点之间的角度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32438944/

相关文章:

java - NoClassDefFoundError 从 Java(Android、LibGDX)调用 Clojure

java - 读取文件 Libgdx 运行时异常时出错

android - LibGDX 样板代码 NullPointerException

java - LibGdX 平铺 map Box2d 与多边形 map 对象碰撞

java - 为什么 GLProfiler 在我的示例中没有返回值?

LIBGDX如何加载md2格式

java - LibGdx ProgressBar 旋钮边距?

java - LibGDX Actor 绘制覆盖

java - LibGDX 的 mesh.getVerticies 输出什么?

java - LibGDX - 基本的 2D 光照,不知道该怎么做