Java 如何将坡度转换为度,反之亦然?

Java 如何将坡度转换为度,反之亦然?,java,math,degrees,projectile,Java,Math,Degrees,Projectile,我正在做一个游戏,游戏中有一个朝鼠标方向射击的精灵。到目前为止,它只需要一颗子弹就能正常工作。我有一个方法,它得到一个斜率,然后规范化向量: public static Vector2f getSimplifiedSlope(Vector2f v1, Vector2f v2) { Vector2f result = new Vector2f(v2.x - v1.x, v2.y - v1.y); float length = (float)Math.sqrt(result.

我正在做一个游戏,游戏中有一个朝鼠标方向射击的精灵。到目前为止,它只需要一颗子弹就能正常工作。我有一个方法,它得到一个斜率,然后规范化向量:

    public static Vector2f getSimplifiedSlope(Vector2f v1, Vector2f v2) {
    Vector2f result = new Vector2f(v2.x - v1.x, v2.y - v1.y);
    float length = (float)Math.sqrt(result.x * result.x + result.y * result.y);

    return new Vector2f(result.x / length, result.y / length);
}
然而,现在我正在制造一把散弹枪,它可以发射几发子弹,并带有一个“散弹”。我的计划是,我将取基本坡度,将其转换为度,加上或减去一对以创建偏差,然后将度转换回坡度,并将其传递给子弹

然而,我不知道该怎么做。如果有人能告诉我如何将二维坡度转换为度,反之亦然,那就太好了

提前谢谢

使用,记住结果以弧度为单位,而不是以度为单位。

将这样做,并以弧度为单位给出结果

返回直角坐标转换的角度θ (x,y)到极坐标(r,θ)。此方法计算相位 θ通过计算y/x在-pi到pi范围内的反正切


将执行弧度/度数转换。

最简单的方法是使用三角法
Math.atan2
计算弧度角度,使用
Math将其转换为度数。要进行角度调整,请使用
Math.toRadians
将其转换回弧度,然后使用三角法
Math.tan
将弧度值转换回坡度。您需要注意从
tan
方法返回的潜在无限斜率


下面是
Math
类上的函数。

Math.tan()
返回一个双精度,对吗?如何将其转换为X和Y?如果需要将其转换为X和Y,而不是使用Math.tan,请使用Math.cos(adjustedRadians)获得X值,使用Math.sin(adjustedRadians)获得Y值,这将为归一化向量提供一个(X,Y)。