vec
Векторная математика: расстояние, длина, нормализация, углы. Чистая математика без обращения к движку или сущностям — векторы теми же тройками чисел, что и везде в модуле (p:origin() возвращает x, y, z,
а не таблицу, и vec.* принимает их так же).
vec.distance
Расстояние между двумя точками.Аргументы
Возвращает
Пример
p:origin() — не последний аргумент вызова, поэтому Lua обрежет его до
одного значения, если передать его напрямую вторым в списке аргументов:
разложи обе точки в переменные, как в примере выше.vec.length
Длина вектора.Аргументы
Возвращает
vec.normalize
Вектор единичной длины в том же направлении.Аргументы
Возвращает
Нулевой вектор нормализуется сам в себя — деления на ноль не будет.
vec.to_angle
Углы, которые смотрят вдоль вектора.Аргументы
Возвращает
Пример
vec.angle_vector
Единичный вектор направления взгляда для заданных углов.Аргументы
Возвращает
Пример
p:trace() использует для направления взгляда
игрока (MAKE_VECTORS), только без привязки к конкретному игроку — годится
для сущностей и вычисленных углов.