vector
3D or 2D coordinate
Constructors
-- construct 2d vector
local vec_obj = vector(100, 100)
-- construct 3d vector
local vec_obj = vector(100, 100, 100)
-- construct null vector (0, 0, 0)
local vec_obj = vector()
-- construct vector from angles
local vec_obj = vector():angles(89, 45) -- pitch yaw
local vec_obj = vector():angles(qangle(89, 45))length
vec_obj:length() number
length_sqr
vec_obj:length_sqr() number
Squared length, much faster than :length(), prefer to use this if you want to compare lengths.
length_2d
vec_obj:length_2d() number
Calculates length without z coordinate. If vec_obj is screen coord, z is 0 by default, you can use :length()
length_2d_sqr
vec_obj:length_2d_sqr() number
Squared 2d length, much faster than :length_2d().
closest_ray_point
vec_obj:closest_ray_ponit(start: vector, end: vector) vector
Finds closest point on ray to vec_obj.
dist_to_ray
vec_obj:dist_to_ray(start: vector, end: vector) number
Calculates distance between this vector and infinite ray.
dot
vec_obj:dot(other: vector) number
Dot product of two vectors.
cross
vec_obj:cross(other: vector) number
Cross product of two vectors.
dist
vec_obj:dist(other: vector) number
Distance from this point to other.
lerp
vec_obj:lerp(other: vector, weight: number) vector
to_screen
vec_obj:to_screen() vector
Transforms 3D vector to screen coordinate
Last updated