metavectors
A mintetest mod adding vectors that support opperators. (eg. v1 + v2)
To get the vectors use metavectors.metavector
or metavectors.require("api")
.
local metavector = metavectors.require("api")
local v1 = mvector.new(x,y,z)
local v2 = mvector.new(aVector)
local distance = v1-v2
benchmarks
To see the performance of metavectors compared to minetest's vector utils install the benchmark_engine mod. The benchmarks "metavectors:metavectors" and "metavectors:standardvectors" will then be added.
Nicely coded, but outdated
This is nifty from a code perspective, but it seems it's been overtaken by Minetest development. Testing the benchmarks on modern Minetest 5.7.0 with JIT shows this takes roughly twice as long as standard vectors (which include handy metatable functions now, too).
Standard results:
Metavector results: