Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите [Решено]Vector

Тема в разделе "Разработка плагинов для новичков", создана пользователем Derik, 2 окт 2016.

Статус темы:
Закрыта.
  1. Автор темы
    Derik

    Derik Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Derik
    Код:
         
    Location location = player.getLocation();
     Vector vec = player.getLocation().getDirection();
     z = vec.getZ() - 0.045;
     vec.setZ(z);
     location.setDirection(vec);
                   
     StandSpawn(player, location, name);
    Данный код спавнит стойку, но как ее развернуть на 180 градусов? Чтобы стояла лицом к игроку, а не задницей. Пробую z поменять, но больше чем на 45 градусов стойка не поворачивается.
     
  2. Хостинг MineCraft
    <
  3. xDark

    xDark Активный участник Пользователь

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    МБ надо менять yaw и pitch?
     
  4. Автор темы
    Derik

    Derik Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Derik
    Фиг знает, в инете что нашел, что надо один вектор крутить вокруг другого. Головняк короче. Не для моих мозгов.))
     
  5. _MediaNik_

    _MediaNik_ Активный участник Пользователь

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    New Vector(..., vector1.getZ-(здесь скоко градусов), ...);
     
  6. _TheZit445_

    _TheZit445_ Активный участник Пользователь

    Баллы:
    66
    Skype:
    kirik2425
    Имя в Minecraft:
    _TheZit445_
    Пробуй так

    Код:
    Location location = player.getEyeLocation();
    Vector vec = location.getDirection();
    double x = -vec.getX();
    double z = -vec.getZ();
    Vector vector = new Vector(x, 0, z).normalize();
    location.setDirection(vector);
    StandSpawn(player, location, name);
    А вообще, если нужно развернуть вектор на какой-нибудь угол, то используй вот эти формулы
    x = x * cos A - y * sin A
    y = x * sin A + y * cos A
     
  7. Автор темы
    Derik

    Derik Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Derik
    Вот про косинусы и синуксы, можно как нить по подробней. Ну или ссылку на урок.
     
  8. xDark

    xDark Активный участник Пользователь

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    Геометрия. 8 класс
     
  9. slavik123123123

    slavik123123123 Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Разве в школе учат нормально пользоваться косинусами и синусами? Нас только учили находить их в треугольниках. Типо синус угла А равен противолежайшую сторону делить на гипотенузу. Косинус = прилежащую на гипотенузу.

    И наврятли эти знания можно будет использовать в коде.
     
  10. _TheZit445_

    _TheZit445_ Активный участник Пользователь

    Баллы:
    66
    Skype:
    kirik2425
    Имя в Minecraft:
    _TheZit445_
    Чувак, во-первых ты даже не сказал, работает ли тот код, что я тебе дал. Если нет, то я бы тебе помог дальше, если да, то можно было бы и спасибо сказать. А что касается тригонометрии, то я уже рассказал про эти формулы.
    У нас есть вектор a {1;0;3} (1 - х, 0 - у, z - 3) допустим. Ну и для наглядности и простоты счёта, предположим, что нужно повернуть его на 90 градусов в плоскости XZ. Делается это так:
    x = x * cos A - y * sin A
    y = x * sin A + y * cos A
    Давай подставим значения.
    x = 1 * cos 90 - 3 * sin 90
    x = -3
    y = x * sin 90 + y * cos 90
    y = 1
    Получаем новый вектор b{-3; 0; 1}
    Проверь на тетрадном листочке, если не веришь[DOUBLEPOST=1475441650,1475441151][/DOUBLEPOST]
    Такую охинею я ещё ни разу не читал. Какой 8 класс, тебя куда черти то загнали? В 8 классе давали понятия их, а вот тригонометрия примерно со второй половины первого семестра в 10 классе, и то, там вас не обучат ни чему, что действительно может пригодиться. Спасибо хоть на том, что о векторах расскажут, что сейчас, как видно, актуально, и то, те знания будут просто каплей в море... В море бензина
     
  11. Автор темы
    Derik

    Derik Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Derik
    Работает, спасибо. Но не хрена не чего не понял из этой математики.))
     
    Последнее редактирование: 3 окт 2016
Статус темы:
Закрыта.

Поделиться этой страницей