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

Неплохой конструктор, правда? Он начинается с сохранения коэффициента линейного затухания в строке 16. Вспомните - ранее в этой главе я говорил, что ткань можно сделать более устойчивой, если ввести в нее дополнительное затухание. Именно для этого и предназначен коэффициент линейного затухания.

Далее конструктор выделяет массив указателей на объекты класса point_mass. Если массив выделить не удается, конструктор генерирует исключение в строках 22-28. В противном случае конструктор создает материальные точки для каждой строки по очереди. Если строку не удается выделить, генерируется исключение (42-49).

Предупреждение

Конструктор должен был бы удалять массив указателей, выделенный в строке 20, если в строке 48 генерируется исключение. Если массив не удалить, может возникнуть утечка памяти. В данной версии конструктора массив не удаляется, поскольку вероятность нехватки памяти в примере невелика, а конструктор и так весьма объемен.

В строках 53-56 конструктор вычисляет общее количество пружин, которое необходимо для создания сетки. Это количество используется при выделении массива пружин в строке 59. Опять-таки конструктор сгенерирует исключение в строке 67, если не удается выделить память под массив.

Далее конструктор выделяет массив указателей на квадраты. Если массив успешно выделен, конструктор выделяет строки квадратов в строках (строки 85-98 листинга 12.8).

Начиная со строки 104, конструктор инициализирует характеристики каждой материальной точки, пружины и квадрата ткани. В строках 104-120 с помощью пары вложенных циклов for задаются общие свойства всех материальных точек. Кроме того, эти циклы задают позиции точек в сетке. Конструктор использует очень простой подход к инициализации позиций материальных точек. Он предполагает, что ткань висит вертикально. Если ткань должна занимать какое-то другое положение, координаты точек придется задавать после вызова конструктора.

Новости
Антивирусы и облачные сервисы портят сохранения Dark Souls Remastered
Вчера комьюнити-менеджер Bandai Namco под ником Izmar подтвердил проблему в Steam, посоветовав ограничить доступ антивирусов и других программ вроде облачных сервисов Google и Amazon к файлам ремастера Dark Souls.
Facebook анонсировала новую игровую платформу с интерактивными видео
«Facebook анонсировала несколько новых функций видеотрансляций, которые позволят пользователям сделать свои прямые трансляции похожими на игры с опросами и викторинами», — отмечает The Verge.