Я пытаюсь сделать стрелку, которая указывает на определенную позицию, но проблема в том, что когда я делаю угол с векторами, он не может сделать разницу между западом и востоком, потому что это 90 ° в обоих. Как я могу сделать западный минус или добавить его на 180 °, чтобы сделать разницу между ними?
Мой код:
double angle = 0;
Vector a = (targetLoc).toVector().subtract(player.getLocation().toVector()).normalize();
Vector b = player.getLocation().getDirection();
angle = Math.acos(a.dot(b));
angle = Math.toDegrees(angle);
targetLo c - это позиция, которую я хочу указать
Например, когда координаты находятся под углом 90 ° от зрения игрока угол составляет 90 ° на западной стороне и на восточной стороне или когда координаты находятся под 45 ° от точки зрения игрока, угол составляет 45 ° на западной стороне и на восточной стороне.
Я хочу использовать только x и z планируют не y.