У меня есть мячи, которые подпрыгивают, и каждый раз, когда они сталкиваются, их вектор скорости уменьшается на коэффициент восстановления.
Прямо сейчас мои шары CoR для моих шаров 0,80. Итак, после многих отскоков мои мячи «перестали» катиться, потому что их скорость стала до смешного малой.
На каком этапе уместно проверить, достаточно ли мало значение скорости, чтобы просто назвать его нулем (чтобы у меня не было сумасшедшего дрожания шариков, реагирующих на их микроскорости). Раньше я читал на некоторых форумах, что люди иногда используют константу эпсилон, какое-то небольшое число и проверяют его.
Должен ли я определить константу эпсилон и сделать что-то вроде:
if Math.abs(velocity.x) < epsilon then velocity.x = 0
Каждый раз, когда я обновляю скорость и положение шаров? Это то, что обычно делается? Было бы разумно разместить это в моих установщиках классов Vector для x и y? Или я должен делать это вне моего векторного класса, когда я вычисляю скорости.
Кроме того, что было бы разумным значением эпсилон, если бы я использовал поплавки для моего вектора скорости?