1

我正在开发一款游戏,并且正在编写一个Entity基类。由于许多实体的行为类似于粒子(2D),我想使用法线而不是旋转度数。但是,由于我使用的是 OpenGL,因此我需要旋转法线的度数。从法线转换为度数的最快方法是什么,反之亦然。我知道我可以使用诸如 etc 之类的三角函数atan2 sin cos,但我很确定有更快的方法。任何帮助或方向将不胜感激。

在此处输入图像描述

4

1 回答 1

10

如果您受限于二维并且您尝试将方向向量 (x, y) 转换为从 x 轴的度数,那么atan2(y, x)几乎肯定会是您最快的方法,除非您限制可能的值x 和 y 到一些非常微不足道的情况。当然,要从 y 轴获取度数,只需使用atan2(x, y)。这个角度将以弧度为单位。乘以 180/pi 以转换为度数。这应该需要很短的时间。

您绘制的图形表明atan2(x, y) * 180 / Math.PI它将为您提供所需的结果。

不要担心速度,除非您已经分析了代码并确定此计算中存在瓶颈(这不太可能)。

于 2012-01-05T00:43:54.933 回答