LINUX.ORG.RU

Нужел ли вектор для движения пули?

 , ,


0

1

Нужно чтобы пуля летела, для этого наверное нужен вектор.
Но как правильно сделать? Как выбрать направление? Если можно здесь ответ, и если знаете где почитать об этом, то тоже напишите.
. Наверное нужны вектора скорости и направления, но я незнаю как их применять.

Ответ на: комментарий от Harald

Дальность полёта можно захардкодить просто, а вращение Земли и сила Корилолиса это сильно круто для 2D шутера(какой шутер вообще это учитывает?).

Singularity ★★★★★
()
Последнее исправление: Singularity (всего исправлений: 2)
Ответ на: комментарий от Harald

ну на дальность полёта влияет же, плюс ветер, плюс вращение земли

А ещё Джоли умеет закручивать пулю так, что она по кругу летит. Это тоже Нада учесть.

anonymous
()
Ответ на: комментарий от Harald

Не думаю. Там в формуле квадрат расстояния в знаменателе. Да и масса пули маленькая.

anonymous
()
Ответ на: комментарий от u0atgKIRznY5

Топег Сратель, ты куда пропал?

anonymous
()
Ответ на: комментарий от anonymous

С Киану Ривзом?

ага, ведь быдло знает только названия попсовых фильмов, а не разделы математики ;) .... я люблю фильм «Матрица» если что :)

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

ага, ведь быдло знает только названия попсовых фильмов

Чувак тупой как пробка. Со словарным запасом из трех слов. А ты ему про какие-то матрицы и рейтрейсинг.

Сотвествено, матрицы с Киану Ривзом, а рейтрейсинг - это какой-то гоночный симулятор из Racing Games.

anonymous
()

Нужно чтобы пуля летела

«Пуля летит сначала по стволу, потом по параболе, а потом по инерции» (Армейский юмор).

Теория ©. Ballistics software ©.

quickquest ★★★★★
()

Ты опять выходишь на связь? Это же школьный курс!

Наверное

Поставь корректную задачу для начала, штатные телепаты в отпуске.

ZERG ★★★★★
()

каждому лектору в жопу по вектору! а u0atgKIRznY5 — ортонормированный базис.

demidrol ★★★★★
()

Автор, предлагаю вести разработку открыто на github. Мне твои предыдущие программы понравились. Буря эмоций от прочтения исходников.

ox55ff ★★★★★
()

сразу видно что прицел на калаше с мушкой никогда не совмещал, там наглядно понятно как летит пуля. А поправку на ветер и прочее это уже старшина объясняет, заметь без высшего образования.

splinter ★★★★★
()
Ответ на: комментарий от Psych218

рассчёта

Расчёта, товарищ корректор.

//По сабжу уже всё сказали.

sudopacman ★★★★★
()

Я пойду против подвыпившей толпы, и напишу по теме.

Смотри, вот летит пуля? Что ее может отклонять? Гравитация, ускорение свободного падения мы знаем. Что еще? Ветер. Можно грубо упрощенно считать, что его скорость будет постоянна на время полета. Сопротивление воздуха будет как-то замедлять.

Нужен ли вектор? Можно и без него, можно рассматривать отдельно задачу в горизонтальной плоскости и отдельно в вертикали. И лишь на финальном этапе перенести вычисленный результат в 3D-пространство.

Нужно ли смотреть с чем столкнулась пуля? Можно используя raytracing-алгоритм (BSP и не только - для оптимизации).

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Что ее может отклонять?

Из-за трения об ствол пуля приобретает заряд и при движении отклоняется в магнитном поле Земли из-за силы Лоренца.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

может ТС из трамвата постреливает....

anonymous
()
Ответ на: комментарий от I-Love-Microsoft

и прецессия, если пуля вращается

Harald ★★★★★
()

Ну если TopDown Shooter делаешь, то угол игрока который стреляет тебе как бы известен.

class Bullet
{
public:
    vec2 position; // struct vec2 { double x,double y };
    double angle;
    double speed;

    void update()
    {
        float sn = sin(this->angle / 180 * M_PI);
        float cs = cos(this->angle / 180 * M_PI);
 
        float y = this->speed*sn;
        float x = -this->speed*cs;
 
        position.x += x; // Заставляем пулю лететь
        position.y += y;
    }
};

class Player
{
public:
...
    Bullet shoot()
    {
        Bullet b;
        b.position = this->position;
        b.angle = this->angle;
        b.speed = 10; // К примеру
        return b;
    }
};


linuhs_user
()

Миру-мир!!! Нет войне!!!

anonymous
()
Ответ на: комментарий от I-Love-Microsoft

Нужно каждый ход знать где следующая координата будет пули.
Вот например.
vector ( позиция назначения x - текущая позиция x, позиция назначения y - текущая позиция y ).
Но так если даже правильно, то оно дойдёт только до позиции назначения, а если код правильный, то как сделать, чтобы летела за край экрана?

u0atgKIRznY5
() автор топика
Ответ на: комментарий от XMs

выключи комп, возьми бумажку, ручку

Жесть какая-то.

anonymous
()

А у тебя пуля имеет вес, или она по прямой летит как лазер? А сопротивление воздуха учитывать (реальная пуля будет постепенно замедляться из-за трения об воздух)? А форма пули? А из нарезного ли оружия ей стреляли (есть ли закручивание вокруг оси)?

SZT ★★★★★
()
Последнее исправление: SZT (всего исправлений: 1)
Ответ на: комментарий от u0atgKIRznY5

И да почитай еще про интегрирование Верле, молекулярно-динамическое моделирование.

SZT ★★★★★
()
Последнее исправление: SZT (всего исправлений: 1)
Ответ на: комментарий от anonymous

В игровых условиях пулю можно моделировать вообще как луч света, который летит с малой скоростью (хотя можно и с мгновенной). https://habrahabr.ru/post/309384/ вот еще немного про физику оружия в многопользовательских играх

SZT ★★★★★
()
Последнее исправление: SZT (всего исправлений: 1)
Ответ на: комментарий от SZT

пуля летит без сопротивление ветра, без каких либо преград. И не замедляется. Да и вообще задача уже решена, но только решена с учётом позиции координат нажатой кнопки мыши, а нужно чтобы скорость одинаковая была.

u0atgKIRznY5
() автор топика

ах ты ж петросян. в каждом предложении по шутке

ckotinko ☆☆☆
()
Ответ на: комментарий от Deleted

Ну у него волшебные пули из компьютерных игр. Им можно и по прямой летать с бесконечной скоростью

SZT ★★★★★
()
Ответ на: комментарий от u0atgKIRznY5

с учётом позиции координат нажатой кнопки мыши

Что? Каких координат нажатой кнопки мыши?

а нужно чтобы скорость одинаковая была.

Одинаковая с чем?

SZT ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.