## Плоскостной вектор vec2(x, y) ### Операции над векторами ```lua function vector2:round(decimals: number) -> round[vec2] ``` Округление компонентов вектора ```lua function vector2:len() -> number ``` Длина вектора ```lua function vector2:norm() -> number ``` Нормализация вектора ```lua function vector2:abtw(vector: vec2) -> number ``` Угол между двумя векторами в радианах ```lua function vector2:proj(vector: vec2) -> vec2 ``` Проекция вектора ```lua function vector2:dot(vector: vec2) -> number ``` Векторное (внутреннее) произведение ```lua function vector2:lerp( --Целевой вектор b: vec2, --Интерполяционный коэффициент (от 0 до 1) t: number ) -> vec2 ``` Линейная интерполяция вектора ```lua function vector2:dist(vector: vec2) -> number ``` Дистанция между двумя векторами ```lua function vector2:cross(vector: vec2) -> number ``` Векторное (внешнее) произведение ```lua function vector2:rot( --Угол поворота вектора на заданный угол (в радианах) angle: number->rad, --Вращение вектора относительно осей ("x", "y", "z") axis: str, --Если истина, то угол поворота певеодится автоматический из градусы в радианы convert2deg: bool ) -> vec2 ``` Поворот вектора ### Операции с векторами ```lua local vec2 = require("res:vector2") local v1 = vec2(5, 10) local v2 = vec2(10, 15) -- vec2 .. vec2 sum_vectors = v1 + v2 -- (15, 25) sub_vectors = v1 - v2 -- (-5, -5) mul_vectors = v1 * v2 -- (50, 150) div_vectors = v1 / v2 -- (0.5, 0.66667.) pow_vectors = v1 ^ v2 -- (9765625, 1e+15) --vec2 .. scalar sum_vec2_scalar = v1 + 10 -- (15, 25) sub_vec2_scalar = v1 - 12 -- (-7, -2) mul_vec2_scalar = v1 * 20 -- (100, 200) div_vec2_scalar = v1 / 1 -- (5, 10) pow_vec2_scalar= v1 ^ 2 -- (25, 100) ```