https://github.com/Hasnain123Raza/Lua-Vector2
Vector2 Class
https://github.com/Hasnain123Raza/Lua-Vector2
Last synced: 9 days ago
JSON representation
Vector2 Class
- Host: GitHub
- URL: https://github.com/Hasnain123Raza/Lua-Vector2
- Owner: Hasnain123Raza
- Created: 2020-03-12T01:54:36.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-03-12T15:14:31.000Z (over 5 years ago)
- Last Synced: 2023-08-01T00:26:01.748Z (over 2 years ago)
- Language: Lua
- Size: 7.81 KB
- Stars: 3
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-solar2d - Lua-Vector2 - a simple two dimensional vector mathematics class. (Utilities / Visual Studio Code)
README
# 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.