Update vector2.lua

This commit is contained in:
Cogitary 2024-03-17 23:50:36 +03:00 committed by GitHub
parent 219b440204
commit 420ce2bc15
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -163,6 +163,21 @@ function vector2:dist(vector)
return result:len()
end
-- cross product for vec2 (in 3D space)
-- @param {vec2} v - The other vec2
-- @return {number} -> float || integer
-- @usage
-- local v1 = vec2(10, 15)
-- local v2 = vec2(15, 10)
-- print(v1:cross(v2)) -- Output: -125
function vector2:cross(v)
if type(v) == "number" then
print("\n(( TypeError : cross ))\nType arg cross(vec2)")
error("Invalid input argument. Expected a vec2 object.\n")
end
return self.x * v.y - self.y * v.x
end
-- rotate vec2
-- @param angle {number}
-- @param axis {string} - axis rotate around (x, y, or z)
@ -217,6 +232,28 @@ function vector2.__add(value_1, value_2)
end
-- sub vec
function vector2.__sub(value_1, value_2)
if type(value_1) == "number" then
if value_1 == 0 then
return vector2:new(value_2.x, value_2.y)
else
return vector2:new(value_2.x - value_1, value_2.y - value_1)
end
else
if type(value_2) == "number" then
if value_2 == 0 then
return vector2:new(value_1.x, value_1.y)
else
return vector2:new(value_1.x - value_2, value_1.y - value_2)
end
else
return vector2:new(value_1.x - value_2.x, value_1.y - value_2.y)
end
end
end
-- mul vec
function vector2.__mul(value_1, value_2)