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)。