Масштабирование вектора до нуля?

1

В программе у меня есть движущиеся объекты. Их скорости описываются вектором (x, y).
Итак, я хочу, чтобы объекты замедлялись - если они получают скорость, например, из-за столкновения, я масштабирую их в следующих кадрах (с коэффициентом 0,999), пока они не остановятся, потому что скорость настолько мала, что вы не можете видеть их движущимися (java получает до 1e-50 или sth, как это).

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

Теги:
math
vector
velocity
scale

1 ответ

1
Лучший ответ

Просто установите его равным нулю, как только он опустится ниже некоторого порога:

if (velocity.magnitude() < threshold) {
    velocity = new Vector(0, 0);
}

Это, однако, в конечном итоге произойдет само по себе из-за арифметической недостаточности.

  • 0
    да, но это было бы неправильно в теории. величина равна длине или? благодарю вас!
  • 0
    я приму это через 7 минут .. :)
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню