diff --git a/Classes/Vector.lua b/Classes/Vector.lua index 0970db1..7e8caae 100644 --- a/Classes/Vector.lua +++ b/Classes/Vector.lua @@ -68,6 +68,10 @@ function Vector:__div(other) return Vector(self.X / other.X, self.Y / other.Y, self.Z / other.Z) end +function Vector:__len() + return math.sqrt(self.X^2 + self.Y^2 + self.Z^2) +end + function Vector:__pow(other) return Vector(self.Y * other.Z - self.Z * other.Y, self.Z * other.X - self.X * other.Z, self.X * other.Y - self.Y * other.X) end diff --git a/Classes/Vector2D.lua b/Classes/Vector2D.lua index 3a66410..eed2f16 100644 --- a/Classes/Vector2D.lua +++ b/Classes/Vector2D.lua @@ -67,6 +67,10 @@ function Vector2D:__div(other) return Vector2D(self.X / other.X, self.Y / other.Y) end +function Vector2D:__len() + return math.sqrt(self.X^2 + self.Y^2) +end + function Vector2D:__unm() return Vector2D(-self.X, -self.Y) end @@ -77,4 +81,4 @@ end function Vector2D:__tostring() return "Vector2D(X = " .. self.X .. ", Y = " .. self.Y .. ")" -end \ No newline at end of file +end