Хонич А.
Как самому создать трехмерную игру
стр. 169

Функция MatchDistanceOfVectors.

Дистанцию вычисляет функция MatchDistanceOfVectors, в которую передан *гся два указателя на вектора:

Форму ла, о которой сейчас пойдет речь, достаточно эффективна, но тем не менее без первой проверки (смотрите выше) ее использовать нельзя.

Если вектора параллельны, то функция MatchDistancw ifVfectors возвращает 0.

В ряде случаев, если вектора не пересекаются, то формула возвращает отрицательное значение. Формула выглядит так:

Здесь vl и v2 - это соответственно первый и второй вектора. Значения dx и dy в данных векторах определяют разницу координат соответственно по X и Y:

где V. х 1 - конечная координата вектора по X.

Если вектора параллельны, то знаменатель формулы будет равен нулю. Поэтому, дабы не возникла ошибка деления на ноль, знаменатель вычисляется сначала, и в случае его равенства нулю возвращается 0.

Реализация данной формулы на языке С выглядит так.


Новости
Авторы проекта «1917» выпустили онлайн-игру об истории СССР
Разработчики рассказали о том, что пользователи их игры смогут принять участие в главных исторических событиях советского периода.
В God of War не будет сезонного пропуска
Креативный директор студии SIE Santa Monica Studio Кори Барлог заявил, что в новой части God of War не будет сезонного пропуска.