Помогите Угол между направлением взгляда и направлением на координаты

CraftCoder

Старожил
Пользователь
Баллы
108
Имя в Minecraft
CraftCoderr
На данный момент делаю так:
Java:
        Vector viewDirection = player.getLocation().getDirection();
        Vector locDirection = player.getLocation().toVector().subtract(location.toVector());
        double angle = Math.abs(Math.toDegrees(Math.atan(viewDirection.getX() / viewDirection.getZ())) -
                Math.toDegrees(Math.atan(locDirection.getX() / locDirection.getZ())));
        if (angle > 180.0D)
        {
            angle = 360.0D - angle;
        }
Работает неплохо, но:
Angle.png
Т.е. с "зеленой" стороны все вычисляется как надо, а с "черной" - нет.
 
Посмотри метод angle у Vector
 
Посмотри метод angle у Vector
Он считает угол в пространстве, а мне нужно только по двум осям.
Посмотри метод angle у Vector
Спасибо за идею, сделал так:
Код:
Vector viewDirection = player.getLocation().getDirection();
        Vector locDirection = player.getLocation().toVector().subtract(location.toVector());      
      
        viewDirection.setY(0);
        locDirection.setY(0);
        double angle = 180.0D - Math.toDegrees(viewDirection.angle(locDirection));
 
Назад
Верх