Skip to content

Latest commit

 

History

History
63 lines (46 loc) · 1.27 KB

README.md

File metadata and controls

63 lines (46 loc) · 1.27 KB

Lua-Vector2

MADE BY HASNAIN RAZA

Vector2 is a simple two dimensional vector mathematics class.

DEMO (all features)

local a, b, c = Vector2.new(1, 1), Vector2.new(2, 2), Vector2.new(3, 3)

print(a + b)
print(a:addVectors(b))
print(Vector2.addVectors(a, b))

print(a - b)
print(a:subtractVectors(b))
print(Vector2.subtractVectors(a, b))
	
print(a * b)
print(a:multiplyVectors(b))
print(Vector2.multiplyVectors(a, b))
	
print(a / b)
print(a:divideVectors(b))
print(Vector2.divideVectors(a, b))

print(-c)

print(a + 1)
print(a:addScalar(1))
print(Vector2.addScalar(a, b))

print(a - 1)
print(a:subtractScalar(1))
print(Vector2.subtractScalar(a, b))

print(a * 1)
print(a:multiplyScalar(1))
print(Vector2.multiplyScalar(a, b))

print(a / 1)
print(a:multiplyScalar(1))
print(Vector2.multiplyScalar(a, b))

print(c.magnitude)
print(c:getMagnitude())
print(Vector2.getMagnitude(c))

print(c.unit)
print(c:getUnitVector())
print(Vector2.getUnitVector(c))

print(a == b)
print(a:equals(b, 0.01))
print(Vector2.equals(a, b, 0.01))

print(
	c:mapVector(function(x, y)
		return (x + y), (x - y)
	end)
)

It is recommended that you rely on arithmetic operators rather than calling functions
because error handling is done primarily on the operators.