File lib/math.lua artifact 4d5bf7109c part of check-in cf762654b2
local fn = {} fn.vsep = function(vec) -- separate a vector into a direction + magnitude return vec:normalize(), vec:length() end fn.vdcomp = function(dist,v1,v2) -- compare the distance between two points -- (cheaper than calculating distance outright) local d if v2 then d = vector.subtract(v1,v2) else d = v1 end local dsq = (d.x ^ 2) + (d.y ^ 2) + (d.z ^ 2) return dsq / (dist^2) -- [0,1) == less then -- 1 == equal -- >1 == greater than end return fn