Vector2 описывает вектор в двухмерном пространстве, Vector2 поддерживает базовые арифметические операторы такие как: сумма, разность, умножение, деление и прочие. Он также имеет функции для часто используемых векторных операций, таких как получение векторного или скалярного произведения и другие не менее полезные функции.
Функция |
Описание |
new |
Конструктор вектора. |
Метод |
Описание |
unpack |
Возвращает компоненты вектора. |
table |
Возвращает таблицу с компонентами вектора. |
assign |
Присваивает вектору значения. |
zero |
Обнуляет вектор. |
normalize |
Нормализует текущий вектор. |
normalized |
Возвращает нормализованный вектор. |
cross |
Возвращает векторное произведение. |
dot |
Возвращает скалярное произведение. |
lerp |
Возвращает линейно интерполированный вектор. |
lengthSquared |
Возвращает длину вектора в квадрате. |
length |
Возвращает длину вектора. |
angleRadians |
Возвращает угол вектора в радианах. |
angleDegrees |
Возвращает угол вектора в градусах. |
distanceSquared |
Возвращает дистанцию в квадрате до другого вектора. |
distance |
Возвращает дистанцию до другого вектора. |
near |
Проверяет попадает ли другой вектор в определенный радиус текущего вектора. |
Оператор |
Описание |
+ |
Складывает вектор. |
- |
Вычитает вектор. |
* |
Умножает вектор. |
/ |
Делит вектор. |
^ |
Возводит вектор в степень. |
== , ~= , > , < , >= , <= |
Сравнивает два вектора. |
tostring |
Возвращает форматированную строку вида Vector2(x, y). |
Операции с вектором можно проводить как с другим вектором, так и с числом, в этом случае операция проводится с каждым компонентом вектора.
local vec = Vector2.new(15, 25)
-- Проверяет что x и y больше 10, в данном случае выражение правдивое.
if vec > 10 then
print("vec > 10")
end
-- По умолчанию значения равны 0.
local v = Vector2.new()
v:assign(5, 5) -- Присваиваем вектору значения.
vec:zero() -- Сбрасываем значения у первого вектора.
-- Проверяем что два вектора не равны, в данном случае выражение правдиво.
if v ~= vec then
local x, y = v:unpack() -- Распаковываем значения вектора.
vec.x = x -- Присваиваем первому вектору значение x из второго вектора.
print(vec) -- Напечатает Vector2(5, 0)
end
Vector3