Я видел множество двумерных обучающих программ и книг, в которых предыдущее положение объекта сохранялось в состоянии вместо вектора скорости. Затем скорость вычисляется для каждого кадра как разность между позициями.
Каковы преимущества этого метода?
Ответы:
Не зная точно учебных пособий или книг, которые вы прочитали, вот что я могу вам сказать.
Чтобы быть более точным с точки зрения определения физики: направление вектора вычисляется как разница между текущей позицией и последней позицией. Скорость вектора равна той, которая делится на время, прошедшее при переходе из одного положения в другое. Смотрите: http://www.physicsclassroom.com/class/1DKin/Lesson-1/Speed-and-Velocity
Однако, когда истекшее время считается общим «1 кадром», т.е. от последнего кадра до текущего, тогда скорость вектора и направление вектора становятся одинаковыми. В псевдокоде:
Таким образом, в общем, основная причина сохранения позиции в последнем кадре и получения позиции в текущем кадре заключается в том, что это может быть единственным или самым дешевым способом узнать обновленное направление (и, следовательно, обновленную скорость), т.е. направление движения в текущем кадре.
Предположим, что вы сохраняете направление (или даже скорость) в данном кадре. В следующем кадре единственный способ узнать, изменилось ли направление (или даже скорость), если вы вычислили его снова. Причина в том, что предыдущее направление или предыдущая скорость не позволяют узнать текущее направление или текущую скорость в случае, если движение изменилось с одного кадра на другой.
Теперь, принимая во внимание учебники, которые вы упомянули в комментарии к своему собственному вопросу, это становится еще понятнее. В одном из учебных пособий авторы говорят, что:
Итак, как вы можете видеть, сохранение позиции последнего кадра позволяет, как я уже говорил выше, обновлять расчет скорости в текущем кадре, когда объект (в учебнике это частица) меняет положение. Если вы сохранили только направление или скорость в последнем кадре, вы не сможете обновить его так же легко, если позиция изменилась с прошлого на текущий кадр. Поэтому, как указано в другом уроке, на который вы ссылаетесь, сохранение предыдущей позиции позволяет автоматически обновлять скорость при изменении позиций.
источник