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

есть координаты центров шаров, представленные в виде векторов, то расстояние между ними можно найти, вычтя один вектор из другого. Это демонстрирует рисунок 8.5.

Вычтя вектор рг из вектора р2 с рисунка 8.5, мы получим вектор расстояния между двумя центрами масс. Теперь программе осталось только найти длину вектора расстояния и сравнить ее с суммой радиусов ограничивающих сфер. Если эта длина меньше суммы радиусов, значит, произошло столкновение. Если нет, столкновения нет.

Если описанные выше действия не совсем понятны, посмотрите на следующий фрагмент кода. Он использует два объекта класса d3d_po-int_mass — balll и ball2 - и вычисляет расстояние между ними как длину вектора расстояния. После этого он сравнивает найденное расстояние и сумму радиусов.

Этот алгоритм прекрасно работает, но у него есть очень существенный недостаток: он очень медленный! Вспомните - нужно проверять, произошло ли столкновение между каждой парой частиц в сцене. И при каждой проверке нужно вычислять квадратный корень. Это очень медленная операция - она выполняется почти в 70 раз дольше, чем операция умножения двух чисел с плавающей запятой. Вспомните код метода vec-tor_3d: : Norm (), вычисляющего норму вектора:

Новости
Вышел новый тизер Project Melies от разработчиков Layers of Fear
Bloober Team и Gun Media представили новый тизер хоррора Project Melies, посвящённого немому кино.
В популярной игре спрятали кошелек с деньгами
Как написал Криси в своем блоге на Hackernoon, пароль от кошелька был разделен на две части и спрятан на две разные планеты виртуальной вселенной No Man’s Sky.