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

Вместо того чтобы задавать пределы сжатия и растяжения, можно стабилизировать системы масс и пружин, применяя дополнительные силы, гасящие колебания. Эти силы предотвращают хаотичное движение частиц — колебания быстро затухают, и система замирает. Такое решение просто реализовать в программах, и оно не требует больших объемов дополнительных вычислений для использования, поэтому оно широко применяется. Дополнительное затухание вводится на уровне всей системы, то есть в классе cloth, а не spring. Причина этого - в разных типах систем масс и пружин используются разные виды затухания.

Сам класс spring не слишком сложен. Определение этого класса приведено в листинге 12.5.

В классе spring объявлены пять элементов данных. В первом из них хранится длина пружины в состоянии покоя, то есть не сжатой и не растянутой. В строках 5-6 листинга 12.5 определены элементы данных для хранения характеристик к и b пружин.

Кроме того, в классе spring объявлены указатели на материальные точки, к которым крепятся пружины. Обратите внимание — это указатели на тип point_mass_base. Это позволяет нам прикреплять пружины как к видимым, так и к невидимым материальным точкам. Проще говоря, указатели, объявленные в строках 8-9 листинга 12.5, могут указывать на объекты как класса point_mass, так и класса invisible_point_mass.

В строках 14-32 определены методы чтения и записи значений в элементы данных. Метод IsDisplaced() определяет, растянута пружина или сжата. Метод CalculateReactions () вычисляет силу, прикладываемую пружиной к материальным точкам, к которым она прикреплена. Код этих двух методов приведен в листинге 12.6.

Новости
Авторы Max Payne раскритиковали крупные игры
Глава по коммуникации студии Remedy Томас Пуха заявил, что в нынешних реалиях игрового рынка его команде пришлось реорганизовать производство.
Ubisoft выпустит эксклюзивную фигурку Father’s Calling
Компания Ubisoft сообщила, что коллекционная фигурка Father’s Calling, представляющая собой лидера организации «Врата Эдема» из Far Cry 5, поступит в продажу 22 марта 2018 года по цене 3999 рублей.