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

Ускорить работу этого алгоритма можно несколькими способами. Можно, например, использовать быстрые способы приближенного вычисления квадратных корней. Но внимательные читатели, вероятно, предложат еще лучший способ: вообще не вычислять квадратный корень!

Если у нас есть два положительных числа х и у, то, если х больше у, то и х2 будет больше у2, правда? Так почему бы нам ни сравнивать квадрат расстояния с квадратом суммы радиусов вместо расстояния с суммой радиусов?

Вот код, в котором реализована эта идея:

В новом варианте алгоритма есть дополнительная операция умножения чисел с плавающей запятой - она нужна для возведения суммы радиусов в квадрат. Однако эта операция выполняется молниеносно по сравнению с вычислением квадратного корня.

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

Новости
«Мясной» экшен Redeemer: Enhanced Edition задержится до осени
Издательство «Бука» и студия Sobaka объявили о том, что кровавый экшен Redeemer: Enhanced Edition, ранее запланированный к выходу в августе, был отложен на осень.
Steam-версия Orwell бесплатна до завтра
Игру можно забрать в течение суток, получив ключ для активации в Steam.