Конгер Д.
Физика для разработчиков компьютерных игр
стр. 292

Метод rigid_body: -.Update () в листинге 11.2 начинается с объявления переменной sumForces. Поскольку класс rigid body теперь отдельно обрабатывает импульсные силы и постоянно действующие, метод Update () должен их суммировать, чтобы найти общую силу, действующую на твердое тело. Это делается, когда моделируются линейные силы, действующие на твердое тело.

Когда метод Update () просчитывает вращательную динамику, он не учитывает постоянно действующие силы. Как я уже говорил, это потому, что он не учитывает возможности существования внеосевых постоянно действующих сил. Пока класс подразумевает, что все постоянно действующие силы приложены к центру массы.

В строке 42 листинга 11.2 начинается вычисление вращающего момента тела по импульсным силам. До того, как выполнение метода закончится, эти силы будут уменьшены до 0 в строках 102-104. Раньше это делала функция UpdateFrame (), не являющаяся методом класса ri-gid_body. Но работать с силами в методе Update () проще и этот подход выглядит аккуратнее с точки зрения структуры программы.

Еще одна функция, в которую нужно внести изменения, - это метод collision: :CalculateReactions (). Вспомните, в главе 10 этот метод просчитывал силы, возникающие в результате столкновения. Безусловно, эти силы являются импульсными. Теперь, поскольку класс rigid_body обрабатывает импульсные силы отдельно от постоянно действующих, нужно, чтобы метод CalculateReactions () учитывал только импульсные силы. В листинге 11.3 приведен код новой версии метода CalculateReactions ().

Новости
Геймеры собирают деньги на помощь русским сиротам
Сервис Humble Store и компания Tripwire Interactive поддержат организацию Change30. Британцы предоставляют помощь русским сиротам.
Слух: На E3 2018 покажут Cyberpunk 2077
Крупное польское видеоигровое издание GRYOnline сообщило о том, что, согласно их собственным источникам в компании, CD Projekt Red готовит к E3 2018 новый трейлер Cyberpunk 2077.