如何计算两个 3d 矢量之间的俯仰角

时间:2021-01-20 13:44:50

标签: java math trigonometry

我正在我的太空模拟游戏中制作一个人工智能,并试图在敌人的方向向量和某个目标的方向之间获得俯仰和偏航。这是向目标移动的方法:

private void moveTo(Vecf target) {
    if (target == null)
        return;
    Vecf dir = getForward();
    Vecf dirToTarget = Vecf.sub(target, pos).normalize();
    float dYaw = getYaw(dir, dirToTarget);
    float dPitch = getPitch(dir, dirToTarget);
    rotate(dPitch, dYaw);
    moveForward();
}

我已经编写了 getYaw(Vecf v1, Vecf v2) 方法,但我不知道如何处理音调。有人可以帮我弄这个吗?顺便说一句,角度以弧度为单位。

1 个答案:

答案 0 :(得分:0)

你需要向前和向上的向量来计算俯仰和偏航