Помогите Получение координаты с какой-либо стороны от игрока

  • Автор темы Автор темы swat1x
  • Дата начала Дата начала

swat1x

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
swat1x
Как можно получить координату зелёной точки?
upload_2022-1-2_0-26-19.png
 
Я лишь сказал как вычислить локацию. Если уж досконально то player.getLocation().add(x, y, z), а какие x и z (плюсовые или минусовые) давать вычисляешь в зависимости от player.getDirection() вроде так метод называется.
Все все данные у тебя есть, пару проверок уж сможешь думаю замутить
 
а ты на тригонометрию решил забить?
 
а ты на тригонометрию решил забить?
Досконально мне высчитывать лень, так можно посчитать и относительно куда он смотрит (getYaw и getPitch) и тригонометрию подрубить. Ты спросил как я ответил дальше шамань как хочешь, хоть стереометрию подрубай. Если нужен готовый код то так и пиши. Со всеми нюансами которые тебе важны, а не просто как получить "координату зелёной точки"
 
Досконально мне высчитывать лень, так можно посчитать и относительно куда он смотрит (getYaw и getPitch) и тригонометрию подрубить. Ты спросил как я ответил дальше шамань как хочешь, хоть стереометрию подрубай. Если нужен готовый код то так и пиши. Со всеми нюансами которые тебе важны, а не просто как получить "координату зелёной точки"
если ты не можешь ответить на вопрос, то просто не пиши. Всё "нюансы" указаны в заголовке темы, стоит просто прочитать
 
Для решения подобных задач необходимо абстрагироваться от игры и представить, как задача выглядела бы в геометрии - на плоскости или в пространстве.

Фактически тебе необходимо получить координаты точки на окружности под определённым углом, верно?

Это практически дословный запрос в гугл, по которому я спокойно нашёл решение:
"x = r*cos(fi)
y = r*sin(fi)
нужен радиус и угол"

Скажу по памяти, что очень похоже на рабочее.

Но вообще, конечно, если задаёшь вопросы на форумах, тебе стоит научиться лучше формулировать свои мысли.
Из первого поста еле как понял, в чём твоя задача состоит. С текущими условиями даже ответ про loc.add() мог бы являться верным.

Конкретно в этом вопросе можно было бы написать что-то типа:
Как получить координаты точки относительно игрока, который может вращаться вокруг своей оси? Мне это нужно для того, чтобы отображать частицу возле правой руки игрока
 
Последнее редактирование:
Вообщем хз как у меня это получилось, но при значении deviationPercentage в 90, получился результат +- который мне нужен
Код:
    public static Location getPointAroundPlayer(Player player, double radius, int deviationPercentage){
        Location playerLocation = player.getLocation();
        Location point = playerLocation.clone();
        point.setX((playerLocation.getX() + Math.cos(0.017453292519943295 * playerLocation.getYaw()+deviationPercentage) * radius));
        point.setY(playerLocation.getY() + 1.5);
        point.setZ((playerLocation.getZ() + Math.sin(0.017453292519943295 * playerLocation.getYaw()+deviationPercentage) * radius));
        return point;
    }
 
Назад
Верх